/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /builds/tinderbox/XR-Trunk/Darwin_8.8.4_Depend/mozilla/uriloader/exthandler/nsIInternetConfigService.idl
 */

#ifndef __gen_nsIInternetConfigService_h__
#define __gen_nsIInternetConfigService_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIMIMEInfo; /* forward declaration */

class nsIURL; /* forward declaration */

#include <Files.h>
#define NS_INTERNETCONFIGSERVICE_CONTRACTID \
"@mozilla.org/mac/internet-config-service;1"

/* starting interface:    nsIInternetConfigService */
#define NS_IINTERNETCONFIGSERVICE_IID_STR "9b8b9d80-5f4f-11d4-9696-0060083a0bcf"

#define NS_IINTERNETCONFIGSERVICE_IID \
  {0x9b8b9d80, 0x5f4f, 0x11d4, \
    { 0x96, 0x96, 0x00, 0x60, 0x08, 0x3a, 0x0b, 0xcf }}

class NS_NO_VTABLE NS_SCRIPTABLE nsIInternetConfigService : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IINTERNETCONFIGSERVICE_IID)

  enum { eICColor_WebBackgroundColour = 1U };

  enum { eICColor_WebReadColor = 2U };

  enum { eICColor_WebTextColor = 3U };

  enum { eICColor_WebUnreadColor = 4U };

  enum { eICBoolean_WebUnderlineLinks = 11U };

  enum { eICString_WWWHomePage = 101U };

  enum { eICString_WebSearchPagePrefs = 102U };

  enum { eICString_MacSearchHost = 103U };

  enum { eICString_FTPHost = 121U };

  enum { eICBoolean_UsePassiveFTP = 122U };

  enum { eICBoolean_UseFTPProxy = 123U };

  enum { eICString_FTPProxyUser = 124U };

  enum { eICString_FTPProxyAccount = 125U };

  enum { eICString_FTPProxyHost = 126U };

  enum { eICString_FTPProxyPassword = 127U };

  enum { eICBoolean_UseHTTPProxy = 130U };

  enum { eICString_HTTPProxyHost = 131U };

  enum { eICString_LDAPSearchbase = 201U };

  enum { eICString_LDAPServer = 202U };

  enum { eICString_SMTPHost = 221U };

  enum { eICString_Email = 222U };

  enum { eICString_MailAccount = 223U };

  enum { eICString_MailPassword = 224U };

  enum { eICText_MailHeaders = 225U };

  enum { eICText_Signature = 226U };

  enum { eICBoolean_NewMailDialog = 231U };

  enum { eICBoolean_NewMailFlashIcon = 232U };

  enum { eICBoolean_NewMailPlaySound = 233U };

  enum { eICString_NewMailSoundName = 234U };

  enum { eICString_NNTPHost = 241U };

  enum { eICString_NewsAuthUsername = 242U };

  enum { eICString_NewsAuthPassword = 243U };

  enum { eICText_NewsHeaders = 244U };

  enum { eICString_InfoMacPreferred = 245U };

  enum { eICString_Organization = 251U };

  enum { eICString_RealName = 252U };

  enum { eICText_SnailMailAddress = 253U };

  enum { eICString_QuotingString = 254U };

  enum { eICString_GopherHost = 301U };

  enum { eICBoolean_UseGopherProxy = 302U };

  enum { eICString_GopherProxy = 303U };

  enum { eICBoolean_UseSocks = 321U };

  enum { eICString_SocksHost = 322U };

  enum { eICString_TelnetHost = 331U };

  enum { eICString_IRCHost = 341U };

  enum { eICString_NTPHost = 351U };

  enum { eICString_WAISGateway = 381U };

  enum { eICString_FingerHost = 382U };

  enum { eICText_Plan = 383U };

  enum { eICString_WhoisHost = 384U };

  enum { eICString_PhHost = 385U };

  enum { eICString_ArchiePreferred = 386U };

  enum { eICString_UMichPreferred = 391U };

  enum { eIICMapFlag_BinaryMask = 1U };

  enum { eIICMapFlag_ResourceForkMask = 2U };

  enum { eIICMapFlag_DataForkMask = 4U };

  enum { eIICMapFlag_PostMask = 8U };

  enum { eIICMapFlag_NotIncomingMask = 16U };

  enum { eIICMapFlag_NotOutgoingMask = 32U };

  /* void launchURL (in string url); */
  NS_SCRIPTABLE NS_IMETHOD LaunchURL(const char *url) = 0;

  /* boolean hasMappingForMIMEType (in string mimetype); */
  NS_SCRIPTABLE NS_IMETHOD HasMappingForMIMEType(const char *mimetype, PRBool *_retval) = 0;

  /* boolean hasProtocolHandler (in string protocol); */
  NS_SCRIPTABLE NS_IMETHOD HasProtocolHandler(const char *protocol, PRBool *_retval) = 0;

  /* void fillInMIMEInfo (in string mimetype, in string aFileExtension, out nsIMIMEInfo mimeinfo); */
  NS_SCRIPTABLE NS_IMETHOD FillInMIMEInfo(const char *mimetype, const char *aFileExtension, nsIMIMEInfo **mimeinfo) = 0;

  /* void getMIMEInfoFromExtension (in string aFileExt, out nsIMIMEInfo mimeinfo); */
  NS_SCRIPTABLE NS_IMETHOD GetMIMEInfoFromExtension(const char *aFileExt, nsIMIMEInfo **mimeinfo) = 0;

  /* void getMIMEInfoFromTypeCreator (in PRUint32 aType, in PRUint32 aCreator, in string aFileExt, out nsIMIMEInfo mimeInfo); */
  NS_SCRIPTABLE NS_IMETHOD GetMIMEInfoFromTypeCreator(PRUint32 aType, PRUint32 aCreator, const char *aFileExt, nsIMIMEInfo **mimeInfo) = 0;

  /* [noscript] long getFileMappingFlags (in FSSpecPtr fsspec, in boolean lookupByExtensionFirst); */
  NS_IMETHOD GetFileMappingFlags(FSSpec * fsspec, PRBool lookupByExtensionFirst, PRInt32 *_retval) = 0;

  /* [noscript] void getDownloadFolder (out FSSpec fsspec); */
  NS_IMETHOD GetDownloadFolder(FSSpec *fsspec) = 0;

  /* ACString getString (in unsigned long keyenum); */
  NS_SCRIPTABLE NS_IMETHOD GetString(PRUint32 keyenum, nsACString & _retval) = 0;

  /* unsigned long getColor (in unsigned long keyenum); */
  NS_SCRIPTABLE NS_IMETHOD GetColor(PRUint32 keyenum, PRUint32 *_retval) = 0;

  /* boolean getBoolean (in unsigned long keyenum); */
  NS_SCRIPTABLE NS_IMETHOD GetBoolean(PRUint32 keyenum, PRBool *_retval) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIInternetConfigService, NS_IINTERNETCONFIGSERVICE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIINTERNETCONFIGSERVICE \
  NS_SCRIPTABLE NS_IMETHOD LaunchURL(const char *url); \
  NS_SCRIPTABLE NS_IMETHOD HasMappingForMIMEType(const char *mimetype, PRBool *_retval); \
  NS_SCRIPTABLE NS_IMETHOD HasProtocolHandler(const char *protocol, PRBool *_retval); \
  NS_SCRIPTABLE NS_IMETHOD FillInMIMEInfo(const char *mimetype, const char *aFileExtension, nsIMIMEInfo **mimeinfo); \
  NS_SCRIPTABLE NS_IMETHOD GetMIMEInfoFromExtension(const char *aFileExt, nsIMIMEInfo **mimeinfo); \
  NS_SCRIPTABLE NS_IMETHOD GetMIMEInfoFromTypeCreator(PRUint32 aType, PRUint32 aCreator, const char *aFileExt, nsIMIMEInfo **mimeInfo); \
  NS_IMETHOD GetFileMappingFlags(FSSpec * fsspec, PRBool lookupByExtensionFirst, PRInt32 *_retval); \
  NS_IMETHOD GetDownloadFolder(FSSpec *fsspec); \
  NS_SCRIPTABLE NS_IMETHOD GetString(PRUint32 keyenum, nsACString & _retval); \
  NS_SCRIPTABLE NS_IMETHOD GetColor(PRUint32 keyenum, PRUint32 *_retval); \
  NS_SCRIPTABLE NS_IMETHOD GetBoolean(PRUint32 keyenum, PRBool *_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIINTERNETCONFIGSERVICE(_to) \
  NS_SCRIPTABLE NS_IMETHOD LaunchURL(const char *url) { return _to LaunchURL(url); } \
  NS_SCRIPTABLE NS_IMETHOD HasMappingForMIMEType(const char *mimetype, PRBool *_retval) { return _to HasMappingForMIMEType(mimetype, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD HasProtocolHandler(const char *protocol, PRBool *_retval) { return _to HasProtocolHandler(protocol, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD FillInMIMEInfo(const char *mimetype, const char *aFileExtension, nsIMIMEInfo **mimeinfo) { return _to FillInMIMEInfo(mimetype, aFileExtension, mimeinfo); } \
  NS_SCRIPTABLE NS_IMETHOD GetMIMEInfoFromExtension(const char *aFileExt, nsIMIMEInfo **mimeinfo) { return _to GetMIMEInfoFromExtension(aFileExt, mimeinfo); } \
  NS_SCRIPTABLE NS_IMETHOD GetMIMEInfoFromTypeCreator(PRUint32 aType, PRUint32 aCreator, const char *aFileExt, nsIMIMEInfo **mimeInfo) { return _to GetMIMEInfoFromTypeCreator(aType, aCreator, aFileExt, mimeInfo); } \
  NS_IMETHOD GetFileMappingFlags(FSSpec * fsspec, PRBool lookupByExtensionFirst, PRInt32 *_retval) { return _to GetFileMappingFlags(fsspec, lookupByExtensionFirst, _retval); } \
  NS_IMETHOD GetDownloadFolder(FSSpec *fsspec) { return _to GetDownloadFolder(fsspec); } \
  NS_SCRIPTABLE NS_IMETHOD GetString(PRUint32 keyenum, nsACString & _retval) { return _to GetString(keyenum, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetColor(PRUint32 keyenum, PRUint32 *_retval) { return _to GetColor(keyenum, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetBoolean(PRUint32 keyenum, PRBool *_retval) { return _to GetBoolean(keyenum, _retval); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIINTERNETCONFIGSERVICE(_to) \
  NS_SCRIPTABLE NS_IMETHOD LaunchURL(const char *url) { return !_to ? NS_ERROR_NULL_POINTER : _to->LaunchURL(url); } \
  NS_SCRIPTABLE NS_IMETHOD HasMappingForMIMEType(const char *mimetype, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->HasMappingForMIMEType(mimetype, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD HasProtocolHandler(const char *protocol, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->HasProtocolHandler(protocol, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD FillInMIMEInfo(const char *mimetype, const char *aFileExtension, nsIMIMEInfo **mimeinfo) { return !_to ? NS_ERROR_NULL_POINTER : _to->FillInMIMEInfo(mimetype, aFileExtension, mimeinfo); } \
  NS_SCRIPTABLE NS_IMETHOD GetMIMEInfoFromExtension(const char *aFileExt, nsIMIMEInfo **mimeinfo) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMIMEInfoFromExtension(aFileExt, mimeinfo); } \
  NS_SCRIPTABLE NS_IMETHOD GetMIMEInfoFromTypeCreator(PRUint32 aType, PRUint32 aCreator, const char *aFileExt, nsIMIMEInfo **mimeInfo) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMIMEInfoFromTypeCreator(aType, aCreator, aFileExt, mimeInfo); } \
  NS_IMETHOD GetFileMappingFlags(FSSpec * fsspec, PRBool lookupByExtensionFirst, PRInt32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFileMappingFlags(fsspec, lookupByExtensionFirst, _retval); } \
  NS_IMETHOD GetDownloadFolder(FSSpec *fsspec) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDownloadFolder(fsspec); } \
  NS_SCRIPTABLE NS_IMETHOD GetString(PRUint32 keyenum, nsACString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetString(keyenum, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetColor(PRUint32 keyenum, PRUint32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetColor(keyenum, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetBoolean(PRUint32 keyenum, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBoolean(keyenum, _retval); } 

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

/* Header file */
class nsInternetConfigService : public nsIInternetConfigService
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIINTERNETCONFIGSERVICE

  nsInternetConfigService();

private:
  ~nsInternetConfigService();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsInternetConfigService, nsIInternetConfigService)

nsInternetConfigService::nsInternetConfigService()
{
  /* member initializers and constructor code */
}

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

/* void launchURL (in string url); */
NS_IMETHODIMP nsInternetConfigService::LaunchURL(const char *url)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean hasMappingForMIMEType (in string mimetype); */
NS_IMETHODIMP nsInternetConfigService::HasMappingForMIMEType(const char *mimetype, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean hasProtocolHandler (in string protocol); */
NS_IMETHODIMP nsInternetConfigService::HasProtocolHandler(const char *protocol, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void fillInMIMEInfo (in string mimetype, in string aFileExtension, out nsIMIMEInfo mimeinfo); */
NS_IMETHODIMP nsInternetConfigService::FillInMIMEInfo(const char *mimetype, const char *aFileExtension, nsIMIMEInfo **mimeinfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getMIMEInfoFromExtension (in string aFileExt, out nsIMIMEInfo mimeinfo); */
NS_IMETHODIMP nsInternetConfigService::GetMIMEInfoFromExtension(const char *aFileExt, nsIMIMEInfo **mimeinfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getMIMEInfoFromTypeCreator (in PRUint32 aType, in PRUint32 aCreator, in string aFileExt, out nsIMIMEInfo mimeInfo); */
NS_IMETHODIMP nsInternetConfigService::GetMIMEInfoFromTypeCreator(PRUint32 aType, PRUint32 aCreator, const char *aFileExt, nsIMIMEInfo **mimeInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] long getFileMappingFlags (in FSSpecPtr fsspec, in boolean lookupByExtensionFirst); */
NS_IMETHODIMP nsInternetConfigService::GetFileMappingFlags(FSSpec * fsspec, PRBool lookupByExtensionFirst, PRInt32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void getDownloadFolder (out FSSpec fsspec); */
NS_IMETHODIMP nsInternetConfigService::GetDownloadFolder(FSSpec *fsspec)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString getString (in unsigned long keyenum); */
NS_IMETHODIMP nsInternetConfigService::GetString(PRUint32 keyenum, nsACString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* unsigned long getColor (in unsigned long keyenum); */
NS_IMETHODIMP nsInternetConfigService::GetColor(PRUint32 keyenum, PRUint32 *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean getBoolean (in unsigned long keyenum); */
NS_IMETHODIMP nsInternetConfigService::GetBoolean(PRUint32 keyenum, PRBool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIInternetConfigService_h__ */
