/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /root/tmp/build-seamonkey/comm-release/mailnews/base/public/nsIMsgIncomingServer.idl
 */

#ifndef __gen_nsIMsgIncomingServer_h__
#define __gen_nsIMsgIncomingServer_h__


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

#ifndef __gen_MailNewsTypes2_h__
#include "MailNewsTypes2.h"
#endif

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

class nsIMsgFolderCache; /* forward declaration */

class nsIMsgWindow; /* forward declaration */

class nsIMsgFilterList; /* forward declaration */

class nsIMsgRetentionSettings; /* forward declaration */

class nsIMsgDownloadSettings; /* forward declaration */

class nsISpamSettings; /* forward declaration */

class nsIMsgFilterPlugin; /* forward declaration */

class nsIUrlListener; /* forward declaration */

class nsIMsgDBHdr; /* forward declaration */

class nsIFile; /* forward declaration */

class nsIURI; /* forward declaration */

class nsIMsgPluggableStore; /* forward declaration */


/* starting interface:    nsIMsgIncomingServer */
#define NS_IMSGINCOMINGSERVER_IID_STR "cf46d3ce-bf1e-40b5-8749-53d1424638b3"

#define NS_IMSGINCOMINGSERVER_IID \
  {0xcf46d3ce, 0xbf1e, 0x40b5, \
    { 0x87, 0x49, 0x53, 0xd1, 0x42, 0x46, 0x38, 0xb3 }}

class NS_NO_VTABLE nsIMsgIncomingServer : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGINCOMINGSERVER_IID)

  /* attribute ACString key; */
  NS_IMETHOD GetKey(nsACString & aKey) = 0;
  NS_IMETHOD SetKey(const nsACString & aKey) = 0;

  /* attribute AString prettyName; */
  NS_IMETHOD GetPrettyName(nsAString & aPrettyName) = 0;
  NS_IMETHOD SetPrettyName(const nsAString & aPrettyName) = 0;

  /* readonly attribute AString constructedPrettyName; */
  NS_IMETHOD GetConstructedPrettyName(nsAString & aConstructedPrettyName) = 0;

  /* attribute ACString hostName; */
  NS_IMETHOD GetHostName(nsACString & aHostName) = 0;
  NS_IMETHOD SetHostName(const nsACString & aHostName) = 0;

  /* attribute ACString realHostName; */
  NS_IMETHOD GetRealHostName(nsACString & aRealHostName) = 0;
  NS_IMETHOD SetRealHostName(const nsACString & aRealHostName) = 0;

  /* attribute long port; */
  NS_IMETHOD GetPort(int32_t *aPort) = 0;
  NS_IMETHOD SetPort(int32_t aPort) = 0;

  /* attribute ACString username; */
  NS_IMETHOD GetUsername(nsACString & aUsername) = 0;
  NS_IMETHOD SetUsername(const nsACString & aUsername) = 0;

  /* attribute ACString realUsername; */
  NS_IMETHOD GetRealUsername(nsACString & aRealUsername) = 0;
  NS_IMETHOD SetRealUsername(const nsACString & aRealUsername) = 0;

  /* attribute ACString type; */
  NS_IMETHOD GetType(nsACString & aType) = 0;
  NS_IMETHOD SetType(const nsACString & aType) = 0;

  /* readonly attribute AString accountManagerChrome; */
  NS_IMETHOD GetAccountManagerChrome(nsAString & aAccountManagerChrome) = 0;

  /* readonly attribute ACString localStoreType; */
  NS_IMETHOD GetLocalStoreType(nsACString & aLocalStoreType) = 0;

  /* void onUserOrHostNameChanged (in ACString oldName, in ACString newName, in bool hostnameChanged); */
  NS_IMETHOD OnUserOrHostNameChanged(const nsACString & oldName, const nsACString & newName, bool hostnameChanged) = 0;

  /* attribute ACString password; */
  NS_IMETHOD GetPassword(nsACString & aPassword) = 0;
  NS_IMETHOD SetPassword(const nsACString & aPassword) = 0;

  /* ACString getPasswordWithUI (in AString aPromptString, in AString aPromptTitle, in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD GetPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval) = 0;

  /* void forgetPassword (); */
  NS_IMETHOD ForgetPassword(void) = 0;

  /* void forgetSessionPassword (); */
  NS_IMETHOD ForgetSessionPassword(void) = 0;

  /* attribute boolean downloadOnBiff; */
  NS_IMETHOD GetDownloadOnBiff(bool *aDownloadOnBiff) = 0;
  NS_IMETHOD SetDownloadOnBiff(bool aDownloadOnBiff) = 0;

  /* attribute boolean doBiff; */
  NS_IMETHOD GetDoBiff(bool *aDoBiff) = 0;
  NS_IMETHOD SetDoBiff(bool aDoBiff) = 0;

  /* attribute long biffMinutes; */
  NS_IMETHOD GetBiffMinutes(int32_t *aBiffMinutes) = 0;
  NS_IMETHOD SetBiffMinutes(int32_t aBiffMinutes) = 0;

  /* attribute unsigned long biffState; */
  NS_IMETHOD GetBiffState(uint32_t *aBiffState) = 0;
  NS_IMETHOD SetBiffState(uint32_t aBiffState) = 0;

  /* attribute boolean performingBiff; */
  NS_IMETHOD GetPerformingBiff(bool *aPerformingBiff) = 0;
  NS_IMETHOD SetPerformingBiff(bool aPerformingBiff) = 0;

  /* attribute nsIFile localPath; */
  NS_IMETHOD GetLocalPath(nsIFile * *aLocalPath) = 0;
  NS_IMETHOD SetLocalPath(nsIFile *aLocalPath) = 0;

  /* readonly attribute nsIMsgPluggableStore msgStore; */
  NS_IMETHOD GetMsgStore(nsIMsgPluggableStore * *aMsgStore) = 0;

  /* readonly attribute ACString serverURI; */
  NS_IMETHOD GetServerURI(nsACString & aServerURI) = 0;

  /* attribute nsIMsgFolder rootFolder; */
  NS_IMETHOD GetRootFolder(nsIMsgFolder * *aRootFolder) = 0;
  NS_IMETHOD SetRootFolder(nsIMsgFolder *aRootFolder) = 0;

  /* readonly attribute nsIMsgFolder rootMsgFolder; */
  NS_IMETHOD GetRootMsgFolder(nsIMsgFolder * *aRootMsgFolder) = 0;

  /* attribute boolean serverBusy; */
  NS_IMETHOD GetServerBusy(bool *aServerBusy) = 0;
  NS_IMETHOD SetServerBusy(bool aServerBusy) = 0;

  /* readonly attribute boolean isSecure; */
  NS_IMETHOD GetIsSecure(bool *aIsSecure) = 0;

  /* attribute nsMsgAuthMethodValue authMethod; */
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) = 0;
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) = 0;

  /* attribute nsMsgSocketTypeValue socketType; */
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) = 0;
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) = 0;

  /* attribute boolean emptyTrashOnExit; */
  NS_IMETHOD GetEmptyTrashOnExit(bool *aEmptyTrashOnExit) = 0;
  NS_IMETHOD SetEmptyTrashOnExit(bool aEmptyTrashOnExit) = 0;

  /* nsIMsgFilterList getFilterList (in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval) = 0;

  /* void setFilterList (in nsIMsgFilterList aFilterList); */
  NS_IMETHOD SetFilterList(nsIMsgFilterList *aFilterList) = 0;

  /* nsIMsgFilterList getEditableFilterList (in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval) = 0;

  /* void setEditableFilterList (in nsIMsgFilterList aFilterList); */
  NS_IMETHOD SetEditableFilterList(nsIMsgFilterList *aFilterList) = 0;

  /* void setDefaultLocalPath (in nsIFile aDefaultLocalPath); */
  NS_IMETHOD SetDefaultLocalPath(nsIFile *aDefaultLocalPath) = 0;

  /* nsIURI verifyLogon (in nsIUrlListener aUrlListener, in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval) = 0;

  /* void performBiff (in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD PerformBiff(nsIMsgWindow *aMsgWindow) = 0;

  /* void getNewMessages (in nsIMsgFolder aFolder, in nsIMsgWindow aMsgWindow, in nsIUrlListener aUrlListener); */
  NS_IMETHOD GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener) = 0;

  /* readonly attribute boolean serverRequiresPasswordForBiff; */
  NS_IMETHOD GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff) = 0;

  /* void performExpand (in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) = 0;

  /* void writeToFolderCache (in nsIMsgFolderCache folderCache); */
  NS_IMETHOD WriteToFolderCache(nsIMsgFolderCache *folderCache) = 0;

  /* void closeCachedConnections (); */
  NS_IMETHOD CloseCachedConnections(void) = 0;

  /* void shutdown (); */
  NS_IMETHOD Shutdown(void) = 0;

  /* boolean getBoolValue (in string attr); */
  NS_IMETHOD GetBoolValue(const char * attr, bool *_retval) = 0;

  /* void setBoolValue (in string attr, in boolean value); */
  NS_IMETHOD SetBoolValue(const char * attr, bool value) = 0;

  /* ACString getCharValue (in string attr); */
  NS_IMETHOD GetCharValue(const char * attr, nsACString & _retval) = 0;

  /* void setCharValue (in string attr, in ACString value); */
  NS_IMETHOD SetCharValue(const char * attr, const nsACString & value) = 0;

  /* AString getUnicharValue (in string attr); */
  NS_IMETHOD GetUnicharValue(const char * attr, nsAString & _retval) = 0;

  /* void setUnicharValue (in string attr, in AString value); */
  NS_IMETHOD SetUnicharValue(const char * attr, const nsAString & value) = 0;

  /* long getIntValue (in string attr); */
  NS_IMETHOD GetIntValue(const char * attr, int32_t *_retval) = 0;

  /* void setIntValue (in string attr, in long value); */
  NS_IMETHOD SetIntValue(const char * attr, int32_t value) = 0;

  /* nsIFile getFileValue (in string relpref, in string abspref); */
  NS_IMETHOD GetFileValue(const char * relpref, const char * abspref, nsIFile * *_retval) = 0;

  /* void setFileValue (in string relpref, in string abspref, in nsIFile aValue); */
  NS_IMETHOD SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue) = 0;

  /* void clearAllValues (); */
  NS_IMETHOD ClearAllValues(void) = 0;

  /* void removeFiles (); */
  NS_IMETHOD RemoveFiles(void) = 0;

  /* attribute boolean valid; */
  NS_IMETHOD GetValid(bool *aValid) = 0;
  NS_IMETHOD SetValid(bool aValid) = 0;

  /* AString toString (); */
  NS_IMETHOD ToString(nsAString & _retval) = 0;

  /* void displayOfflineMsg (in nsIMsgWindow aWindow); */
  NS_IMETHOD DisplayOfflineMsg(nsIMsgWindow *aWindow) = 0;

  /* boolean equals (in nsIMsgIncomingServer server); */
  NS_IMETHOD Equals(nsIMsgIncomingServer *server, bool *_retval) = 0;

  /* readonly attribute boolean downloadMessagesAtStartup; */
  NS_IMETHOD GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup) = 0;

  /* attribute boolean canHaveFilters; */
  NS_IMETHOD GetCanHaveFilters(bool *aCanHaveFilters) = 0;
  NS_IMETHOD SetCanHaveFilters(bool aCanHaveFilters) = 0;

  /* attribute boolean canDelete; */
  NS_IMETHOD GetCanDelete(bool *aCanDelete) = 0;
  NS_IMETHOD SetCanDelete(bool aCanDelete) = 0;

  /* attribute boolean loginAtStartUp; */
  NS_IMETHOD GetLoginAtStartUp(bool *aLoginAtStartUp) = 0;
  NS_IMETHOD SetLoginAtStartUp(bool aLoginAtStartUp) = 0;

  /* attribute boolean limitOfflineMessageSize; */
  NS_IMETHOD GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize) = 0;
  NS_IMETHOD SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize) = 0;

  /* attribute long maxMessageSize; */
  NS_IMETHOD GetMaxMessageSize(int32_t *aMaxMessageSize) = 0;
  NS_IMETHOD SetMaxMessageSize(int32_t aMaxMessageSize) = 0;

  /* attribute nsIMsgRetentionSettings retentionSettings; */
  NS_IMETHOD GetRetentionSettings(nsIMsgRetentionSettings * *aRetentionSettings) = 0;
  NS_IMETHOD SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings) = 0;

  /* readonly attribute boolean canBeDefaultServer; */
  NS_IMETHOD GetCanBeDefaultServer(bool *aCanBeDefaultServer) = 0;

  /* readonly attribute boolean canSearchMessages; */
  NS_IMETHOD GetCanSearchMessages(bool *aCanSearchMessages) = 0;

  /* readonly attribute boolean canEmptyTrashOnExit; */
  NS_IMETHOD GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit) = 0;

  /* attribute boolean displayStartupPage; */
  NS_IMETHOD GetDisplayStartupPage(bool *aDisplayStartupPage) = 0;
  NS_IMETHOD SetDisplayStartupPage(bool aDisplayStartupPage) = 0;

  /* attribute nsIMsgDownloadSettings downloadSettings; */
  NS_IMETHOD GetDownloadSettings(nsIMsgDownloadSettings * *aDownloadSettings) = 0;
  NS_IMETHOD SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings) = 0;

  /* attribute long offlineSupportLevel; */
  NS_IMETHOD GetOfflineSupportLevel(int32_t *aOfflineSupportLevel) = 0;
  NS_IMETHOD SetOfflineSupportLevel(int32_t aOfflineSupportLevel) = 0;

  /* AString generatePrettyNameForMigration (); */
  NS_IMETHOD GeneratePrettyNameForMigration(nsAString & _retval) = 0;

  /* readonly attribute boolean supportsDiskSpace; */
  NS_IMETHOD GetSupportsDiskSpace(bool *aSupportsDiskSpace) = 0;

  /* attribute boolean hidden; */
  NS_IMETHOD GetHidden(bool *aHidden) = 0;
  NS_IMETHOD SetHidden(bool aHidden) = 0;

  /* attribute boolean defaultCopiesAndFoldersPrefsToServer; */
  NS_IMETHOD GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer) = 0;
  NS_IMETHOD SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer) = 0;

  /* attribute boolean canCreateFoldersOnServer; */
  NS_IMETHOD GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer) = 0;
  NS_IMETHOD SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer) = 0;

  /* attribute boolean canFileMessagesOnServer; */
  NS_IMETHOD GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer) = 0;
  NS_IMETHOD SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer) = 0;

  /* readonly attribute boolean canCompactFoldersOnServer; */
  NS_IMETHOD GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer) = 0;

  /* readonly attribute boolean canUndoDeleteOnServer; */
  NS_IMETHOD GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer) = 0;

  /* readonly attribute nsMsgSearchScopeValue filterScope; */
  NS_IMETHOD GetFilterScope(nsMsgSearchScopeValue *aFilterScope) = 0;

  /* readonly attribute nsMsgSearchScopeValue searchScope; */
  NS_IMETHOD GetSearchScope(nsMsgSearchScopeValue *aSearchScope) = 0;

  /* readonly attribute boolean passwordPromptRequired; */
  NS_IMETHOD GetPasswordPromptRequired(bool *aPasswordPromptRequired) = 0;

  /* void configureTemporaryFilters (in nsIMsgFilterList filterList); */
  NS_IMETHOD ConfigureTemporaryFilters(nsIMsgFilterList *filterList) = 0;

  /* void clearTemporaryReturnReceiptsFilter (); */
  NS_IMETHOD ClearTemporaryReturnReceiptsFilter(void) = 0;

  /* readonly attribute nsISpamSettings spamSettings; */
  NS_IMETHOD GetSpamSettings(nsISpamSettings * *aSpamSettings) = 0;

  /* readonly attribute nsIMsgFilterPlugin spamFilterPlugin; */
  NS_IMETHOD GetSpamFilterPlugin(nsIMsgFilterPlugin * *aSpamFilterPlugin) = 0;

  /* nsIMsgFolder getMsgFolderFromURI (in nsIMsgFolder aFolderResource, in ACString aURI); */
  NS_IMETHOD GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString & aURI, nsIMsgFolder * *_retval) = 0;

  /* readonly attribute boolean isDeferredTo; */
  NS_IMETHOD GetIsDeferredTo(bool *aIsDeferredTo) = 0;

  enum {
    keepDups = 0,
    deleteDups = 1,
    moveDupsToTrash = 2,
    markDupsRead = 3
  };

  /* attribute long incomingDuplicateAction; */
  NS_IMETHOD GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction) = 0;
  NS_IMETHOD SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction) = 0;

  /* boolean isNewHdrDuplicate (in nsIMsgDBHdr aNewHdr); */
  NS_IMETHOD IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval) = 0;

  /* void setForcePropertyEmpty (in string propertyName, in boolean aForcePropertyEmpty); */
  NS_IMETHOD SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty) = 0;

  /* boolean getForcePropertyEmpty (in string propertyName); */
  NS_IMETHOD GetForcePropertyEmpty(const char * propertyName, bool *_retval) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgIncomingServer, NS_IMSGINCOMINGSERVER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGINCOMINGSERVER \
  NS_IMETHOD GetKey(nsACString & aKey); \
  NS_IMETHOD SetKey(const nsACString & aKey); \
  NS_IMETHOD GetPrettyName(nsAString & aPrettyName); \
  NS_IMETHOD SetPrettyName(const nsAString & aPrettyName); \
  NS_IMETHOD GetConstructedPrettyName(nsAString & aConstructedPrettyName); \
  NS_IMETHOD GetHostName(nsACString & aHostName); \
  NS_IMETHOD SetHostName(const nsACString & aHostName); \
  NS_IMETHOD GetRealHostName(nsACString & aRealHostName); \
  NS_IMETHOD SetRealHostName(const nsACString & aRealHostName); \
  NS_IMETHOD GetPort(int32_t *aPort); \
  NS_IMETHOD SetPort(int32_t aPort); \
  NS_IMETHOD GetUsername(nsACString & aUsername); \
  NS_IMETHOD SetUsername(const nsACString & aUsername); \
  NS_IMETHOD GetRealUsername(nsACString & aRealUsername); \
  NS_IMETHOD SetRealUsername(const nsACString & aRealUsername); \
  NS_IMETHOD GetType(nsACString & aType); \
  NS_IMETHOD SetType(const nsACString & aType); \
  NS_IMETHOD GetAccountManagerChrome(nsAString & aAccountManagerChrome); \
  NS_IMETHOD GetLocalStoreType(nsACString & aLocalStoreType); \
  NS_IMETHOD OnUserOrHostNameChanged(const nsACString & oldName, const nsACString & newName, bool hostnameChanged); \
  NS_IMETHOD GetPassword(nsACString & aPassword); \
  NS_IMETHOD SetPassword(const nsACString & aPassword); \
  NS_IMETHOD GetPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval); \
  NS_IMETHOD ForgetPassword(void); \
  NS_IMETHOD ForgetSessionPassword(void); \
  NS_IMETHOD GetDownloadOnBiff(bool *aDownloadOnBiff); \
  NS_IMETHOD SetDownloadOnBiff(bool aDownloadOnBiff); \
  NS_IMETHOD GetDoBiff(bool *aDoBiff); \
  NS_IMETHOD SetDoBiff(bool aDoBiff); \
  NS_IMETHOD GetBiffMinutes(int32_t *aBiffMinutes); \
  NS_IMETHOD SetBiffMinutes(int32_t aBiffMinutes); \
  NS_IMETHOD GetBiffState(uint32_t *aBiffState); \
  NS_IMETHOD SetBiffState(uint32_t aBiffState); \
  NS_IMETHOD GetPerformingBiff(bool *aPerformingBiff); \
  NS_IMETHOD SetPerformingBiff(bool aPerformingBiff); \
  NS_IMETHOD GetLocalPath(nsIFile * *aLocalPath); \
  NS_IMETHOD SetLocalPath(nsIFile *aLocalPath); \
  NS_IMETHOD GetMsgStore(nsIMsgPluggableStore * *aMsgStore); \
  NS_IMETHOD GetServerURI(nsACString & aServerURI); \
  NS_IMETHOD GetRootFolder(nsIMsgFolder * *aRootFolder); \
  NS_IMETHOD SetRootFolder(nsIMsgFolder *aRootFolder); \
  NS_IMETHOD GetRootMsgFolder(nsIMsgFolder * *aRootMsgFolder); \
  NS_IMETHOD GetServerBusy(bool *aServerBusy); \
  NS_IMETHOD SetServerBusy(bool aServerBusy); \
  NS_IMETHOD GetIsSecure(bool *aIsSecure); \
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod); \
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod); \
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType); \
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType); \
  NS_IMETHOD GetEmptyTrashOnExit(bool *aEmptyTrashOnExit); \
  NS_IMETHOD SetEmptyTrashOnExit(bool aEmptyTrashOnExit); \
  NS_IMETHOD GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval); \
  NS_IMETHOD SetFilterList(nsIMsgFilterList *aFilterList); \
  NS_IMETHOD GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval); \
  NS_IMETHOD SetEditableFilterList(nsIMsgFilterList *aFilterList); \
  NS_IMETHOD SetDefaultLocalPath(nsIFile *aDefaultLocalPath); \
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval); \
  NS_IMETHOD PerformBiff(nsIMsgWindow *aMsgWindow); \
  NS_IMETHOD GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener); \
  NS_IMETHOD GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff); \
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow); \
  NS_IMETHOD WriteToFolderCache(nsIMsgFolderCache *folderCache); \
  NS_IMETHOD CloseCachedConnections(void); \
  NS_IMETHOD Shutdown(void); \
  NS_IMETHOD GetBoolValue(const char * attr, bool *_retval); \
  NS_IMETHOD SetBoolValue(const char * attr, bool value); \
  NS_IMETHOD GetCharValue(const char * attr, nsACString & _retval); \
  NS_IMETHOD SetCharValue(const char * attr, const nsACString & value); \
  NS_IMETHOD GetUnicharValue(const char * attr, nsAString & _retval); \
  NS_IMETHOD SetUnicharValue(const char * attr, const nsAString & value); \
  NS_IMETHOD GetIntValue(const char * attr, int32_t *_retval); \
  NS_IMETHOD SetIntValue(const char * attr, int32_t value); \
  NS_IMETHOD GetFileValue(const char * relpref, const char * abspref, nsIFile * *_retval); \
  NS_IMETHOD SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue); \
  NS_IMETHOD ClearAllValues(void); \
  NS_IMETHOD RemoveFiles(void); \
  NS_IMETHOD GetValid(bool *aValid); \
  NS_IMETHOD SetValid(bool aValid); \
  NS_IMETHOD ToString(nsAString & _retval); \
  NS_IMETHOD DisplayOfflineMsg(nsIMsgWindow *aWindow); \
  NS_IMETHOD Equals(nsIMsgIncomingServer *server, bool *_retval); \
  NS_IMETHOD GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup); \
  NS_IMETHOD GetCanHaveFilters(bool *aCanHaveFilters); \
  NS_IMETHOD SetCanHaveFilters(bool aCanHaveFilters); \
  NS_IMETHOD GetCanDelete(bool *aCanDelete); \
  NS_IMETHOD SetCanDelete(bool aCanDelete); \
  NS_IMETHOD GetLoginAtStartUp(bool *aLoginAtStartUp); \
  NS_IMETHOD SetLoginAtStartUp(bool aLoginAtStartUp); \
  NS_IMETHOD GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize); \
  NS_IMETHOD SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize); \
  NS_IMETHOD GetMaxMessageSize(int32_t *aMaxMessageSize); \
  NS_IMETHOD SetMaxMessageSize(int32_t aMaxMessageSize); \
  NS_IMETHOD GetRetentionSettings(nsIMsgRetentionSettings * *aRetentionSettings); \
  NS_IMETHOD SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings); \
  NS_IMETHOD GetCanBeDefaultServer(bool *aCanBeDefaultServer); \
  NS_IMETHOD GetCanSearchMessages(bool *aCanSearchMessages); \
  NS_IMETHOD GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit); \
  NS_IMETHOD GetDisplayStartupPage(bool *aDisplayStartupPage); \
  NS_IMETHOD SetDisplayStartupPage(bool aDisplayStartupPage); \
  NS_IMETHOD GetDownloadSettings(nsIMsgDownloadSettings * *aDownloadSettings); \
  NS_IMETHOD SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings); \
  NS_IMETHOD GetOfflineSupportLevel(int32_t *aOfflineSupportLevel); \
  NS_IMETHOD SetOfflineSupportLevel(int32_t aOfflineSupportLevel); \
  NS_IMETHOD GeneratePrettyNameForMigration(nsAString & _retval); \
  NS_IMETHOD GetSupportsDiskSpace(bool *aSupportsDiskSpace); \
  NS_IMETHOD GetHidden(bool *aHidden); \
  NS_IMETHOD SetHidden(bool aHidden); \
  NS_IMETHOD GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer); \
  NS_IMETHOD SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer); \
  NS_IMETHOD GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer); \
  NS_IMETHOD SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer); \
  NS_IMETHOD GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer); \
  NS_IMETHOD SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer); \
  NS_IMETHOD GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer); \
  NS_IMETHOD GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer); \
  NS_IMETHOD GetFilterScope(nsMsgSearchScopeValue *aFilterScope); \
  NS_IMETHOD GetSearchScope(nsMsgSearchScopeValue *aSearchScope); \
  NS_IMETHOD GetPasswordPromptRequired(bool *aPasswordPromptRequired); \
  NS_IMETHOD ConfigureTemporaryFilters(nsIMsgFilterList *filterList); \
  NS_IMETHOD ClearTemporaryReturnReceiptsFilter(void); \
  NS_IMETHOD GetSpamSettings(nsISpamSettings * *aSpamSettings); \
  NS_IMETHOD GetSpamFilterPlugin(nsIMsgFilterPlugin * *aSpamFilterPlugin); \
  NS_IMETHOD GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString & aURI, nsIMsgFolder * *_retval); \
  NS_IMETHOD GetIsDeferredTo(bool *aIsDeferredTo); \
  NS_IMETHOD GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction); \
  NS_IMETHOD SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction); \
  NS_IMETHOD IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval); \
  NS_IMETHOD SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty); \
  NS_IMETHOD GetForcePropertyEmpty(const char * propertyName, bool *_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGINCOMINGSERVER(_to) \
  NS_IMETHOD GetKey(nsACString & aKey) { return _to GetKey(aKey); } \
  NS_IMETHOD SetKey(const nsACString & aKey) { return _to SetKey(aKey); } \
  NS_IMETHOD GetPrettyName(nsAString & aPrettyName) { return _to GetPrettyName(aPrettyName); } \
  NS_IMETHOD SetPrettyName(const nsAString & aPrettyName) { return _to SetPrettyName(aPrettyName); } \
  NS_IMETHOD GetConstructedPrettyName(nsAString & aConstructedPrettyName) { return _to GetConstructedPrettyName(aConstructedPrettyName); } \
  NS_IMETHOD GetHostName(nsACString & aHostName) { return _to GetHostName(aHostName); } \
  NS_IMETHOD SetHostName(const nsACString & aHostName) { return _to SetHostName(aHostName); } \
  NS_IMETHOD GetRealHostName(nsACString & aRealHostName) { return _to GetRealHostName(aRealHostName); } \
  NS_IMETHOD SetRealHostName(const nsACString & aRealHostName) { return _to SetRealHostName(aRealHostName); } \
  NS_IMETHOD GetPort(int32_t *aPort) { return _to GetPort(aPort); } \
  NS_IMETHOD SetPort(int32_t aPort) { return _to SetPort(aPort); } \
  NS_IMETHOD GetUsername(nsACString & aUsername) { return _to GetUsername(aUsername); } \
  NS_IMETHOD SetUsername(const nsACString & aUsername) { return _to SetUsername(aUsername); } \
  NS_IMETHOD GetRealUsername(nsACString & aRealUsername) { return _to GetRealUsername(aRealUsername); } \
  NS_IMETHOD SetRealUsername(const nsACString & aRealUsername) { return _to SetRealUsername(aRealUsername); } \
  NS_IMETHOD GetType(nsACString & aType) { return _to GetType(aType); } \
  NS_IMETHOD SetType(const nsACString & aType) { return _to SetType(aType); } \
  NS_IMETHOD GetAccountManagerChrome(nsAString & aAccountManagerChrome) { return _to GetAccountManagerChrome(aAccountManagerChrome); } \
  NS_IMETHOD GetLocalStoreType(nsACString & aLocalStoreType) { return _to GetLocalStoreType(aLocalStoreType); } \
  NS_IMETHOD OnUserOrHostNameChanged(const nsACString & oldName, const nsACString & newName, bool hostnameChanged) { return _to OnUserOrHostNameChanged(oldName, newName, hostnameChanged); } \
  NS_IMETHOD GetPassword(nsACString & aPassword) { return _to GetPassword(aPassword); } \
  NS_IMETHOD SetPassword(const nsACString & aPassword) { return _to SetPassword(aPassword); } \
  NS_IMETHOD GetPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval) { return _to GetPasswordWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_IMETHOD ForgetPassword(void) { return _to ForgetPassword(); } \
  NS_IMETHOD ForgetSessionPassword(void) { return _to ForgetSessionPassword(); } \
  NS_IMETHOD GetDownloadOnBiff(bool *aDownloadOnBiff) { return _to GetDownloadOnBiff(aDownloadOnBiff); } \
  NS_IMETHOD SetDownloadOnBiff(bool aDownloadOnBiff) { return _to SetDownloadOnBiff(aDownloadOnBiff); } \
  NS_IMETHOD GetDoBiff(bool *aDoBiff) { return _to GetDoBiff(aDoBiff); } \
  NS_IMETHOD SetDoBiff(bool aDoBiff) { return _to SetDoBiff(aDoBiff); } \
  NS_IMETHOD GetBiffMinutes(int32_t *aBiffMinutes) { return _to GetBiffMinutes(aBiffMinutes); } \
  NS_IMETHOD SetBiffMinutes(int32_t aBiffMinutes) { return _to SetBiffMinutes(aBiffMinutes); } \
  NS_IMETHOD GetBiffState(uint32_t *aBiffState) { return _to GetBiffState(aBiffState); } \
  NS_IMETHOD SetBiffState(uint32_t aBiffState) { return _to SetBiffState(aBiffState); } \
  NS_IMETHOD GetPerformingBiff(bool *aPerformingBiff) { return _to GetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD SetPerformingBiff(bool aPerformingBiff) { return _to SetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD GetLocalPath(nsIFile * *aLocalPath) { return _to GetLocalPath(aLocalPath); } \
  NS_IMETHOD SetLocalPath(nsIFile *aLocalPath) { return _to SetLocalPath(aLocalPath); } \
  NS_IMETHOD GetMsgStore(nsIMsgPluggableStore * *aMsgStore) { return _to GetMsgStore(aMsgStore); } \
  NS_IMETHOD GetServerURI(nsACString & aServerURI) { return _to GetServerURI(aServerURI); } \
  NS_IMETHOD GetRootFolder(nsIMsgFolder * *aRootFolder) { return _to GetRootFolder(aRootFolder); } \
  NS_IMETHOD SetRootFolder(nsIMsgFolder *aRootFolder) { return _to SetRootFolder(aRootFolder); } \
  NS_IMETHOD GetRootMsgFolder(nsIMsgFolder * *aRootMsgFolder) { return _to GetRootMsgFolder(aRootMsgFolder); } \
  NS_IMETHOD GetServerBusy(bool *aServerBusy) { return _to GetServerBusy(aServerBusy); } \
  NS_IMETHOD SetServerBusy(bool aServerBusy) { return _to SetServerBusy(aServerBusy); } \
  NS_IMETHOD GetIsSecure(bool *aIsSecure) { return _to GetIsSecure(aIsSecure); } \
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) { return _to GetAuthMethod(aAuthMethod); } \
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) { return _to SetAuthMethod(aAuthMethod); } \
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) { return _to GetSocketType(aSocketType); } \
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) { return _to SetSocketType(aSocketType); } \
  NS_IMETHOD GetEmptyTrashOnExit(bool *aEmptyTrashOnExit) { return _to GetEmptyTrashOnExit(aEmptyTrashOnExit); } \
  NS_IMETHOD SetEmptyTrashOnExit(bool aEmptyTrashOnExit) { return _to SetEmptyTrashOnExit(aEmptyTrashOnExit); } \
  NS_IMETHOD GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval) { return _to GetFilterList(aMsgWindow, _retval); } \
  NS_IMETHOD SetFilterList(nsIMsgFilterList *aFilterList) { return _to SetFilterList(aFilterList); } \
  NS_IMETHOD GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval) { return _to GetEditableFilterList(aMsgWindow, _retval); } \
  NS_IMETHOD SetEditableFilterList(nsIMsgFilterList *aFilterList) { return _to SetEditableFilterList(aFilterList); } \
  NS_IMETHOD SetDefaultLocalPath(nsIFile *aDefaultLocalPath) { return _to SetDefaultLocalPath(aDefaultLocalPath); } \
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval) { return _to VerifyLogon(aUrlListener, aMsgWindow, _retval); } \
  NS_IMETHOD PerformBiff(nsIMsgWindow *aMsgWindow) { return _to PerformBiff(aMsgWindow); } \
  NS_IMETHOD GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener) { return _to GetNewMessages(aFolder, aMsgWindow, aUrlListener); } \
  NS_IMETHOD GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff) { return _to GetServerRequiresPasswordForBiff(aServerRequiresPasswordForBiff); } \
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) { return _to PerformExpand(aMsgWindow); } \
  NS_IMETHOD WriteToFolderCache(nsIMsgFolderCache *folderCache) { return _to WriteToFolderCache(folderCache); } \
  NS_IMETHOD CloseCachedConnections(void) { return _to CloseCachedConnections(); } \
  NS_IMETHOD Shutdown(void) { return _to Shutdown(); } \
  NS_IMETHOD GetBoolValue(const char * attr, bool *_retval) { return _to GetBoolValue(attr, _retval); } \
  NS_IMETHOD SetBoolValue(const char * attr, bool value) { return _to SetBoolValue(attr, value); } \
  NS_IMETHOD GetCharValue(const char * attr, nsACString & _retval) { return _to GetCharValue(attr, _retval); } \
  NS_IMETHOD SetCharValue(const char * attr, const nsACString & value) { return _to SetCharValue(attr, value); } \
  NS_IMETHOD GetUnicharValue(const char * attr, nsAString & _retval) { return _to GetUnicharValue(attr, _retval); } \
  NS_IMETHOD SetUnicharValue(const char * attr, const nsAString & value) { return _to SetUnicharValue(attr, value); } \
  NS_IMETHOD GetIntValue(const char * attr, int32_t *_retval) { return _to GetIntValue(attr, _retval); } \
  NS_IMETHOD SetIntValue(const char * attr, int32_t value) { return _to SetIntValue(attr, value); } \
  NS_IMETHOD GetFileValue(const char * relpref, const char * abspref, nsIFile * *_retval) { return _to GetFileValue(relpref, abspref, _retval); } \
  NS_IMETHOD SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue) { return _to SetFileValue(relpref, abspref, aValue); } \
  NS_IMETHOD ClearAllValues(void) { return _to ClearAllValues(); } \
  NS_IMETHOD RemoveFiles(void) { return _to RemoveFiles(); } \
  NS_IMETHOD GetValid(bool *aValid) { return _to GetValid(aValid); } \
  NS_IMETHOD SetValid(bool aValid) { return _to SetValid(aValid); } \
  NS_IMETHOD ToString(nsAString & _retval) { return _to ToString(_retval); } \
  NS_IMETHOD DisplayOfflineMsg(nsIMsgWindow *aWindow) { return _to DisplayOfflineMsg(aWindow); } \
  NS_IMETHOD Equals(nsIMsgIncomingServer *server, bool *_retval) { return _to Equals(server, _retval); } \
  NS_IMETHOD GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup) { return _to GetDownloadMessagesAtStartup(aDownloadMessagesAtStartup); } \
  NS_IMETHOD GetCanHaveFilters(bool *aCanHaveFilters) { return _to GetCanHaveFilters(aCanHaveFilters); } \
  NS_IMETHOD SetCanHaveFilters(bool aCanHaveFilters) { return _to SetCanHaveFilters(aCanHaveFilters); } \
  NS_IMETHOD GetCanDelete(bool *aCanDelete) { return _to GetCanDelete(aCanDelete); } \
  NS_IMETHOD SetCanDelete(bool aCanDelete) { return _to SetCanDelete(aCanDelete); } \
  NS_IMETHOD GetLoginAtStartUp(bool *aLoginAtStartUp) { return _to GetLoginAtStartUp(aLoginAtStartUp); } \
  NS_IMETHOD SetLoginAtStartUp(bool aLoginAtStartUp) { return _to SetLoginAtStartUp(aLoginAtStartUp); } \
  NS_IMETHOD GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize) { return _to GetLimitOfflineMessageSize(aLimitOfflineMessageSize); } \
  NS_IMETHOD SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize) { return _to SetLimitOfflineMessageSize(aLimitOfflineMessageSize); } \
  NS_IMETHOD GetMaxMessageSize(int32_t *aMaxMessageSize) { return _to GetMaxMessageSize(aMaxMessageSize); } \
  NS_IMETHOD SetMaxMessageSize(int32_t aMaxMessageSize) { return _to SetMaxMessageSize(aMaxMessageSize); } \
  NS_IMETHOD GetRetentionSettings(nsIMsgRetentionSettings * *aRetentionSettings) { return _to GetRetentionSettings(aRetentionSettings); } \
  NS_IMETHOD SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings) { return _to SetRetentionSettings(aRetentionSettings); } \
  NS_IMETHOD GetCanBeDefaultServer(bool *aCanBeDefaultServer) { return _to GetCanBeDefaultServer(aCanBeDefaultServer); } \
  NS_IMETHOD GetCanSearchMessages(bool *aCanSearchMessages) { return _to GetCanSearchMessages(aCanSearchMessages); } \
  NS_IMETHOD GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit) { return _to GetCanEmptyTrashOnExit(aCanEmptyTrashOnExit); } \
  NS_IMETHOD GetDisplayStartupPage(bool *aDisplayStartupPage) { return _to GetDisplayStartupPage(aDisplayStartupPage); } \
  NS_IMETHOD SetDisplayStartupPage(bool aDisplayStartupPage) { return _to SetDisplayStartupPage(aDisplayStartupPage); } \
  NS_IMETHOD GetDownloadSettings(nsIMsgDownloadSettings * *aDownloadSettings) { return _to GetDownloadSettings(aDownloadSettings); } \
  NS_IMETHOD SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings) { return _to SetDownloadSettings(aDownloadSettings); } \
  NS_IMETHOD GetOfflineSupportLevel(int32_t *aOfflineSupportLevel) { return _to GetOfflineSupportLevel(aOfflineSupportLevel); } \
  NS_IMETHOD SetOfflineSupportLevel(int32_t aOfflineSupportLevel) { return _to SetOfflineSupportLevel(aOfflineSupportLevel); } \
  NS_IMETHOD GeneratePrettyNameForMigration(nsAString & _retval) { return _to GeneratePrettyNameForMigration(_retval); } \
  NS_IMETHOD GetSupportsDiskSpace(bool *aSupportsDiskSpace) { return _to GetSupportsDiskSpace(aSupportsDiskSpace); } \
  NS_IMETHOD GetHidden(bool *aHidden) { return _to GetHidden(aHidden); } \
  NS_IMETHOD SetHidden(bool aHidden) { return _to SetHidden(aHidden); } \
  NS_IMETHOD GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer) { return _to GetDefaultCopiesAndFoldersPrefsToServer(aDefaultCopiesAndFoldersPrefsToServer); } \
  NS_IMETHOD SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer) { return _to SetDefaultCopiesAndFoldersPrefsToServer(aDefaultCopiesAndFoldersPrefsToServer); } \
  NS_IMETHOD GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer) { return _to GetCanCreateFoldersOnServer(aCanCreateFoldersOnServer); } \
  NS_IMETHOD SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer) { return _to SetCanCreateFoldersOnServer(aCanCreateFoldersOnServer); } \
  NS_IMETHOD GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer) { return _to GetCanFileMessagesOnServer(aCanFileMessagesOnServer); } \
  NS_IMETHOD SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer) { return _to SetCanFileMessagesOnServer(aCanFileMessagesOnServer); } \
  NS_IMETHOD GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer) { return _to GetCanCompactFoldersOnServer(aCanCompactFoldersOnServer); } \
  NS_IMETHOD GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer) { return _to GetCanUndoDeleteOnServer(aCanUndoDeleteOnServer); } \
  NS_IMETHOD GetFilterScope(nsMsgSearchScopeValue *aFilterScope) { return _to GetFilterScope(aFilterScope); } \
  NS_IMETHOD GetSearchScope(nsMsgSearchScopeValue *aSearchScope) { return _to GetSearchScope(aSearchScope); } \
  NS_IMETHOD GetPasswordPromptRequired(bool *aPasswordPromptRequired) { return _to GetPasswordPromptRequired(aPasswordPromptRequired); } \
  NS_IMETHOD ConfigureTemporaryFilters(nsIMsgFilterList *filterList) { return _to ConfigureTemporaryFilters(filterList); } \
  NS_IMETHOD ClearTemporaryReturnReceiptsFilter(void) { return _to ClearTemporaryReturnReceiptsFilter(); } \
  NS_IMETHOD GetSpamSettings(nsISpamSettings * *aSpamSettings) { return _to GetSpamSettings(aSpamSettings); } \
  NS_IMETHOD GetSpamFilterPlugin(nsIMsgFilterPlugin * *aSpamFilterPlugin) { return _to GetSpamFilterPlugin(aSpamFilterPlugin); } \
  NS_IMETHOD GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString & aURI, nsIMsgFolder * *_retval) { return _to GetMsgFolderFromURI(aFolderResource, aURI, _retval); } \
  NS_IMETHOD GetIsDeferredTo(bool *aIsDeferredTo) { return _to GetIsDeferredTo(aIsDeferredTo); } \
  NS_IMETHOD GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction) { return _to GetIncomingDuplicateAction(aIncomingDuplicateAction); } \
  NS_IMETHOD SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction) { return _to SetIncomingDuplicateAction(aIncomingDuplicateAction); } \
  NS_IMETHOD IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval) { return _to IsNewHdrDuplicate(aNewHdr, _retval); } \
  NS_IMETHOD SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty) { return _to SetForcePropertyEmpty(propertyName, aForcePropertyEmpty); } \
  NS_IMETHOD GetForcePropertyEmpty(const char * propertyName, bool *_retval) { return _to GetForcePropertyEmpty(propertyName, _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_NSIMSGINCOMINGSERVER(_to) \
  NS_IMETHOD GetKey(nsACString & aKey) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKey(aKey); } \
  NS_IMETHOD SetKey(const nsACString & aKey) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetKey(aKey); } \
  NS_IMETHOD GetPrettyName(nsAString & aPrettyName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPrettyName(aPrettyName); } \
  NS_IMETHOD SetPrettyName(const nsAString & aPrettyName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPrettyName(aPrettyName); } \
  NS_IMETHOD GetConstructedPrettyName(nsAString & aConstructedPrettyName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetConstructedPrettyName(aConstructedPrettyName); } \
  NS_IMETHOD GetHostName(nsACString & aHostName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHostName(aHostName); } \
  NS_IMETHOD SetHostName(const nsACString & aHostName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHostName(aHostName); } \
  NS_IMETHOD GetRealHostName(nsACString & aRealHostName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRealHostName(aRealHostName); } \
  NS_IMETHOD SetRealHostName(const nsACString & aRealHostName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRealHostName(aRealHostName); } \
  NS_IMETHOD GetPort(int32_t *aPort) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPort(aPort); } \
  NS_IMETHOD SetPort(int32_t aPort) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPort(aPort); } \
  NS_IMETHOD GetUsername(nsACString & aUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUsername(aUsername); } \
  NS_IMETHOD SetUsername(const nsACString & aUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUsername(aUsername); } \
  NS_IMETHOD GetRealUsername(nsACString & aRealUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRealUsername(aRealUsername); } \
  NS_IMETHOD SetRealUsername(const nsACString & aRealUsername) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRealUsername(aRealUsername); } \
  NS_IMETHOD GetType(nsACString & aType) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetType(aType); } \
  NS_IMETHOD SetType(const nsACString & aType) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetType(aType); } \
  NS_IMETHOD GetAccountManagerChrome(nsAString & aAccountManagerChrome) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAccountManagerChrome(aAccountManagerChrome); } \
  NS_IMETHOD GetLocalStoreType(nsACString & aLocalStoreType) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLocalStoreType(aLocalStoreType); } \
  NS_IMETHOD OnUserOrHostNameChanged(const nsACString & oldName, const nsACString & newName, bool hostnameChanged) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnUserOrHostNameChanged(oldName, newName, hostnameChanged); } \
  NS_IMETHOD GetPassword(nsACString & aPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPassword(aPassword); } \
  NS_IMETHOD SetPassword(const nsACString & aPassword) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPassword(aPassword); } \
  NS_IMETHOD GetPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPasswordWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_IMETHOD ForgetPassword(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ForgetPassword(); } \
  NS_IMETHOD ForgetSessionPassword(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ForgetSessionPassword(); } \
  NS_IMETHOD GetDownloadOnBiff(bool *aDownloadOnBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDownloadOnBiff(aDownloadOnBiff); } \
  NS_IMETHOD SetDownloadOnBiff(bool aDownloadOnBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDownloadOnBiff(aDownloadOnBiff); } \
  NS_IMETHOD GetDoBiff(bool *aDoBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDoBiff(aDoBiff); } \
  NS_IMETHOD SetDoBiff(bool aDoBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDoBiff(aDoBiff); } \
  NS_IMETHOD GetBiffMinutes(int32_t *aBiffMinutes) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBiffMinutes(aBiffMinutes); } \
  NS_IMETHOD SetBiffMinutes(int32_t aBiffMinutes) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBiffMinutes(aBiffMinutes); } \
  NS_IMETHOD GetBiffState(uint32_t *aBiffState) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBiffState(aBiffState); } \
  NS_IMETHOD SetBiffState(uint32_t aBiffState) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBiffState(aBiffState); } \
  NS_IMETHOD GetPerformingBiff(bool *aPerformingBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD SetPerformingBiff(bool aPerformingBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD GetLocalPath(nsIFile * *aLocalPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLocalPath(aLocalPath); } \
  NS_IMETHOD SetLocalPath(nsIFile *aLocalPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLocalPath(aLocalPath); } \
  NS_IMETHOD GetMsgStore(nsIMsgPluggableStore * *aMsgStore) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMsgStore(aMsgStore); } \
  NS_IMETHOD GetServerURI(nsACString & aServerURI) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerURI(aServerURI); } \
  NS_IMETHOD GetRootFolder(nsIMsgFolder * *aRootFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRootFolder(aRootFolder); } \
  NS_IMETHOD SetRootFolder(nsIMsgFolder *aRootFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRootFolder(aRootFolder); } \
  NS_IMETHOD GetRootMsgFolder(nsIMsgFolder * *aRootMsgFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRootMsgFolder(aRootMsgFolder); } \
  NS_IMETHOD GetServerBusy(bool *aServerBusy) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerBusy(aServerBusy); } \
  NS_IMETHOD SetServerBusy(bool aServerBusy) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetServerBusy(aServerBusy); } \
  NS_IMETHOD GetIsSecure(bool *aIsSecure) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsSecure(aIsSecure); } \
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAuthMethod(aAuthMethod); } \
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAuthMethod(aAuthMethod); } \
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSocketType(aSocketType); } \
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSocketType(aSocketType); } \
  NS_IMETHOD GetEmptyTrashOnExit(bool *aEmptyTrashOnExit) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEmptyTrashOnExit(aEmptyTrashOnExit); } \
  NS_IMETHOD SetEmptyTrashOnExit(bool aEmptyTrashOnExit) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEmptyTrashOnExit(aEmptyTrashOnExit); } \
  NS_IMETHOD GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFilterList(aMsgWindow, _retval); } \
  NS_IMETHOD SetFilterList(nsIMsgFilterList *aFilterList) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFilterList(aFilterList); } \
  NS_IMETHOD GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEditableFilterList(aMsgWindow, _retval); } \
  NS_IMETHOD SetEditableFilterList(nsIMsgFilterList *aFilterList) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEditableFilterList(aFilterList); } \
  NS_IMETHOD SetDefaultLocalPath(nsIFile *aDefaultLocalPath) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDefaultLocalPath(aDefaultLocalPath); } \
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->VerifyLogon(aUrlListener, aMsgWindow, _retval); } \
  NS_IMETHOD PerformBiff(nsIMsgWindow *aMsgWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->PerformBiff(aMsgWindow); } \
  NS_IMETHOD GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewMessages(aFolder, aMsgWindow, aUrlListener); } \
  NS_IMETHOD GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerRequiresPasswordForBiff(aServerRequiresPasswordForBiff); } \
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->PerformExpand(aMsgWindow); } \
  NS_IMETHOD WriteToFolderCache(nsIMsgFolderCache *folderCache) { return !_to ? NS_ERROR_NULL_POINTER : _to->WriteToFolderCache(folderCache); } \
  NS_IMETHOD CloseCachedConnections(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->CloseCachedConnections(); } \
  NS_IMETHOD Shutdown(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Shutdown(); } \
  NS_IMETHOD GetBoolValue(const char * attr, bool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBoolValue(attr, _retval); } \
  NS_IMETHOD SetBoolValue(const char * attr, bool value) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBoolValue(attr, value); } \
  NS_IMETHOD GetCharValue(const char * attr, nsACString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharValue(attr, _retval); } \
  NS_IMETHOD SetCharValue(const char * attr, const nsACString & value) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCharValue(attr, value); } \
  NS_IMETHOD GetUnicharValue(const char * attr, nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUnicharValue(attr, _retval); } \
  NS_IMETHOD SetUnicharValue(const char * attr, const nsAString & value) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUnicharValue(attr, value); } \
  NS_IMETHOD GetIntValue(const char * attr, int32_t *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIntValue(attr, _retval); } \
  NS_IMETHOD SetIntValue(const char * attr, int32_t value) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIntValue(attr, value); } \
  NS_IMETHOD GetFileValue(const char * relpref, const char * abspref, nsIFile * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFileValue(relpref, abspref, _retval); } \
  NS_IMETHOD SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFileValue(relpref, abspref, aValue); } \
  NS_IMETHOD ClearAllValues(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearAllValues(); } \
  NS_IMETHOD RemoveFiles(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveFiles(); } \
  NS_IMETHOD GetValid(bool *aValid) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetValid(aValid); } \
  NS_IMETHOD SetValid(bool aValid) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetValid(aValid); } \
  NS_IMETHOD ToString(nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } \
  NS_IMETHOD DisplayOfflineMsg(nsIMsgWindow *aWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->DisplayOfflineMsg(aWindow); } \
  NS_IMETHOD Equals(nsIMsgIncomingServer *server, bool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Equals(server, _retval); } \
  NS_IMETHOD GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDownloadMessagesAtStartup(aDownloadMessagesAtStartup); } \
  NS_IMETHOD GetCanHaveFilters(bool *aCanHaveFilters) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanHaveFilters(aCanHaveFilters); } \
  NS_IMETHOD SetCanHaveFilters(bool aCanHaveFilters) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCanHaveFilters(aCanHaveFilters); } \
  NS_IMETHOD GetCanDelete(bool *aCanDelete) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanDelete(aCanDelete); } \
  NS_IMETHOD SetCanDelete(bool aCanDelete) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCanDelete(aCanDelete); } \
  NS_IMETHOD GetLoginAtStartUp(bool *aLoginAtStartUp) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoginAtStartUp(aLoginAtStartUp); } \
  NS_IMETHOD SetLoginAtStartUp(bool aLoginAtStartUp) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLoginAtStartUp(aLoginAtStartUp); } \
  NS_IMETHOD GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLimitOfflineMessageSize(aLimitOfflineMessageSize); } \
  NS_IMETHOD SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLimitOfflineMessageSize(aLimitOfflineMessageSize); } \
  NS_IMETHOD GetMaxMessageSize(int32_t *aMaxMessageSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxMessageSize(aMaxMessageSize); } \
  NS_IMETHOD SetMaxMessageSize(int32_t aMaxMessageSize) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMaxMessageSize(aMaxMessageSize); } \
  NS_IMETHOD GetRetentionSettings(nsIMsgRetentionSettings * *aRetentionSettings) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRetentionSettings(aRetentionSettings); } \
  NS_IMETHOD SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRetentionSettings(aRetentionSettings); } \
  NS_IMETHOD GetCanBeDefaultServer(bool *aCanBeDefaultServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanBeDefaultServer(aCanBeDefaultServer); } \
  NS_IMETHOD GetCanSearchMessages(bool *aCanSearchMessages) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanSearchMessages(aCanSearchMessages); } \
  NS_IMETHOD GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanEmptyTrashOnExit(aCanEmptyTrashOnExit); } \
  NS_IMETHOD GetDisplayStartupPage(bool *aDisplayStartupPage) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDisplayStartupPage(aDisplayStartupPage); } \
  NS_IMETHOD SetDisplayStartupPage(bool aDisplayStartupPage) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDisplayStartupPage(aDisplayStartupPage); } \
  NS_IMETHOD GetDownloadSettings(nsIMsgDownloadSettings * *aDownloadSettings) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDownloadSettings(aDownloadSettings); } \
  NS_IMETHOD SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDownloadSettings(aDownloadSettings); } \
  NS_IMETHOD GetOfflineSupportLevel(int32_t *aOfflineSupportLevel) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOfflineSupportLevel(aOfflineSupportLevel); } \
  NS_IMETHOD SetOfflineSupportLevel(int32_t aOfflineSupportLevel) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOfflineSupportLevel(aOfflineSupportLevel); } \
  NS_IMETHOD GeneratePrettyNameForMigration(nsAString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GeneratePrettyNameForMigration(_retval); } \
  NS_IMETHOD GetSupportsDiskSpace(bool *aSupportsDiskSpace) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSupportsDiskSpace(aSupportsDiskSpace); } \
  NS_IMETHOD GetHidden(bool *aHidden) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHidden(aHidden); } \
  NS_IMETHOD SetHidden(bool aHidden) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHidden(aHidden); } \
  NS_IMETHOD GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDefaultCopiesAndFoldersPrefsToServer(aDefaultCopiesAndFoldersPrefsToServer); } \
  NS_IMETHOD SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDefaultCopiesAndFoldersPrefsToServer(aDefaultCopiesAndFoldersPrefsToServer); } \
  NS_IMETHOD GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanCreateFoldersOnServer(aCanCreateFoldersOnServer); } \
  NS_IMETHOD SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCanCreateFoldersOnServer(aCanCreateFoldersOnServer); } \
  NS_IMETHOD GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanFileMessagesOnServer(aCanFileMessagesOnServer); } \
  NS_IMETHOD SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCanFileMessagesOnServer(aCanFileMessagesOnServer); } \
  NS_IMETHOD GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanCompactFoldersOnServer(aCanCompactFoldersOnServer); } \
  NS_IMETHOD GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanUndoDeleteOnServer(aCanUndoDeleteOnServer); } \
  NS_IMETHOD GetFilterScope(nsMsgSearchScopeValue *aFilterScope) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFilterScope(aFilterScope); } \
  NS_IMETHOD GetSearchScope(nsMsgSearchScopeValue *aSearchScope) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSearchScope(aSearchScope); } \
  NS_IMETHOD GetPasswordPromptRequired(bool *aPasswordPromptRequired) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPasswordPromptRequired(aPasswordPromptRequired); } \
  NS_IMETHOD ConfigureTemporaryFilters(nsIMsgFilterList *filterList) { return !_to ? NS_ERROR_NULL_POINTER : _to->ConfigureTemporaryFilters(filterList); } \
  NS_IMETHOD ClearTemporaryReturnReceiptsFilter(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearTemporaryReturnReceiptsFilter(); } \
  NS_IMETHOD GetSpamSettings(nsISpamSettings * *aSpamSettings) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpamSettings(aSpamSettings); } \
  NS_IMETHOD GetSpamFilterPlugin(nsIMsgFilterPlugin * *aSpamFilterPlugin) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpamFilterPlugin(aSpamFilterPlugin); } \
  NS_IMETHOD GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString & aURI, nsIMsgFolder * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMsgFolderFromURI(aFolderResource, aURI, _retval); } \
  NS_IMETHOD GetIsDeferredTo(bool *aIsDeferredTo) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsDeferredTo(aIsDeferredTo); } \
  NS_IMETHOD GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIncomingDuplicateAction(aIncomingDuplicateAction); } \
  NS_IMETHOD SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIncomingDuplicateAction(aIncomingDuplicateAction); } \
  NS_IMETHOD IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsNewHdrDuplicate(aNewHdr, _retval); } \
  NS_IMETHOD SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetForcePropertyEmpty(propertyName, aForcePropertyEmpty); } \
  NS_IMETHOD GetForcePropertyEmpty(const char * propertyName, bool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForcePropertyEmpty(propertyName, _retval); } 

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

/* Header file */
class nsMsgIncomingServer : public nsIMsgIncomingServer
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGINCOMINGSERVER

  nsMsgIncomingServer();

private:
  ~nsMsgIncomingServer();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMsgIncomingServer, nsIMsgIncomingServer)

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

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

/* attribute ACString key; */
NS_IMETHODIMP nsMsgIncomingServer::GetKey(nsACString & aKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetKey(const nsACString & aKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString prettyName; */
NS_IMETHODIMP nsMsgIncomingServer::GetPrettyName(nsAString & aPrettyName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetPrettyName(const nsAString & aPrettyName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString constructedPrettyName; */
NS_IMETHODIMP nsMsgIncomingServer::GetConstructedPrettyName(nsAString & aConstructedPrettyName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString hostName; */
NS_IMETHODIMP nsMsgIncomingServer::GetHostName(nsACString & aHostName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetHostName(const nsACString & aHostName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString realHostName; */
NS_IMETHODIMP nsMsgIncomingServer::GetRealHostName(nsACString & aRealHostName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetRealHostName(const nsACString & aRealHostName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long port; */
NS_IMETHODIMP nsMsgIncomingServer::GetPort(int32_t *aPort)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetPort(int32_t aPort)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString username; */
NS_IMETHODIMP nsMsgIncomingServer::GetUsername(nsACString & aUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetUsername(const nsACString & aUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString realUsername; */
NS_IMETHODIMP nsMsgIncomingServer::GetRealUsername(nsACString & aRealUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetRealUsername(const nsACString & aRealUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString type; */
NS_IMETHODIMP nsMsgIncomingServer::GetType(nsACString & aType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetType(const nsACString & aType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString accountManagerChrome; */
NS_IMETHODIMP nsMsgIncomingServer::GetAccountManagerChrome(nsAString & aAccountManagerChrome)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString localStoreType; */
NS_IMETHODIMP nsMsgIncomingServer::GetLocalStoreType(nsACString & aLocalStoreType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onUserOrHostNameChanged (in ACString oldName, in ACString newName, in bool hostnameChanged); */
NS_IMETHODIMP nsMsgIncomingServer::OnUserOrHostNameChanged(const nsACString & oldName, const nsACString & newName, bool hostnameChanged)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString password; */
NS_IMETHODIMP nsMsgIncomingServer::GetPassword(nsACString & aPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetPassword(const nsACString & aPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString getPasswordWithUI (in AString aPromptString, in AString aPromptTitle, in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgIncomingServer::GetPasswordWithUI(const nsAString & aPromptString, const nsAString & aPromptTitle, nsIMsgWindow *aMsgWindow, nsACString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void forgetPassword (); */
NS_IMETHODIMP nsMsgIncomingServer::ForgetPassword()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void forgetSessionPassword (); */
NS_IMETHODIMP nsMsgIncomingServer::ForgetSessionPassword()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean downloadOnBiff; */
NS_IMETHODIMP nsMsgIncomingServer::GetDownloadOnBiff(bool *aDownloadOnBiff)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetDownloadOnBiff(bool aDownloadOnBiff)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean doBiff; */
NS_IMETHODIMP nsMsgIncomingServer::GetDoBiff(bool *aDoBiff)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetDoBiff(bool aDoBiff)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long biffMinutes; */
NS_IMETHODIMP nsMsgIncomingServer::GetBiffMinutes(int32_t *aBiffMinutes)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetBiffMinutes(int32_t aBiffMinutes)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long biffState; */
NS_IMETHODIMP nsMsgIncomingServer::GetBiffState(uint32_t *aBiffState)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetBiffState(uint32_t aBiffState)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean performingBiff; */
NS_IMETHODIMP nsMsgIncomingServer::GetPerformingBiff(bool *aPerformingBiff)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetPerformingBiff(bool aPerformingBiff)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIFile localPath; */
NS_IMETHODIMP nsMsgIncomingServer::GetLocalPath(nsIFile * *aLocalPath)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetLocalPath(nsIFile *aLocalPath)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIMsgPluggableStore msgStore; */
NS_IMETHODIMP nsMsgIncomingServer::GetMsgStore(nsIMsgPluggableStore * *aMsgStore)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute ACString serverURI; */
NS_IMETHODIMP nsMsgIncomingServer::GetServerURI(nsACString & aServerURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgFolder rootFolder; */
NS_IMETHODIMP nsMsgIncomingServer::GetRootFolder(nsIMsgFolder * *aRootFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetRootFolder(nsIMsgFolder *aRootFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIMsgFolder rootMsgFolder; */
NS_IMETHODIMP nsMsgIncomingServer::GetRootMsgFolder(nsIMsgFolder * *aRootMsgFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean serverBusy; */
NS_IMETHODIMP nsMsgIncomingServer::GetServerBusy(bool *aServerBusy)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetServerBusy(bool aServerBusy)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean isSecure; */
NS_IMETHODIMP nsMsgIncomingServer::GetIsSecure(bool *aIsSecure)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgAuthMethodValue authMethod; */
NS_IMETHODIMP nsMsgIncomingServer::GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetAuthMethod(nsMsgAuthMethodValue aAuthMethod)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsMsgSocketTypeValue socketType; */
NS_IMETHODIMP nsMsgIncomingServer::GetSocketType(nsMsgSocketTypeValue *aSocketType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetSocketType(nsMsgSocketTypeValue aSocketType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean emptyTrashOnExit; */
NS_IMETHODIMP nsMsgIncomingServer::GetEmptyTrashOnExit(bool *aEmptyTrashOnExit)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetEmptyTrashOnExit(bool aEmptyTrashOnExit)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIMsgFilterList getFilterList (in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgIncomingServer::GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setFilterList (in nsIMsgFilterList aFilterList); */
NS_IMETHODIMP nsMsgIncomingServer::SetFilterList(nsIMsgFilterList *aFilterList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIMsgFilterList getEditableFilterList (in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgIncomingServer::GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setEditableFilterList (in nsIMsgFilterList aFilterList); */
NS_IMETHODIMP nsMsgIncomingServer::SetEditableFilterList(nsIMsgFilterList *aFilterList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setDefaultLocalPath (in nsIFile aDefaultLocalPath); */
NS_IMETHODIMP nsMsgIncomingServer::SetDefaultLocalPath(nsIFile *aDefaultLocalPath)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIURI verifyLogon (in nsIUrlListener aUrlListener, in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgIncomingServer::VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void performBiff (in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgIncomingServer::PerformBiff(nsIMsgWindow *aMsgWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getNewMessages (in nsIMsgFolder aFolder, in nsIMsgWindow aMsgWindow, in nsIUrlListener aUrlListener); */
NS_IMETHODIMP nsMsgIncomingServer::GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean serverRequiresPasswordForBiff; */
NS_IMETHODIMP nsMsgIncomingServer::GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void performExpand (in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgIncomingServer::PerformExpand(nsIMsgWindow *aMsgWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void writeToFolderCache (in nsIMsgFolderCache folderCache); */
NS_IMETHODIMP nsMsgIncomingServer::WriteToFolderCache(nsIMsgFolderCache *folderCache)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void closeCachedConnections (); */
NS_IMETHODIMP nsMsgIncomingServer::CloseCachedConnections()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void shutdown (); */
NS_IMETHODIMP nsMsgIncomingServer::Shutdown()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean getBoolValue (in string attr); */
NS_IMETHODIMP nsMsgIncomingServer::GetBoolValue(const char * attr, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setBoolValue (in string attr, in boolean value); */
NS_IMETHODIMP nsMsgIncomingServer::SetBoolValue(const char * attr, bool value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* ACString getCharValue (in string attr); */
NS_IMETHODIMP nsMsgIncomingServer::GetCharValue(const char * attr, nsACString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setCharValue (in string attr, in ACString value); */
NS_IMETHODIMP nsMsgIncomingServer::SetCharValue(const char * attr, const nsACString & value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getUnicharValue (in string attr); */
NS_IMETHODIMP nsMsgIncomingServer::GetUnicharValue(const char * attr, nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setUnicharValue (in string attr, in AString value); */
NS_IMETHODIMP nsMsgIncomingServer::SetUnicharValue(const char * attr, const nsAString & value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* long getIntValue (in string attr); */
NS_IMETHODIMP nsMsgIncomingServer::GetIntValue(const char * attr, int32_t *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setIntValue (in string attr, in long value); */
NS_IMETHODIMP nsMsgIncomingServer::SetIntValue(const char * attr, int32_t value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIFile getFileValue (in string relpref, in string abspref); */
NS_IMETHODIMP nsMsgIncomingServer::GetFileValue(const char * relpref, const char * abspref, nsIFile * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setFileValue (in string relpref, in string abspref, in nsIFile aValue); */
NS_IMETHODIMP nsMsgIncomingServer::SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clearAllValues (); */
NS_IMETHODIMP nsMsgIncomingServer::ClearAllValues()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeFiles (); */
NS_IMETHODIMP nsMsgIncomingServer::RemoveFiles()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean valid; */
NS_IMETHODIMP nsMsgIncomingServer::GetValid(bool *aValid)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetValid(bool aValid)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString toString (); */
NS_IMETHODIMP nsMsgIncomingServer::ToString(nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void displayOfflineMsg (in nsIMsgWindow aWindow); */
NS_IMETHODIMP nsMsgIncomingServer::DisplayOfflineMsg(nsIMsgWindow *aWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean equals (in nsIMsgIncomingServer server); */
NS_IMETHODIMP nsMsgIncomingServer::Equals(nsIMsgIncomingServer *server, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean downloadMessagesAtStartup; */
NS_IMETHODIMP nsMsgIncomingServer::GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean canHaveFilters; */
NS_IMETHODIMP nsMsgIncomingServer::GetCanHaveFilters(bool *aCanHaveFilters)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetCanHaveFilters(bool aCanHaveFilters)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean canDelete; */
NS_IMETHODIMP nsMsgIncomingServer::GetCanDelete(bool *aCanDelete)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetCanDelete(bool aCanDelete)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean loginAtStartUp; */
NS_IMETHODIMP nsMsgIncomingServer::GetLoginAtStartUp(bool *aLoginAtStartUp)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetLoginAtStartUp(bool aLoginAtStartUp)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean limitOfflineMessageSize; */
NS_IMETHODIMP nsMsgIncomingServer::GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long maxMessageSize; */
NS_IMETHODIMP nsMsgIncomingServer::GetMaxMessageSize(int32_t *aMaxMessageSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetMaxMessageSize(int32_t aMaxMessageSize)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgRetentionSettings retentionSettings; */
NS_IMETHODIMP nsMsgIncomingServer::GetRetentionSettings(nsIMsgRetentionSettings * *aRetentionSettings)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean canBeDefaultServer; */
NS_IMETHODIMP nsMsgIncomingServer::GetCanBeDefaultServer(bool *aCanBeDefaultServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean canSearchMessages; */
NS_IMETHODIMP nsMsgIncomingServer::GetCanSearchMessages(bool *aCanSearchMessages)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean canEmptyTrashOnExit; */
NS_IMETHODIMP nsMsgIncomingServer::GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean displayStartupPage; */
NS_IMETHODIMP nsMsgIncomingServer::GetDisplayStartupPage(bool *aDisplayStartupPage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetDisplayStartupPage(bool aDisplayStartupPage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgDownloadSettings downloadSettings; */
NS_IMETHODIMP nsMsgIncomingServer::GetDownloadSettings(nsIMsgDownloadSettings * *aDownloadSettings)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long offlineSupportLevel; */
NS_IMETHODIMP nsMsgIncomingServer::GetOfflineSupportLevel(int32_t *aOfflineSupportLevel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetOfflineSupportLevel(int32_t aOfflineSupportLevel)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString generatePrettyNameForMigration (); */
NS_IMETHODIMP nsMsgIncomingServer::GeneratePrettyNameForMigration(nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean supportsDiskSpace; */
NS_IMETHODIMP nsMsgIncomingServer::GetSupportsDiskSpace(bool *aSupportsDiskSpace)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean hidden; */
NS_IMETHODIMP nsMsgIncomingServer::GetHidden(bool *aHidden)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetHidden(bool aHidden)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean defaultCopiesAndFoldersPrefsToServer; */
NS_IMETHODIMP nsMsgIncomingServer::GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean canCreateFoldersOnServer; */
NS_IMETHODIMP nsMsgIncomingServer::GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean canFileMessagesOnServer; */
NS_IMETHODIMP nsMsgIncomingServer::GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean canCompactFoldersOnServer; */
NS_IMETHODIMP nsMsgIncomingServer::GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean canUndoDeleteOnServer; */
NS_IMETHODIMP nsMsgIncomingServer::GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsMsgSearchScopeValue filterScope; */
NS_IMETHODIMP nsMsgIncomingServer::GetFilterScope(nsMsgSearchScopeValue *aFilterScope)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsMsgSearchScopeValue searchScope; */
NS_IMETHODIMP nsMsgIncomingServer::GetSearchScope(nsMsgSearchScopeValue *aSearchScope)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean passwordPromptRequired; */
NS_IMETHODIMP nsMsgIncomingServer::GetPasswordPromptRequired(bool *aPasswordPromptRequired)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void configureTemporaryFilters (in nsIMsgFilterList filterList); */
NS_IMETHODIMP nsMsgIncomingServer::ConfigureTemporaryFilters(nsIMsgFilterList *filterList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clearTemporaryReturnReceiptsFilter (); */
NS_IMETHODIMP nsMsgIncomingServer::ClearTemporaryReturnReceiptsFilter()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISpamSettings spamSettings; */
NS_IMETHODIMP nsMsgIncomingServer::GetSpamSettings(nsISpamSettings * *aSpamSettings)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIMsgFilterPlugin spamFilterPlugin; */
NS_IMETHODIMP nsMsgIncomingServer::GetSpamFilterPlugin(nsIMsgFilterPlugin * *aSpamFilterPlugin)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIMsgFolder getMsgFolderFromURI (in nsIMsgFolder aFolderResource, in ACString aURI); */
NS_IMETHODIMP nsMsgIncomingServer::GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString & aURI, nsIMsgFolder * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean isDeferredTo; */
NS_IMETHODIMP nsMsgIncomingServer::GetIsDeferredTo(bool *aIsDeferredTo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long incomingDuplicateAction; */
NS_IMETHODIMP nsMsgIncomingServer::GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgIncomingServer::SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean isNewHdrDuplicate (in nsIMsgDBHdr aNewHdr); */
NS_IMETHODIMP nsMsgIncomingServer::IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setForcePropertyEmpty (in string propertyName, in boolean aForcePropertyEmpty); */
NS_IMETHODIMP nsMsgIncomingServer::SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean getForcePropertyEmpty (in string propertyName); */
NS_IMETHODIMP nsMsgIncomingServer::GetForcePropertyEmpty(const char * propertyName, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/*
 * Following values for offline support have been used by
 * various files. If you are modifying any of the values
 * below, please do take care of the following files.
 * - mozilla/mailnews/base/src/nsMsgAccountManagerDS.cpp
 * - mozilla/mailnews/base/util/nsMsgIncomingServer.cpp
 * - mozilla/mailnews/imap/src/nsImapIncomingServer.cpp
 * - mozilla/mailnews/local/src/nsPop3IncomingServer.cpp
 * - mozilla/mailnews/news/src/nsNntpIncomingServer.cpp
 * - mozilla/mailnews/base/content/msgAccountCentral.js
 * - mozilla/modules/libpref/src/init/mailnews.js
 * - ns/modules/libpref/src/init/mailnews-ns.js
 * - ns/mailnews/base/ispdata/aol.rdf
 * - ns/mailnews/base/ispdata/nswebmail.rdf
 */
#define OFFLINE_SUPPORT_LEVEL_NONE 0
#define OFFLINE_SUPPORT_LEVEL_REGULAR 10
#define OFFLINE_SUPPORT_LEVEL_EXTENDED 20
#define OFFLINE_SUPPORT_LEVEL_UNDEFINED -1
// Value when no port setting is found
#define PORT_NOT_SET -1
/* some useful macros to implement nsIMsgIncomingServer accessors */
#define NS_IMPL_SERVERPREF_STR(_class, _postfix, _prefname) \
NS_IMETHODIMP                              \
_class::Get##_postfix(nsACString& retval)  \
{                                          \
  return GetCharValue(_prefname, retval);  \
}                                          \
NS_IMETHODIMP                              \
_class::Set##_postfix(const nsACString& chvalue) \
{                                          \
  return SetCharValue(_prefname, chvalue); \
}
#define NS_IMPL_SERVERPREF_BOOL(_class, _postfix, _prefname)\
NS_IMETHODIMP                                               \
_class::Get##_postfix(bool *retval)                         \
{                                                           \
  return GetBoolValue(_prefname, retval);                   \
}                                                           \
NS_IMETHODIMP                                               \
_class::Set##_postfix(bool bvalue)                          \
{                                                           \
  return SetBoolValue(_prefname, bvalue);                   \
}
#define NS_IMPL_SERVERPREF_INT(_class, _postfix, _prefname)\
NS_IMETHODIMP                                              \
_class::Get##_postfix(int32_t *retval)                     \
{                                                          \
  return GetIntValue(_prefname, retval);                   \
}                                                          \
NS_IMETHODIMP                                              \
_class::Set##_postfix(int32_t ivalue)                      \
{                                                          \
  return SetIntValue(_prefname, ivalue);                   \
}

#endif /* __gen_nsIMsgIncomingServer_h__ */
