blob: e39686656022e3372522913b8d92a1ba7b15ce5b [file] [log] [blame]
/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM e:/builds/tinderbox/XR-Trunk/WINNT_5.2_Depend/mozilla/netwerk/cookie/public/nsICookieManager2.idl
*/
#ifndef __gen_nsICookieManager2_h__
#define __gen_nsICookieManager2_h__
#ifndef __gen_nsICookieManager_h__
#include "nsICookieManager.h"
#endif
/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsICookie2; /* forward declaration */
class nsIFile; /* forward declaration */
/* starting interface: nsICookieManager2 */
#define NS_ICOOKIEMANAGER2_IID_STR "5047cab4-9cb2-4927-a4ab-77422bc3bc67"
#define NS_ICOOKIEMANAGER2_IID \
{0x5047cab4, 0x9cb2, 0x4927, \
{ 0xa4, 0xab, 0x77, 0x42, 0x2b, 0xc3, 0xbc, 0x67 }}
/**
* Additions to the frozen nsICookieManager
*/
class NS_NO_VTABLE NS_SCRIPTABLE nsICookieManager2 : public nsICookieManager {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICOOKIEMANAGER2_IID)
/**
* Add a cookie. nsICookieService is the normal way to do this. This
* method is something of a backdoor.
*
* @param aDomain
* the host or domain for which the cookie is set. presence of a
* leading dot indicates a domain cookie; otherwise, the cookie
* is treated as a non-domain cookie. see RFC2109.
* @param aPath
* path within the domain for which the cookie is valid
* @param aName
* cookie name
* @param aValue
* cookie data
* @param aIsSecure
* true if the cookie should only be sent over a secure connection.
* @param aIsHttpOnly
* true if the cookie should only be sent to, and can only be
* modified by, an http connection.
* @param aIsSession
* true if the cookie should exist for the current session only.
* see aExpiry.
* @param aExpiry
* expiration date, in seconds since midnight (00:00:00), January 1,
* 1970 UTC. note that expiry time will also be honored for session cookies;
* in this way, the more restrictive of the two will take effect.
*/
/* void add (in AUTF8String aDomain, in AUTF8String aPath, in ACString aName, in ACString aValue, in boolean aIsSecure, in boolean aIsHttpOnly, in boolean aIsSession, in PRInt64 aExpiry); */
NS_SCRIPTABLE NS_IMETHOD Add(const nsACString & aDomain, const nsACString & aPath, const nsACString & aName, const nsACString & aValue, PRBool aIsSecure, PRBool aIsHttpOnly, PRBool aIsSession, PRInt64 aExpiry) = 0;
/**
* Find whether a given cookie already exists.
*
* @param aCookie
* the cookie to look for
*
* @return true if a cookie was found which matches the host, path, and name
* fields of aCookie
*/
/* boolean cookieExists (in nsICookie2 aCookie); */
NS_SCRIPTABLE NS_IMETHOD CookieExists(nsICookie2 *aCookie, PRBool *_retval) = 0;
/**
* Count how many cookies would be returned to a given host, ignoring the
* cookie flags isDomain, isSecure, and isHttpOnly. Thus, for a host
* "weather.yahoo.com", host or domain cookies for "weather.yahoo.com" and
* "yahoo.com" would be counted, while a cookie for "my.weather.yahoo.com"
* would not.
*
* @param aHost
* the host string to look for, e.g. "google.com". this should consist
* of only the host portion of a URI, and should not contain a leading
* dot, a port, etc.
*
* @return the number of cookies found.
*/
/* unsigned long countCookiesFromHost (in ACString aHost); */
NS_SCRIPTABLE NS_IMETHOD CountCookiesFromHost(const nsACString & aHost, PRUint32 *_retval) = 0;
/**
* Import an old-style cookie file. Imported cookies will be added to the
* existing database. If the database contains any cookies the same as those
* being imported (i.e. domain, name, and path match), they will be replaced.
*
* @param aCookieFile the file to import, usually cookies.txt
*/
/* void importCookies (in nsIFile aCookieFile); */
NS_SCRIPTABLE NS_IMETHOD ImportCookies(nsIFile *aCookieFile) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsICookieManager2, NS_ICOOKIEMANAGER2_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSICOOKIEMANAGER2 \
NS_SCRIPTABLE NS_IMETHOD Add(const nsACString & aDomain, const nsACString & aPath, const nsACString & aName, const nsACString & aValue, PRBool aIsSecure, PRBool aIsHttpOnly, PRBool aIsSession, PRInt64 aExpiry); \
NS_SCRIPTABLE NS_IMETHOD CookieExists(nsICookie2 *aCookie, PRBool *_retval); \
NS_SCRIPTABLE NS_IMETHOD CountCookiesFromHost(const nsACString & aHost, PRUint32 *_retval); \
NS_SCRIPTABLE NS_IMETHOD ImportCookies(nsIFile *aCookieFile);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSICOOKIEMANAGER2(_to) \
NS_SCRIPTABLE NS_IMETHOD Add(const nsACString & aDomain, const nsACString & aPath, const nsACString & aName, const nsACString & aValue, PRBool aIsSecure, PRBool aIsHttpOnly, PRBool aIsSession, PRInt64 aExpiry) { return _to Add(aDomain, aPath, aName, aValue, aIsSecure, aIsHttpOnly, aIsSession, aExpiry); } \
NS_SCRIPTABLE NS_IMETHOD CookieExists(nsICookie2 *aCookie, PRBool *_retval) { return _to CookieExists(aCookie, _retval); } \
NS_SCRIPTABLE NS_IMETHOD CountCookiesFromHost(const nsACString & aHost, PRUint32 *_retval) { return _to CountCookiesFromHost(aHost, _retval); } \
NS_SCRIPTABLE NS_IMETHOD ImportCookies(nsIFile *aCookieFile) { return _to ImportCookies(aCookieFile); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSICOOKIEMANAGER2(_to) \
NS_SCRIPTABLE NS_IMETHOD Add(const nsACString & aDomain, const nsACString & aPath, const nsACString & aName, const nsACString & aValue, PRBool aIsSecure, PRBool aIsHttpOnly, PRBool aIsSession, PRInt64 aExpiry) { return !_to ? NS_ERROR_NULL_POINTER : _to->Add(aDomain, aPath, aName, aValue, aIsSecure, aIsHttpOnly, aIsSession, aExpiry); } \
NS_SCRIPTABLE NS_IMETHOD CookieExists(nsICookie2 *aCookie, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CookieExists(aCookie, _retval); } \
NS_SCRIPTABLE NS_IMETHOD CountCookiesFromHost(const nsACString & aHost, PRUint32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CountCookiesFromHost(aHost, _retval); } \
NS_SCRIPTABLE NS_IMETHOD ImportCookies(nsIFile *aCookieFile) { return !_to ? NS_ERROR_NULL_POINTER : _to->ImportCookies(aCookieFile); }
#if 0
/* Use the code below as a template for the implementation class for this interface. */
/* Header file */
class nsCookieManager2 : public nsICookieManager2
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSICOOKIEMANAGER2
nsCookieManager2();
private:
~nsCookieManager2();
protected:
/* additional members */
};
/* Implementation file */
NS_IMPL_ISUPPORTS1(nsCookieManager2, nsICookieManager2)
nsCookieManager2::nsCookieManager2()
{
/* member initializers and constructor code */
}
nsCookieManager2::~nsCookieManager2()
{
/* destructor code */
}
/* void add (in AUTF8String aDomain, in AUTF8String aPath, in ACString aName, in ACString aValue, in boolean aIsSecure, in boolean aIsHttpOnly, in boolean aIsSession, in PRInt64 aExpiry); */
NS_IMETHODIMP nsCookieManager2::Add(const nsACString & aDomain, const nsACString & aPath, const nsACString & aName, const nsACString & aValue, PRBool aIsSecure, PRBool aIsHttpOnly, PRBool aIsSession, PRInt64 aExpiry)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* boolean cookieExists (in nsICookie2 aCookie); */
NS_IMETHODIMP nsCookieManager2::CookieExists(nsICookie2 *aCookie, PRBool *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* unsigned long countCookiesFromHost (in ACString aHost); */
NS_IMETHODIMP nsCookieManager2::CountCookiesFromHost(const nsACString & aHost, PRUint32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void importCookies (in nsIFile aCookieFile); */
NS_IMETHODIMP nsCookieManager2::ImportCookies(nsIFile *aCookieFile)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* End of implementation class template. */
#endif
#endif /* __gen_nsICookieManager2_h__ */