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

#ifndef __gen_nsIImapIncomingServer_h__
#define __gen_nsIImapIncomingServer_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 nsIUrlListener; /* forward declaration */

class nsIURI; /* forward declaration */

class nsIImapUrl; /* forward declaration */

class nsIEventTarget; /* forward declaration */

class nsIImapProtocol; /* forward declaration */

class nsIMsgFolder; /* forward declaration */

class nsIMsgWindow; /* forward declaration */

typedef PRInt32  nsMsgImapDeleteModel;


/* starting interface:    nsMsgImapDeleteModels */
#define NS_MSGIMAPDELETEMODELS_IID_STR "bbfc33de-fe89-11d3-a564-0060b0fc04b7"

#define NS_MSGIMAPDELETEMODELS_IID \
  {0xbbfc33de, 0xfe89, 0x11d3, \
    { 0xa5, 0x64, 0x00, 0x60, 0xb0, 0xfc, 0x04, 0xb7 }}

class NS_NO_VTABLE NS_SCRIPTABLE nsMsgImapDeleteModels {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_MSGIMAPDELETEMODELS_IID)

  enum { IMAPDelete = 0 };

  enum { MoveToTrash = 1 };

  enum { DeleteNoTrash = 2 };

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsMsgImapDeleteModels, NS_MSGIMAPDELETEMODELS_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSMSGIMAPDELETEMODELS \

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSMSGIMAPDELETEMODELS(_to) \

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSMSGIMAPDELETEMODELS(_to) \

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

/* Header file */
class _MYCLASS_ : public nsMsgImapDeleteModels
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSMSGIMAPDELETEMODELS

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(_MYCLASS_, nsMsgImapDeleteModels)

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

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

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


/* starting interface:    nsIImapIncomingServer */
#define NS_IIMAPINCOMINGSERVER_IID_STR "8974f1f2-7efc-44c4-a785-d5a3d1832f6e"

#define NS_IIMAPINCOMINGSERVER_IID \
  {0x8974f1f2, 0x7efc, 0x44c4, \
    { 0xa7, 0x85, 0xd5, 0xa3, 0xd1, 0x83, 0x2f, 0x6e }}

class NS_NO_VTABLE NS_SCRIPTABLE nsIImapIncomingServer : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IIMAPINCOMINGSERVER_IID)

  /* attribute long maximumConnectionsNumber; */
  NS_SCRIPTABLE NS_IMETHOD GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber) = 0;

  /* attribute long timeOutLimits; */
  NS_SCRIPTABLE NS_IMETHOD GetTimeOutLimits(PRInt32 *aTimeOutLimits) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetTimeOutLimits(PRInt32 aTimeOutLimits) = 0;

  /* attribute ACString adminUrl; */
  NS_SCRIPTABLE NS_IMETHOD GetAdminUrl(nsACString & aAdminUrl) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetAdminUrl(const nsACString & aAdminUrl) = 0;

  /* attribute ACString serverDirectory; */
  NS_SCRIPTABLE NS_IMETHOD GetServerDirectory(nsACString & aServerDirectory) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetServerDirectory(const nsACString & aServerDirectory) = 0;

  /* attribute long capabilityPref; */
  NS_SCRIPTABLE NS_IMETHOD GetCapabilityPref(PRInt32 *aCapabilityPref) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetCapabilityPref(PRInt32 aCapabilityPref) = 0;

  /* attribute boolean cleanupInboxOnExit; */
  NS_SCRIPTABLE NS_IMETHOD GetCleanupInboxOnExit(PRBool *aCleanupInboxOnExit) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetCleanupInboxOnExit(PRBool aCleanupInboxOnExit) = 0;

  /* attribute nsMsgImapDeleteModel deleteModel; */
  NS_SCRIPTABLE NS_IMETHOD GetDeleteModel(nsMsgImapDeleteModel *aDeleteModel) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetDeleteModel(nsMsgImapDeleteModel aDeleteModel) = 0;

  /* attribute boolean dualUseFolders; */
  NS_SCRIPTABLE NS_IMETHOD GetDualUseFolders(PRBool *aDualUseFolders) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetDualUseFolders(PRBool aDualUseFolders) = 0;

  /* attribute long emptyTrashThreshhold; */
  NS_SCRIPTABLE NS_IMETHOD GetEmptyTrashThreshhold(PRInt32 *aEmptyTrashThreshhold) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetEmptyTrashThreshhold(PRInt32 aEmptyTrashThreshhold) = 0;

  /* attribute ACString personalNamespace; */
  NS_SCRIPTABLE NS_IMETHOD GetPersonalNamespace(nsACString & aPersonalNamespace) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetPersonalNamespace(const nsACString & aPersonalNamespace) = 0;

  /* attribute ACString publicNamespace; */
  NS_SCRIPTABLE NS_IMETHOD GetPublicNamespace(nsACString & aPublicNamespace) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetPublicNamespace(const nsACString & aPublicNamespace) = 0;

  /* attribute ACString otherUsersNamespace; */
  NS_SCRIPTABLE NS_IMETHOD GetOtherUsersNamespace(nsACString & aOtherUsersNamespace) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetOtherUsersNamespace(const nsACString & aOtherUsersNamespace) = 0;

  /* attribute boolean offlineDownload; */
  NS_SCRIPTABLE NS_IMETHOD GetOfflineDownload(PRBool *aOfflineDownload) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetOfflineDownload(PRBool aOfflineDownload) = 0;

  /* attribute boolean overrideNamespaces; */
  NS_SCRIPTABLE NS_IMETHOD GetOverrideNamespaces(PRBool *aOverrideNamespaces) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetOverrideNamespaces(PRBool aOverrideNamespaces) = 0;

  /* attribute boolean usingSubscription; */
  NS_SCRIPTABLE NS_IMETHOD GetUsingSubscription(PRBool *aUsingSubscription) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetUsingSubscription(PRBool aUsingSubscription) = 0;

  /* attribute ACString manageMailAccountUrl; */
  NS_SCRIPTABLE NS_IMETHOD GetManageMailAccountUrl(nsACString & aManageMailAccountUrl) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetManageMailAccountUrl(const nsACString & aManageMailAccountUrl) = 0;

  /* attribute boolean fetchByChunks; */
  NS_SCRIPTABLE NS_IMETHOD GetFetchByChunks(PRBool *aFetchByChunks) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetFetchByChunks(PRBool aFetchByChunks) = 0;

  /* attribute boolean mimePartsOnDemand; */
  NS_SCRIPTABLE NS_IMETHOD GetMimePartsOnDemand(PRBool *aMimePartsOnDemand) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetMimePartsOnDemand(PRBool aMimePartsOnDemand) = 0;

  /* attribute boolean isAOLServer; */
  NS_SCRIPTABLE NS_IMETHOD GetIsAOLServer(PRBool *aIsAOLServer) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetIsAOLServer(PRBool aIsAOLServer) = 0;

  /* attribute boolean useIdle; */
  NS_SCRIPTABLE NS_IMETHOD GetUseIdle(PRBool *aUseIdle) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetUseIdle(PRBool aUseIdle) = 0;

  /* attribute boolean isGMailServer; */
  NS_SCRIPTABLE NS_IMETHOD GetIsGMailServer(PRBool *aIsGMailServer) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetIsGMailServer(PRBool aIsGMailServer) = 0;

  /**
   * See IMAP RFC 4551
   **/
  /* attribute boolean useCondStore; */
  NS_SCRIPTABLE NS_IMETHOD GetUseCondStore(PRBool *aUseCondStore) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetUseCondStore(PRBool aUseCondStore) = 0;

  /**
   * See IMAP RFC 4978
   */
  /* attribute boolean useCompressDeflate; */
  NS_SCRIPTABLE NS_IMETHOD GetUseCompressDeflate(PRBool *aUseCompressDeflate) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetUseCompressDeflate(PRBool aUseCompressDeflate) = 0;

  /* attribute AString trashFolderName; */
  NS_SCRIPTABLE NS_IMETHOD GetTrashFolderName(nsAString & aTrashFolderName) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetTrashFolderName(const nsAString & aTrashFolderName) = 0;

  /* attribute boolean downloadBodiesOnGetNewMail; */
  NS_SCRIPTABLE NS_IMETHOD GetDownloadBodiesOnGetNewMail(PRBool *aDownloadBodiesOnGetNewMail) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetDownloadBodiesOnGetNewMail(PRBool aDownloadBodiesOnGetNewMail) = 0;

  /* attribute boolean autoSyncOfflineStores; */
  NS_SCRIPTABLE NS_IMETHOD GetAutoSyncOfflineStores(PRBool *aAutoSyncOfflineStores) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetAutoSyncOfflineStores(PRBool aAutoSyncOfflineStores) = 0;

  /* attribute long autoSyncMaxAgeDays; */
  NS_SCRIPTABLE NS_IMETHOD GetAutoSyncMaxAgeDays(PRInt32 *aAutoSyncMaxAgeDays) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetAutoSyncMaxAgeDays(PRInt32 aAutoSyncMaxAgeDays) = 0;

  /* void GetImapConnectionAndLoadUrl (in nsIEventTarget aClientEventTarget, in nsIImapUrl aImapUrl, in nsISupports aConsumer); */
  NS_SCRIPTABLE NS_IMETHOD GetImapConnectionAndLoadUrl(nsIEventTarget *aClientEventTarget, nsIImapUrl *aImapUrl, nsISupports *aConsumer) = 0;

  /* void RemoveConnection (in nsIImapProtocol aImapConnection); */
  NS_SCRIPTABLE NS_IMETHOD RemoveConnection(nsIImapProtocol *aImapConnection) = 0;

  /* void ResetNamespaceReferences (); */
  NS_SCRIPTABLE NS_IMETHOD ResetNamespaceReferences(void) = 0;

  /* void pseudoInterruptMsgLoad (in nsIMsgFolder aImapFolder, in nsIMsgWindow aMsgWindow, out boolean interrupted); */
  NS_SCRIPTABLE NS_IMETHOD PseudoInterruptMsgLoad(nsIMsgFolder *aImapFolder, nsIMsgWindow *aMsgWindow, PRBool *interrupted NS_OUTPARAM) = 0;

  /* void ResetConnection (in ACString folderName); */
  NS_SCRIPTABLE NS_IMETHOD ResetConnection(const nsACString & folderName) = 0;

  /* void CloseConnectionForFolder (in nsIMsgFolder aMsgFolder); */
  NS_SCRIPTABLE NS_IMETHOD CloseConnectionForFolder(nsIMsgFolder *aMsgFolder) = 0;

  /* void reDiscoverAllFolders (); */
  NS_SCRIPTABLE NS_IMETHOD ReDiscoverAllFolders(void) = 0;

  /* nsIURI subscribeToFolder (in AString name, in boolean subscribe); */
  NS_SCRIPTABLE NS_IMETHOD SubscribeToFolder(const nsAString & name, PRBool subscribe, nsIURI **_retval NS_OUTPARAM) = 0;

  /* void GetNewMessagesForNonInboxFolders (in nsIMsgFolder aRootFolder, in nsIMsgWindow aWindow, in boolean forceAllFolders, in boolean performingBiff); */
  NS_SCRIPTABLE NS_IMETHOD GetNewMessagesForNonInboxFolders(nsIMsgFolder *aRootFolder, nsIMsgWindow *aWindow, PRBool forceAllFolders, PRBool performingBiff) = 0;

  /**
   * Get the password from the nsIMsgIncomingServer. May prompt the user
   * if there's no password in the password manager or cached in the 
   * server object.
   * @param aWindow  msgWindow to associate the password prompt with
   * @return Password string.
   * @exception NS_ERROR_FAILURE  The password could not be obtained.
   * @note NS_MSG_PASSWORD_PROMPT_CANCELLED is a success code that is returned
   *       if the prompt was presented to the user but the user cancelled the
   *       prompt.
   */
  /* ACString PromptPassword (in nsIMsgWindow aWindow); */
  NS_SCRIPTABLE NS_IMETHOD PromptPassword(nsIMsgWindow *aWindow, nsACString & _retval NS_OUTPARAM) = 0;

  /* attribute boolean doingLsub; */
  NS_SCRIPTABLE NS_IMETHOD GetDoingLsub(PRBool *aDoingLsub) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetDoingLsub(PRBool aDoingLsub) = 0;

  /* ACString getUriWithNamespacePrefixIfNecessary (in long namespaceType, in ACString originalUri); */
  NS_SCRIPTABLE NS_IMETHOD GetUriWithNamespacePrefixIfNecessary(PRInt32 namespaceType, const nsACString & originalUri, nsACString & _retval NS_OUTPARAM) = 0;

  /* attribute boolean shuttingDown; */
  NS_SCRIPTABLE NS_IMETHOD GetShuttingDown(PRBool *aShuttingDown) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetShuttingDown(PRBool aShuttingDown) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIImapIncomingServer, NS_IIMAPINCOMINGSERVER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIIMAPINCOMINGSERVER \
  NS_SCRIPTABLE NS_IMETHOD GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber); \
  NS_SCRIPTABLE NS_IMETHOD SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber); \
  NS_SCRIPTABLE NS_IMETHOD GetTimeOutLimits(PRInt32 *aTimeOutLimits); \
  NS_SCRIPTABLE NS_IMETHOD SetTimeOutLimits(PRInt32 aTimeOutLimits); \
  NS_SCRIPTABLE NS_IMETHOD GetAdminUrl(nsACString & aAdminUrl); \
  NS_SCRIPTABLE NS_IMETHOD SetAdminUrl(const nsACString & aAdminUrl); \
  NS_SCRIPTABLE NS_IMETHOD GetServerDirectory(nsACString & aServerDirectory); \
  NS_SCRIPTABLE NS_IMETHOD SetServerDirectory(const nsACString & aServerDirectory); \
  NS_SCRIPTABLE NS_IMETHOD GetCapabilityPref(PRInt32 *aCapabilityPref); \
  NS_SCRIPTABLE NS_IMETHOD SetCapabilityPref(PRInt32 aCapabilityPref); \
  NS_SCRIPTABLE NS_IMETHOD GetCleanupInboxOnExit(PRBool *aCleanupInboxOnExit); \
  NS_SCRIPTABLE NS_IMETHOD SetCleanupInboxOnExit(PRBool aCleanupInboxOnExit); \
  NS_SCRIPTABLE NS_IMETHOD GetDeleteModel(nsMsgImapDeleteModel *aDeleteModel); \
  NS_SCRIPTABLE NS_IMETHOD SetDeleteModel(nsMsgImapDeleteModel aDeleteModel); \
  NS_SCRIPTABLE NS_IMETHOD GetDualUseFolders(PRBool *aDualUseFolders); \
  NS_SCRIPTABLE NS_IMETHOD SetDualUseFolders(PRBool aDualUseFolders); \
  NS_SCRIPTABLE NS_IMETHOD GetEmptyTrashThreshhold(PRInt32 *aEmptyTrashThreshhold); \
  NS_SCRIPTABLE NS_IMETHOD SetEmptyTrashThreshhold(PRInt32 aEmptyTrashThreshhold); \
  NS_SCRIPTABLE NS_IMETHOD GetPersonalNamespace(nsACString & aPersonalNamespace); \
  NS_SCRIPTABLE NS_IMETHOD SetPersonalNamespace(const nsACString & aPersonalNamespace); \
  NS_SCRIPTABLE NS_IMETHOD GetPublicNamespace(nsACString & aPublicNamespace); \
  NS_SCRIPTABLE NS_IMETHOD SetPublicNamespace(const nsACString & aPublicNamespace); \
  NS_SCRIPTABLE NS_IMETHOD GetOtherUsersNamespace(nsACString & aOtherUsersNamespace); \
  NS_SCRIPTABLE NS_IMETHOD SetOtherUsersNamespace(const nsACString & aOtherUsersNamespace); \
  NS_SCRIPTABLE NS_IMETHOD GetOfflineDownload(PRBool *aOfflineDownload); \
  NS_SCRIPTABLE NS_IMETHOD SetOfflineDownload(PRBool aOfflineDownload); \
  NS_SCRIPTABLE NS_IMETHOD GetOverrideNamespaces(PRBool *aOverrideNamespaces); \
  NS_SCRIPTABLE NS_IMETHOD SetOverrideNamespaces(PRBool aOverrideNamespaces); \
  NS_SCRIPTABLE NS_IMETHOD GetUsingSubscription(PRBool *aUsingSubscription); \
  NS_SCRIPTABLE NS_IMETHOD SetUsingSubscription(PRBool aUsingSubscription); \
  NS_SCRIPTABLE NS_IMETHOD GetManageMailAccountUrl(nsACString & aManageMailAccountUrl); \
  NS_SCRIPTABLE NS_IMETHOD SetManageMailAccountUrl(const nsACString & aManageMailAccountUrl); \
  NS_SCRIPTABLE NS_IMETHOD GetFetchByChunks(PRBool *aFetchByChunks); \
  NS_SCRIPTABLE NS_IMETHOD SetFetchByChunks(PRBool aFetchByChunks); \
  NS_SCRIPTABLE NS_IMETHOD GetMimePartsOnDemand(PRBool *aMimePartsOnDemand); \
  NS_SCRIPTABLE NS_IMETHOD SetMimePartsOnDemand(PRBool aMimePartsOnDemand); \
  NS_SCRIPTABLE NS_IMETHOD GetIsAOLServer(PRBool *aIsAOLServer); \
  NS_SCRIPTABLE NS_IMETHOD SetIsAOLServer(PRBool aIsAOLServer); \
  NS_SCRIPTABLE NS_IMETHOD GetUseIdle(PRBool *aUseIdle); \
  NS_SCRIPTABLE NS_IMETHOD SetUseIdle(PRBool aUseIdle); \
  NS_SCRIPTABLE NS_IMETHOD GetIsGMailServer(PRBool *aIsGMailServer); \
  NS_SCRIPTABLE NS_IMETHOD SetIsGMailServer(PRBool aIsGMailServer); \
  NS_SCRIPTABLE NS_IMETHOD GetUseCondStore(PRBool *aUseCondStore); \
  NS_SCRIPTABLE NS_IMETHOD SetUseCondStore(PRBool aUseCondStore); \
  NS_SCRIPTABLE NS_IMETHOD GetUseCompressDeflate(PRBool *aUseCompressDeflate); \
  NS_SCRIPTABLE NS_IMETHOD SetUseCompressDeflate(PRBool aUseCompressDeflate); \
  NS_SCRIPTABLE NS_IMETHOD GetTrashFolderName(nsAString & aTrashFolderName); \
  NS_SCRIPTABLE NS_IMETHOD SetTrashFolderName(const nsAString & aTrashFolderName); \
  NS_SCRIPTABLE NS_IMETHOD GetDownloadBodiesOnGetNewMail(PRBool *aDownloadBodiesOnGetNewMail); \
  NS_SCRIPTABLE NS_IMETHOD SetDownloadBodiesOnGetNewMail(PRBool aDownloadBodiesOnGetNewMail); \
  NS_SCRIPTABLE NS_IMETHOD GetAutoSyncOfflineStores(PRBool *aAutoSyncOfflineStores); \
  NS_SCRIPTABLE NS_IMETHOD SetAutoSyncOfflineStores(PRBool aAutoSyncOfflineStores); \
  NS_SCRIPTABLE NS_IMETHOD GetAutoSyncMaxAgeDays(PRInt32 *aAutoSyncMaxAgeDays); \
  NS_SCRIPTABLE NS_IMETHOD SetAutoSyncMaxAgeDays(PRInt32 aAutoSyncMaxAgeDays); \
  NS_SCRIPTABLE NS_IMETHOD GetImapConnectionAndLoadUrl(nsIEventTarget *aClientEventTarget, nsIImapUrl *aImapUrl, nsISupports *aConsumer); \
  NS_SCRIPTABLE NS_IMETHOD RemoveConnection(nsIImapProtocol *aImapConnection); \
  NS_SCRIPTABLE NS_IMETHOD ResetNamespaceReferences(void); \
  NS_SCRIPTABLE NS_IMETHOD PseudoInterruptMsgLoad(nsIMsgFolder *aImapFolder, nsIMsgWindow *aMsgWindow, PRBool *interrupted NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD ResetConnection(const nsACString & folderName); \
  NS_SCRIPTABLE NS_IMETHOD CloseConnectionForFolder(nsIMsgFolder *aMsgFolder); \
  NS_SCRIPTABLE NS_IMETHOD ReDiscoverAllFolders(void); \
  NS_SCRIPTABLE NS_IMETHOD SubscribeToFolder(const nsAString & name, PRBool subscribe, nsIURI **_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetNewMessagesForNonInboxFolders(nsIMsgFolder *aRootFolder, nsIMsgWindow *aWindow, PRBool forceAllFolders, PRBool performingBiff); \
  NS_SCRIPTABLE NS_IMETHOD PromptPassword(nsIMsgWindow *aWindow, nsACString & _retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetDoingLsub(PRBool *aDoingLsub); \
  NS_SCRIPTABLE NS_IMETHOD SetDoingLsub(PRBool aDoingLsub); \
  NS_SCRIPTABLE NS_IMETHOD GetUriWithNamespacePrefixIfNecessary(PRInt32 namespaceType, const nsACString & originalUri, nsACString & _retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetShuttingDown(PRBool *aShuttingDown); \
  NS_SCRIPTABLE NS_IMETHOD SetShuttingDown(PRBool aShuttingDown); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIIMAPINCOMINGSERVER(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber) { return _to GetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_SCRIPTABLE NS_IMETHOD SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber) { return _to SetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_SCRIPTABLE NS_IMETHOD GetTimeOutLimits(PRInt32 *aTimeOutLimits) { return _to GetTimeOutLimits(aTimeOutLimits); } \
  NS_SCRIPTABLE NS_IMETHOD SetTimeOutLimits(PRInt32 aTimeOutLimits) { return _to SetTimeOutLimits(aTimeOutLimits); } \
  NS_SCRIPTABLE NS_IMETHOD GetAdminUrl(nsACString & aAdminUrl) { return _to GetAdminUrl(aAdminUrl); } \
  NS_SCRIPTABLE NS_IMETHOD SetAdminUrl(const nsACString & aAdminUrl) { return _to SetAdminUrl(aAdminUrl); } \
  NS_SCRIPTABLE NS_IMETHOD GetServerDirectory(nsACString & aServerDirectory) { return _to GetServerDirectory(aServerDirectory); } \
  NS_SCRIPTABLE NS_IMETHOD SetServerDirectory(const nsACString & aServerDirectory) { return _to SetServerDirectory(aServerDirectory); } \
  NS_SCRIPTABLE NS_IMETHOD GetCapabilityPref(PRInt32 *aCapabilityPref) { return _to GetCapabilityPref(aCapabilityPref); } \
  NS_SCRIPTABLE NS_IMETHOD SetCapabilityPref(PRInt32 aCapabilityPref) { return _to SetCapabilityPref(aCapabilityPref); } \
  NS_SCRIPTABLE NS_IMETHOD GetCleanupInboxOnExit(PRBool *aCleanupInboxOnExit) { return _to GetCleanupInboxOnExit(aCleanupInboxOnExit); } \
  NS_SCRIPTABLE NS_IMETHOD SetCleanupInboxOnExit(PRBool aCleanupInboxOnExit) { return _to SetCleanupInboxOnExit(aCleanupInboxOnExit); } \
  NS_SCRIPTABLE NS_IMETHOD GetDeleteModel(nsMsgImapDeleteModel *aDeleteModel) { return _to GetDeleteModel(aDeleteModel); } \
  NS_SCRIPTABLE NS_IMETHOD SetDeleteModel(nsMsgImapDeleteModel aDeleteModel) { return _to SetDeleteModel(aDeleteModel); } \
  NS_SCRIPTABLE NS_IMETHOD GetDualUseFolders(PRBool *aDualUseFolders) { return _to GetDualUseFolders(aDualUseFolders); } \
  NS_SCRIPTABLE NS_IMETHOD SetDualUseFolders(PRBool aDualUseFolders) { return _to SetDualUseFolders(aDualUseFolders); } \
  NS_SCRIPTABLE NS_IMETHOD GetEmptyTrashThreshhold(PRInt32 *aEmptyTrashThreshhold) { return _to GetEmptyTrashThreshhold(aEmptyTrashThreshhold); } \
  NS_SCRIPTABLE NS_IMETHOD SetEmptyTrashThreshhold(PRInt32 aEmptyTrashThreshhold) { return _to SetEmptyTrashThreshhold(aEmptyTrashThreshhold); } \
  NS_SCRIPTABLE NS_IMETHOD GetPersonalNamespace(nsACString & aPersonalNamespace) { return _to GetPersonalNamespace(aPersonalNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD SetPersonalNamespace(const nsACString & aPersonalNamespace) { return _to SetPersonalNamespace(aPersonalNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD GetPublicNamespace(nsACString & aPublicNamespace) { return _to GetPublicNamespace(aPublicNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD SetPublicNamespace(const nsACString & aPublicNamespace) { return _to SetPublicNamespace(aPublicNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD GetOtherUsersNamespace(nsACString & aOtherUsersNamespace) { return _to GetOtherUsersNamespace(aOtherUsersNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD SetOtherUsersNamespace(const nsACString & aOtherUsersNamespace) { return _to SetOtherUsersNamespace(aOtherUsersNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD GetOfflineDownload(PRBool *aOfflineDownload) { return _to GetOfflineDownload(aOfflineDownload); } \
  NS_SCRIPTABLE NS_IMETHOD SetOfflineDownload(PRBool aOfflineDownload) { return _to SetOfflineDownload(aOfflineDownload); } \
  NS_SCRIPTABLE NS_IMETHOD GetOverrideNamespaces(PRBool *aOverrideNamespaces) { return _to GetOverrideNamespaces(aOverrideNamespaces); } \
  NS_SCRIPTABLE NS_IMETHOD SetOverrideNamespaces(PRBool aOverrideNamespaces) { return _to SetOverrideNamespaces(aOverrideNamespaces); } \
  NS_SCRIPTABLE NS_IMETHOD GetUsingSubscription(PRBool *aUsingSubscription) { return _to GetUsingSubscription(aUsingSubscription); } \
  NS_SCRIPTABLE NS_IMETHOD SetUsingSubscription(PRBool aUsingSubscription) { return _to SetUsingSubscription(aUsingSubscription); } \
  NS_SCRIPTABLE NS_IMETHOD GetManageMailAccountUrl(nsACString & aManageMailAccountUrl) { return _to GetManageMailAccountUrl(aManageMailAccountUrl); } \
  NS_SCRIPTABLE NS_IMETHOD SetManageMailAccountUrl(const nsACString & aManageMailAccountUrl) { return _to SetManageMailAccountUrl(aManageMailAccountUrl); } \
  NS_SCRIPTABLE NS_IMETHOD GetFetchByChunks(PRBool *aFetchByChunks) { return _to GetFetchByChunks(aFetchByChunks); } \
  NS_SCRIPTABLE NS_IMETHOD SetFetchByChunks(PRBool aFetchByChunks) { return _to SetFetchByChunks(aFetchByChunks); } \
  NS_SCRIPTABLE NS_IMETHOD GetMimePartsOnDemand(PRBool *aMimePartsOnDemand) { return _to GetMimePartsOnDemand(aMimePartsOnDemand); } \
  NS_SCRIPTABLE NS_IMETHOD SetMimePartsOnDemand(PRBool aMimePartsOnDemand) { return _to SetMimePartsOnDemand(aMimePartsOnDemand); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsAOLServer(PRBool *aIsAOLServer) { return _to GetIsAOLServer(aIsAOLServer); } \
  NS_SCRIPTABLE NS_IMETHOD SetIsAOLServer(PRBool aIsAOLServer) { return _to SetIsAOLServer(aIsAOLServer); } \
  NS_SCRIPTABLE NS_IMETHOD GetUseIdle(PRBool *aUseIdle) { return _to GetUseIdle(aUseIdle); } \
  NS_SCRIPTABLE NS_IMETHOD SetUseIdle(PRBool aUseIdle) { return _to SetUseIdle(aUseIdle); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsGMailServer(PRBool *aIsGMailServer) { return _to GetIsGMailServer(aIsGMailServer); } \
  NS_SCRIPTABLE NS_IMETHOD SetIsGMailServer(PRBool aIsGMailServer) { return _to SetIsGMailServer(aIsGMailServer); } \
  NS_SCRIPTABLE NS_IMETHOD GetUseCondStore(PRBool *aUseCondStore) { return _to GetUseCondStore(aUseCondStore); } \
  NS_SCRIPTABLE NS_IMETHOD SetUseCondStore(PRBool aUseCondStore) { return _to SetUseCondStore(aUseCondStore); } \
  NS_SCRIPTABLE NS_IMETHOD GetUseCompressDeflate(PRBool *aUseCompressDeflate) { return _to GetUseCompressDeflate(aUseCompressDeflate); } \
  NS_SCRIPTABLE NS_IMETHOD SetUseCompressDeflate(PRBool aUseCompressDeflate) { return _to SetUseCompressDeflate(aUseCompressDeflate); } \
  NS_SCRIPTABLE NS_IMETHOD GetTrashFolderName(nsAString & aTrashFolderName) { return _to GetTrashFolderName(aTrashFolderName); } \
  NS_SCRIPTABLE NS_IMETHOD SetTrashFolderName(const nsAString & aTrashFolderName) { return _to SetTrashFolderName(aTrashFolderName); } \
  NS_SCRIPTABLE NS_IMETHOD GetDownloadBodiesOnGetNewMail(PRBool *aDownloadBodiesOnGetNewMail) { return _to GetDownloadBodiesOnGetNewMail(aDownloadBodiesOnGetNewMail); } \
  NS_SCRIPTABLE NS_IMETHOD SetDownloadBodiesOnGetNewMail(PRBool aDownloadBodiesOnGetNewMail) { return _to SetDownloadBodiesOnGetNewMail(aDownloadBodiesOnGetNewMail); } \
  NS_SCRIPTABLE NS_IMETHOD GetAutoSyncOfflineStores(PRBool *aAutoSyncOfflineStores) { return _to GetAutoSyncOfflineStores(aAutoSyncOfflineStores); } \
  NS_SCRIPTABLE NS_IMETHOD SetAutoSyncOfflineStores(PRBool aAutoSyncOfflineStores) { return _to SetAutoSyncOfflineStores(aAutoSyncOfflineStores); } \
  NS_SCRIPTABLE NS_IMETHOD GetAutoSyncMaxAgeDays(PRInt32 *aAutoSyncMaxAgeDays) { return _to GetAutoSyncMaxAgeDays(aAutoSyncMaxAgeDays); } \
  NS_SCRIPTABLE NS_IMETHOD SetAutoSyncMaxAgeDays(PRInt32 aAutoSyncMaxAgeDays) { return _to SetAutoSyncMaxAgeDays(aAutoSyncMaxAgeDays); } \
  NS_SCRIPTABLE NS_IMETHOD GetImapConnectionAndLoadUrl(nsIEventTarget *aClientEventTarget, nsIImapUrl *aImapUrl, nsISupports *aConsumer) { return _to GetImapConnectionAndLoadUrl(aClientEventTarget, aImapUrl, aConsumer); } \
  NS_SCRIPTABLE NS_IMETHOD RemoveConnection(nsIImapProtocol *aImapConnection) { return _to RemoveConnection(aImapConnection); } \
  NS_SCRIPTABLE NS_IMETHOD ResetNamespaceReferences(void) { return _to ResetNamespaceReferences(); } \
  NS_SCRIPTABLE NS_IMETHOD PseudoInterruptMsgLoad(nsIMsgFolder *aImapFolder, nsIMsgWindow *aMsgWindow, PRBool *interrupted NS_OUTPARAM) { return _to PseudoInterruptMsgLoad(aImapFolder, aMsgWindow, interrupted); } \
  NS_SCRIPTABLE NS_IMETHOD ResetConnection(const nsACString & folderName) { return _to ResetConnection(folderName); } \
  NS_SCRIPTABLE NS_IMETHOD CloseConnectionForFolder(nsIMsgFolder *aMsgFolder) { return _to CloseConnectionForFolder(aMsgFolder); } \
  NS_SCRIPTABLE NS_IMETHOD ReDiscoverAllFolders(void) { return _to ReDiscoverAllFolders(); } \
  NS_SCRIPTABLE NS_IMETHOD SubscribeToFolder(const nsAString & name, PRBool subscribe, nsIURI **_retval NS_OUTPARAM) { return _to SubscribeToFolder(name, subscribe, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetNewMessagesForNonInboxFolders(nsIMsgFolder *aRootFolder, nsIMsgWindow *aWindow, PRBool forceAllFolders, PRBool performingBiff) { return _to GetNewMessagesForNonInboxFolders(aRootFolder, aWindow, forceAllFolders, performingBiff); } \
  NS_SCRIPTABLE NS_IMETHOD PromptPassword(nsIMsgWindow *aWindow, nsACString & _retval NS_OUTPARAM) { return _to PromptPassword(aWindow, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetDoingLsub(PRBool *aDoingLsub) { return _to GetDoingLsub(aDoingLsub); } \
  NS_SCRIPTABLE NS_IMETHOD SetDoingLsub(PRBool aDoingLsub) { return _to SetDoingLsub(aDoingLsub); } \
  NS_SCRIPTABLE NS_IMETHOD GetUriWithNamespacePrefixIfNecessary(PRInt32 namespaceType, const nsACString & originalUri, nsACString & _retval NS_OUTPARAM) { return _to GetUriWithNamespacePrefixIfNecessary(namespaceType, originalUri, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetShuttingDown(PRBool *aShuttingDown) { return _to GetShuttingDown(aShuttingDown); } \
  NS_SCRIPTABLE NS_IMETHOD SetShuttingDown(PRBool aShuttingDown) { return _to SetShuttingDown(aShuttingDown); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIIMAPINCOMINGSERVER(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_SCRIPTABLE NS_IMETHOD SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMaximumConnectionsNumber(aMaximumConnectionsNumber); } \
  NS_SCRIPTABLE NS_IMETHOD GetTimeOutLimits(PRInt32 *aTimeOutLimits) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTimeOutLimits(aTimeOutLimits); } \
  NS_SCRIPTABLE NS_IMETHOD SetTimeOutLimits(PRInt32 aTimeOutLimits) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTimeOutLimits(aTimeOutLimits); } \
  NS_SCRIPTABLE NS_IMETHOD GetAdminUrl(nsACString & aAdminUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAdminUrl(aAdminUrl); } \
  NS_SCRIPTABLE NS_IMETHOD SetAdminUrl(const nsACString & aAdminUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAdminUrl(aAdminUrl); } \
  NS_SCRIPTABLE NS_IMETHOD GetServerDirectory(nsACString & aServerDirectory) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerDirectory(aServerDirectory); } \
  NS_SCRIPTABLE NS_IMETHOD SetServerDirectory(const nsACString & aServerDirectory) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetServerDirectory(aServerDirectory); } \
  NS_SCRIPTABLE NS_IMETHOD GetCapabilityPref(PRInt32 *aCapabilityPref) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCapabilityPref(aCapabilityPref); } \
  NS_SCRIPTABLE NS_IMETHOD SetCapabilityPref(PRInt32 aCapabilityPref) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCapabilityPref(aCapabilityPref); } \
  NS_SCRIPTABLE NS_IMETHOD GetCleanupInboxOnExit(PRBool *aCleanupInboxOnExit) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCleanupInboxOnExit(aCleanupInboxOnExit); } \
  NS_SCRIPTABLE NS_IMETHOD SetCleanupInboxOnExit(PRBool aCleanupInboxOnExit) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCleanupInboxOnExit(aCleanupInboxOnExit); } \
  NS_SCRIPTABLE NS_IMETHOD GetDeleteModel(nsMsgImapDeleteModel *aDeleteModel) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDeleteModel(aDeleteModel); } \
  NS_SCRIPTABLE NS_IMETHOD SetDeleteModel(nsMsgImapDeleteModel aDeleteModel) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDeleteModel(aDeleteModel); } \
  NS_SCRIPTABLE NS_IMETHOD GetDualUseFolders(PRBool *aDualUseFolders) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDualUseFolders(aDualUseFolders); } \
  NS_SCRIPTABLE NS_IMETHOD SetDualUseFolders(PRBool aDualUseFolders) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDualUseFolders(aDualUseFolders); } \
  NS_SCRIPTABLE NS_IMETHOD GetEmptyTrashThreshhold(PRInt32 *aEmptyTrashThreshhold) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEmptyTrashThreshhold(aEmptyTrashThreshhold); } \
  NS_SCRIPTABLE NS_IMETHOD SetEmptyTrashThreshhold(PRInt32 aEmptyTrashThreshhold) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEmptyTrashThreshhold(aEmptyTrashThreshhold); } \
  NS_SCRIPTABLE NS_IMETHOD GetPersonalNamespace(nsACString & aPersonalNamespace) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPersonalNamespace(aPersonalNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD SetPersonalNamespace(const nsACString & aPersonalNamespace) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPersonalNamespace(aPersonalNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD GetPublicNamespace(nsACString & aPublicNamespace) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPublicNamespace(aPublicNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD SetPublicNamespace(const nsACString & aPublicNamespace) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPublicNamespace(aPublicNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD GetOtherUsersNamespace(nsACString & aOtherUsersNamespace) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOtherUsersNamespace(aOtherUsersNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD SetOtherUsersNamespace(const nsACString & aOtherUsersNamespace) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOtherUsersNamespace(aOtherUsersNamespace); } \
  NS_SCRIPTABLE NS_IMETHOD GetOfflineDownload(PRBool *aOfflineDownload) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOfflineDownload(aOfflineDownload); } \
  NS_SCRIPTABLE NS_IMETHOD SetOfflineDownload(PRBool aOfflineDownload) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOfflineDownload(aOfflineDownload); } \
  NS_SCRIPTABLE NS_IMETHOD GetOverrideNamespaces(PRBool *aOverrideNamespaces) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOverrideNamespaces(aOverrideNamespaces); } \
  NS_SCRIPTABLE NS_IMETHOD SetOverrideNamespaces(PRBool aOverrideNamespaces) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOverrideNamespaces(aOverrideNamespaces); } \
  NS_SCRIPTABLE NS_IMETHOD GetUsingSubscription(PRBool *aUsingSubscription) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUsingSubscription(aUsingSubscription); } \
  NS_SCRIPTABLE NS_IMETHOD SetUsingSubscription(PRBool aUsingSubscription) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUsingSubscription(aUsingSubscription); } \
  NS_SCRIPTABLE NS_IMETHOD GetManageMailAccountUrl(nsACString & aManageMailAccountUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetManageMailAccountUrl(aManageMailAccountUrl); } \
  NS_SCRIPTABLE NS_IMETHOD SetManageMailAccountUrl(const nsACString & aManageMailAccountUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetManageMailAccountUrl(aManageMailAccountUrl); } \
  NS_SCRIPTABLE NS_IMETHOD GetFetchByChunks(PRBool *aFetchByChunks) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFetchByChunks(aFetchByChunks); } \
  NS_SCRIPTABLE NS_IMETHOD SetFetchByChunks(PRBool aFetchByChunks) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFetchByChunks(aFetchByChunks); } \
  NS_SCRIPTABLE NS_IMETHOD GetMimePartsOnDemand(PRBool *aMimePartsOnDemand) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMimePartsOnDemand(aMimePartsOnDemand); } \
  NS_SCRIPTABLE NS_IMETHOD SetMimePartsOnDemand(PRBool aMimePartsOnDemand) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMimePartsOnDemand(aMimePartsOnDemand); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsAOLServer(PRBool *aIsAOLServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsAOLServer(aIsAOLServer); } \
  NS_SCRIPTABLE NS_IMETHOD SetIsAOLServer(PRBool aIsAOLServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsAOLServer(aIsAOLServer); } \
  NS_SCRIPTABLE NS_IMETHOD GetUseIdle(PRBool *aUseIdle) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUseIdle(aUseIdle); } \
  NS_SCRIPTABLE NS_IMETHOD SetUseIdle(PRBool aUseIdle) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUseIdle(aUseIdle); } \
  NS_SCRIPTABLE NS_IMETHOD GetIsGMailServer(PRBool *aIsGMailServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsGMailServer(aIsGMailServer); } \
  NS_SCRIPTABLE NS_IMETHOD SetIsGMailServer(PRBool aIsGMailServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsGMailServer(aIsGMailServer); } \
  NS_SCRIPTABLE NS_IMETHOD GetUseCondStore(PRBool *aUseCondStore) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUseCondStore(aUseCondStore); } \
  NS_SCRIPTABLE NS_IMETHOD SetUseCondStore(PRBool aUseCondStore) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUseCondStore(aUseCondStore); } \
  NS_SCRIPTABLE NS_IMETHOD GetUseCompressDeflate(PRBool *aUseCompressDeflate) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUseCompressDeflate(aUseCompressDeflate); } \
  NS_SCRIPTABLE NS_IMETHOD SetUseCompressDeflate(PRBool aUseCompressDeflate) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUseCompressDeflate(aUseCompressDeflate); } \
  NS_SCRIPTABLE NS_IMETHOD GetTrashFolderName(nsAString & aTrashFolderName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTrashFolderName(aTrashFolderName); } \
  NS_SCRIPTABLE NS_IMETHOD SetTrashFolderName(const nsAString & aTrashFolderName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTrashFolderName(aTrashFolderName); } \
  NS_SCRIPTABLE NS_IMETHOD GetDownloadBodiesOnGetNewMail(PRBool *aDownloadBodiesOnGetNewMail) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDownloadBodiesOnGetNewMail(aDownloadBodiesOnGetNewMail); } \
  NS_SCRIPTABLE NS_IMETHOD SetDownloadBodiesOnGetNewMail(PRBool aDownloadBodiesOnGetNewMail) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDownloadBodiesOnGetNewMail(aDownloadBodiesOnGetNewMail); } \
  NS_SCRIPTABLE NS_IMETHOD GetAutoSyncOfflineStores(PRBool *aAutoSyncOfflineStores) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAutoSyncOfflineStores(aAutoSyncOfflineStores); } \
  NS_SCRIPTABLE NS_IMETHOD SetAutoSyncOfflineStores(PRBool aAutoSyncOfflineStores) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAutoSyncOfflineStores(aAutoSyncOfflineStores); } \
  NS_SCRIPTABLE NS_IMETHOD GetAutoSyncMaxAgeDays(PRInt32 *aAutoSyncMaxAgeDays) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAutoSyncMaxAgeDays(aAutoSyncMaxAgeDays); } \
  NS_SCRIPTABLE NS_IMETHOD SetAutoSyncMaxAgeDays(PRInt32 aAutoSyncMaxAgeDays) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAutoSyncMaxAgeDays(aAutoSyncMaxAgeDays); } \
  NS_SCRIPTABLE NS_IMETHOD GetImapConnectionAndLoadUrl(nsIEventTarget *aClientEventTarget, nsIImapUrl *aImapUrl, nsISupports *aConsumer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetImapConnectionAndLoadUrl(aClientEventTarget, aImapUrl, aConsumer); } \
  NS_SCRIPTABLE NS_IMETHOD RemoveConnection(nsIImapProtocol *aImapConnection) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveConnection(aImapConnection); } \
  NS_SCRIPTABLE NS_IMETHOD ResetNamespaceReferences(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ResetNamespaceReferences(); } \
  NS_SCRIPTABLE NS_IMETHOD PseudoInterruptMsgLoad(nsIMsgFolder *aImapFolder, nsIMsgWindow *aMsgWindow, PRBool *interrupted NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->PseudoInterruptMsgLoad(aImapFolder, aMsgWindow, interrupted); } \
  NS_SCRIPTABLE NS_IMETHOD ResetConnection(const nsACString & folderName) { return !_to ? NS_ERROR_NULL_POINTER : _to->ResetConnection(folderName); } \
  NS_SCRIPTABLE NS_IMETHOD CloseConnectionForFolder(nsIMsgFolder *aMsgFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->CloseConnectionForFolder(aMsgFolder); } \
  NS_SCRIPTABLE NS_IMETHOD ReDiscoverAllFolders(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ReDiscoverAllFolders(); } \
  NS_SCRIPTABLE NS_IMETHOD SubscribeToFolder(const nsAString & name, PRBool subscribe, nsIURI **_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->SubscribeToFolder(name, subscribe, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetNewMessagesForNonInboxFolders(nsIMsgFolder *aRootFolder, nsIMsgWindow *aWindow, PRBool forceAllFolders, PRBool performingBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewMessagesForNonInboxFolders(aRootFolder, aWindow, forceAllFolders, performingBiff); } \
  NS_SCRIPTABLE NS_IMETHOD PromptPassword(nsIMsgWindow *aWindow, nsACString & _retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->PromptPassword(aWindow, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetDoingLsub(PRBool *aDoingLsub) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDoingLsub(aDoingLsub); } \
  NS_SCRIPTABLE NS_IMETHOD SetDoingLsub(PRBool aDoingLsub) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDoingLsub(aDoingLsub); } \
  NS_SCRIPTABLE NS_IMETHOD GetUriWithNamespacePrefixIfNecessary(PRInt32 namespaceType, const nsACString & originalUri, nsACString & _retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUriWithNamespacePrefixIfNecessary(namespaceType, originalUri, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetShuttingDown(PRBool *aShuttingDown) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetShuttingDown(aShuttingDown); } \
  NS_SCRIPTABLE NS_IMETHOD SetShuttingDown(PRBool aShuttingDown) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetShuttingDown(aShuttingDown); } 

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

/* Header file */
class nsImapIncomingServer : public nsIImapIncomingServer
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIIMAPINCOMINGSERVER

  nsImapIncomingServer();

private:
  ~nsImapIncomingServer();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsImapIncomingServer, nsIImapIncomingServer)

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

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

/* attribute long maximumConnectionsNumber; */
NS_IMETHODIMP nsImapIncomingServer::GetMaximumConnectionsNumber(PRInt32 *aMaximumConnectionsNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetMaximumConnectionsNumber(PRInt32 aMaximumConnectionsNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long timeOutLimits; */
NS_IMETHODIMP nsImapIncomingServer::GetTimeOutLimits(PRInt32 *aTimeOutLimits)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetTimeOutLimits(PRInt32 aTimeOutLimits)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString adminUrl; */
NS_IMETHODIMP nsImapIncomingServer::GetAdminUrl(nsACString & aAdminUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetAdminUrl(const nsACString & aAdminUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString serverDirectory; */
NS_IMETHODIMP nsImapIncomingServer::GetServerDirectory(nsACString & aServerDirectory)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetServerDirectory(const nsACString & aServerDirectory)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long capabilityPref; */
NS_IMETHODIMP nsImapIncomingServer::GetCapabilityPref(PRInt32 *aCapabilityPref)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetCapabilityPref(PRInt32 aCapabilityPref)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean cleanupInboxOnExit; */
NS_IMETHODIMP nsImapIncomingServer::GetCleanupInboxOnExit(PRBool *aCleanupInboxOnExit)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetCleanupInboxOnExit(PRBool aCleanupInboxOnExit)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgImapDeleteModel deleteModel; */
NS_IMETHODIMP nsImapIncomingServer::GetDeleteModel(nsMsgImapDeleteModel *aDeleteModel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetDeleteModel(nsMsgImapDeleteModel aDeleteModel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean dualUseFolders; */
NS_IMETHODIMP nsImapIncomingServer::GetDualUseFolders(PRBool *aDualUseFolders)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetDualUseFolders(PRBool aDualUseFolders)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long emptyTrashThreshhold; */
NS_IMETHODIMP nsImapIncomingServer::GetEmptyTrashThreshhold(PRInt32 *aEmptyTrashThreshhold)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetEmptyTrashThreshhold(PRInt32 aEmptyTrashThreshhold)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString personalNamespace; */
NS_IMETHODIMP nsImapIncomingServer::GetPersonalNamespace(nsACString & aPersonalNamespace)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetPersonalNamespace(const nsACString & aPersonalNamespace)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString publicNamespace; */
NS_IMETHODIMP nsImapIncomingServer::GetPublicNamespace(nsACString & aPublicNamespace)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetPublicNamespace(const nsACString & aPublicNamespace)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString otherUsersNamespace; */
NS_IMETHODIMP nsImapIncomingServer::GetOtherUsersNamespace(nsACString & aOtherUsersNamespace)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetOtherUsersNamespace(const nsACString & aOtherUsersNamespace)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean offlineDownload; */
NS_IMETHODIMP nsImapIncomingServer::GetOfflineDownload(PRBool *aOfflineDownload)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetOfflineDownload(PRBool aOfflineDownload)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean overrideNamespaces; */
NS_IMETHODIMP nsImapIncomingServer::GetOverrideNamespaces(PRBool *aOverrideNamespaces)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetOverrideNamespaces(PRBool aOverrideNamespaces)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean usingSubscription; */
NS_IMETHODIMP nsImapIncomingServer::GetUsingSubscription(PRBool *aUsingSubscription)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetUsingSubscription(PRBool aUsingSubscription)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString manageMailAccountUrl; */
NS_IMETHODIMP nsImapIncomingServer::GetManageMailAccountUrl(nsACString & aManageMailAccountUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetManageMailAccountUrl(const nsACString & aManageMailAccountUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean fetchByChunks; */
NS_IMETHODIMP nsImapIncomingServer::GetFetchByChunks(PRBool *aFetchByChunks)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetFetchByChunks(PRBool aFetchByChunks)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean mimePartsOnDemand; */
NS_IMETHODIMP nsImapIncomingServer::GetMimePartsOnDemand(PRBool *aMimePartsOnDemand)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetMimePartsOnDemand(PRBool aMimePartsOnDemand)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean isAOLServer; */
NS_IMETHODIMP nsImapIncomingServer::GetIsAOLServer(PRBool *aIsAOLServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetIsAOLServer(PRBool aIsAOLServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean useIdle; */
NS_IMETHODIMP nsImapIncomingServer::GetUseIdle(PRBool *aUseIdle)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetUseIdle(PRBool aUseIdle)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean isGMailServer; */
NS_IMETHODIMP nsImapIncomingServer::GetIsGMailServer(PRBool *aIsGMailServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetIsGMailServer(PRBool aIsGMailServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean useCondStore; */
NS_IMETHODIMP nsImapIncomingServer::GetUseCondStore(PRBool *aUseCondStore)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetUseCondStore(PRBool aUseCondStore)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean useCompressDeflate; */
NS_IMETHODIMP nsImapIncomingServer::GetUseCompressDeflate(PRBool *aUseCompressDeflate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetUseCompressDeflate(PRBool aUseCompressDeflate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString trashFolderName; */
NS_IMETHODIMP nsImapIncomingServer::GetTrashFolderName(nsAString & aTrashFolderName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetTrashFolderName(const nsAString & aTrashFolderName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean downloadBodiesOnGetNewMail; */
NS_IMETHODIMP nsImapIncomingServer::GetDownloadBodiesOnGetNewMail(PRBool *aDownloadBodiesOnGetNewMail)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetDownloadBodiesOnGetNewMail(PRBool aDownloadBodiesOnGetNewMail)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean autoSyncOfflineStores; */
NS_IMETHODIMP nsImapIncomingServer::GetAutoSyncOfflineStores(PRBool *aAutoSyncOfflineStores)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetAutoSyncOfflineStores(PRBool aAutoSyncOfflineStores)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long autoSyncMaxAgeDays; */
NS_IMETHODIMP nsImapIncomingServer::GetAutoSyncMaxAgeDays(PRInt32 *aAutoSyncMaxAgeDays)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetAutoSyncMaxAgeDays(PRInt32 aAutoSyncMaxAgeDays)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void GetImapConnectionAndLoadUrl (in nsIEventTarget aClientEventTarget, in nsIImapUrl aImapUrl, in nsISupports aConsumer); */
NS_IMETHODIMP nsImapIncomingServer::GetImapConnectionAndLoadUrl(nsIEventTarget *aClientEventTarget, nsIImapUrl *aImapUrl, nsISupports *aConsumer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void RemoveConnection (in nsIImapProtocol aImapConnection); */
NS_IMETHODIMP nsImapIncomingServer::RemoveConnection(nsIImapProtocol *aImapConnection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void ResetNamespaceReferences (); */
NS_IMETHODIMP nsImapIncomingServer::ResetNamespaceReferences()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void pseudoInterruptMsgLoad (in nsIMsgFolder aImapFolder, in nsIMsgWindow aMsgWindow, out boolean interrupted); */
NS_IMETHODIMP nsImapIncomingServer::PseudoInterruptMsgLoad(nsIMsgFolder *aImapFolder, nsIMsgWindow *aMsgWindow, PRBool *interrupted NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void ResetConnection (in ACString folderName); */
NS_IMETHODIMP nsImapIncomingServer::ResetConnection(const nsACString & folderName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void CloseConnectionForFolder (in nsIMsgFolder aMsgFolder); */
NS_IMETHODIMP nsImapIncomingServer::CloseConnectionForFolder(nsIMsgFolder *aMsgFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void reDiscoverAllFolders (); */
NS_IMETHODIMP nsImapIncomingServer::ReDiscoverAllFolders()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIURI subscribeToFolder (in AString name, in boolean subscribe); */
NS_IMETHODIMP nsImapIncomingServer::SubscribeToFolder(const nsAString & name, PRBool subscribe, nsIURI **_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void GetNewMessagesForNonInboxFolders (in nsIMsgFolder aRootFolder, in nsIMsgWindow aWindow, in boolean forceAllFolders, in boolean performingBiff); */
NS_IMETHODIMP nsImapIncomingServer::GetNewMessagesForNonInboxFolders(nsIMsgFolder *aRootFolder, nsIMsgWindow *aWindow, PRBool forceAllFolders, PRBool performingBiff)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString PromptPassword (in nsIMsgWindow aWindow); */
NS_IMETHODIMP nsImapIncomingServer::PromptPassword(nsIMsgWindow *aWindow, nsACString & _retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean doingLsub; */
NS_IMETHODIMP nsImapIncomingServer::GetDoingLsub(PRBool *aDoingLsub)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetDoingLsub(PRBool aDoingLsub)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString getUriWithNamespacePrefixIfNecessary (in long namespaceType, in ACString originalUri); */
NS_IMETHODIMP nsImapIncomingServer::GetUriWithNamespacePrefixIfNecessary(PRInt32 namespaceType, const nsACString & originalUri, nsACString & _retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean shuttingDown; */
NS_IMETHODIMP nsImapIncomingServer::GetShuttingDown(PRBool *aShuttingDown)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsImapIncomingServer::SetShuttingDown(PRBool aShuttingDown)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIImapIncomingServer_h__ */
