/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsICookieViewer.idl
 */

#ifndef __gen_nsICookieViewer_h__
#define __gen_nsICookieViewer_h__

#include "nsISupports.h"
#include "domstubs.h"

#include "nsIDOMWindowInternal.h"

/* starting interface:    nsICookieViewer */
#define NS_ICOOKIEVIEWER_IID_STR "bbb67df0-214b-11d3-abaa-0080c787ad96"

#define NS_ICOOKIEVIEWER_IID \
  {0xbbb67df0, 0x214b, 0x11d3, \
    { 0xab, 0xaa, 0x00, 0x80, 0xc7, 0x87, 0xad, 0x96 }}

class NS_NO_VTABLE nsICookieViewer : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_ICOOKIEVIEWER_IID)

  /* void SetValue (in string aValue, in nsIDOMWindowInternal win); */
  NS_IMETHOD SetValue(const char *aValue, nsIDOMWindowInternal *win) = 0;

  /* void BlockImage (in string imageURL); */
  NS_IMETHOD BlockImage(const char *imageURL) = 0;

  /* void AddPermission (in nsIDOMWindowInternal win, in PRBool permission, in PRInt32 type); */
  NS_IMETHOD AddPermission(nsIDOMWindowInternal *win, PRBool permission, PRInt32 type) = 0;

  /* string GetCookieValue (); */
  NS_IMETHOD GetCookieValue(char **_retval) = 0;

  /* string GetPermissionValue (in PRInt32 type); */
  NS_IMETHOD GetPermissionValue(PRInt32 type, char **_retval) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSICOOKIEVIEWER \
  NS_IMETHOD SetValue(const char *aValue, nsIDOMWindowInternal *win); \
  NS_IMETHOD BlockImage(const char *imageURL); \
  NS_IMETHOD AddPermission(nsIDOMWindowInternal *win, PRBool permission, PRInt32 type); \
  NS_IMETHOD GetCookieValue(char **_retval); \
  NS_IMETHOD GetPermissionValue(PRInt32 type, char **_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSICOOKIEVIEWER(_to) \
  NS_IMETHOD SetValue(const char *aValue, nsIDOMWindowInternal *win) { return _to ## SetValue(aValue, win); } \
  NS_IMETHOD BlockImage(const char *imageURL) { return _to ## BlockImage(imageURL); } \
  NS_IMETHOD AddPermission(nsIDOMWindowInternal *win, PRBool permission, PRInt32 type) { return _to ## AddPermission(win, permission, type); } \
  NS_IMETHOD GetCookieValue(char **_retval) { return _to ## GetCookieValue(_retval); } \
  NS_IMETHOD GetPermissionValue(PRInt32 type, char **_retval) { return _to ## GetPermissionValue(type, _retval); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsCookieViewer : public nsICookieViewer
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSICOOKIEVIEWER

  nsCookieViewer();
  virtual ~nsCookieViewer();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsCookieViewer, nsICookieViewer)

nsCookieViewer::nsCookieViewer()
{
  NS_INIT_ISUPPORTS();
  /* member initializers and constructor code */
}

nsCookieViewer::~nsCookieViewer()
{
  /* destructor code */
}

/* void SetValue (in string aValue, in nsIDOMWindowInternal win); */
NS_IMETHODIMP nsCookieViewer::SetValue(const char *aValue, nsIDOMWindowInternal *win)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void BlockImage (in string imageURL); */
NS_IMETHODIMP nsCookieViewer::BlockImage(const char *imageURL)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void AddPermission (in nsIDOMWindowInternal win, in PRBool permission, in PRInt32 type); */
NS_IMETHODIMP nsCookieViewer::AddPermission(nsIDOMWindowInternal *win, PRBool permission, PRInt32 type)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* string GetCookieValue (); */
NS_IMETHODIMP nsCookieViewer::GetCookieValue(char **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* string GetPermissionValue (in PRInt32 type); */
NS_IMETHODIMP nsCookieViewer::GetPermissionValue(PRInt32 type, char **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif

// {BBB67DF0-214B-11d3-ABAA-0080C787AD96}
#define NS_COOKIEVIEWER_CID \
{ 0xbbb67df0, 0x214b, 0x11d3, { 0xab, 0xaa, 0x0, 0x80, 0xc7, 0x87, 0xad, 0x96 } }

#endif /* __gen_nsICookieViewer_h__ */
