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

#ifndef __gen_nsIMsgImapMailFolder_h__
#define __gen_nsIMsgImapMailFolder_h__


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

#ifndef __gen_nsIMsgFolder_h__
#include "nsIMsgFolder.h"
#endif

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

class nsIImapIncomingServer; /* forward declaration */

class nsIMsgParseMailMsgState; /* forward declaration */


/* starting interface:    nsIMsgImapFolderProps */
#define NS_IMSGIMAPFOLDERPROPS_IID_STR "239472a2-6e8f-46f0-9507-887998da49e5"

#define NS_IMSGIMAPFOLDERPROPS_IID \
  {0x239472a2, 0x6e8f, 0x46f0, \
    { 0x95, 0x07, 0x88, 0x79, 0x98, 0xda, 0x49, 0xe5 }}

class NS_NO_VTABLE nsIMsgImapFolderProps : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IMSGIMAPFOLDERPROPS_IID)

  /* void setFolderType (in wstring folderType); */
  NS_IMETHOD SetFolderType(const PRUnichar *folderType) = 0;

  /* void setFolderTypeDescription (in wstring folderTypeDescription); */
  NS_IMETHOD SetFolderTypeDescription(const PRUnichar *folderTypeDescription) = 0;

  /* void setFolderPermissions (in wstring permissions); */
  NS_IMETHOD SetFolderPermissions(const PRUnichar *permissions) = 0;

  /* void serverDoesntSupportACL (); */
  NS_IMETHOD ServerDoesntSupportACL(void) = 0;

  /**
     * Toggles the display of quota information in the Quota tab of the folder properties.
     * If on, the quota root, usage, and percentage used are displayed.
     * If off, a status message is displayed. The status message can be set with setQuotaStatus().
     * @param showData If true, display the quota root, usage information and usage percentage bar.
     * If false, display the status message.
     */
  /* void showQuotaData (in boolean showData); */
  NS_IMETHOD ShowQuotaData(PRBool showData) = 0;

  /**
     * Sets the status string displayed in the Quota tab of the folder properties if quota
     * information is not visible.
     */
  /* void setQuotaStatus (in AString folderQuotaStatus); */
  NS_IMETHOD SetQuotaStatus(const nsAString & folderQuotaStatus) = 0;

  /**
     * Updates the quota data displayed in the Quota tab.
     */
  /* void setQuotaData (in ACString quotaroot, in unsigned long usedKB, in unsigned long maxKB); */
  NS_IMETHOD SetQuotaData(const nsACString & quotaroot, PRUint32 usedKB, PRUint32 maxKB) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGIMAPFOLDERPROPS \
  NS_IMETHOD SetFolderType(const PRUnichar *folderType); \
  NS_IMETHOD SetFolderTypeDescription(const PRUnichar *folderTypeDescription); \
  NS_IMETHOD SetFolderPermissions(const PRUnichar *permissions); \
  NS_IMETHOD ServerDoesntSupportACL(void); \
  NS_IMETHOD ShowQuotaData(PRBool showData); \
  NS_IMETHOD SetQuotaStatus(const nsAString & folderQuotaStatus); \
  NS_IMETHOD SetQuotaData(const nsACString & quotaroot, PRUint32 usedKB, PRUint32 maxKB); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGIMAPFOLDERPROPS(_to) \
  NS_IMETHOD SetFolderType(const PRUnichar *folderType) { return _to SetFolderType(folderType); } \
  NS_IMETHOD SetFolderTypeDescription(const PRUnichar *folderTypeDescription) { return _to SetFolderTypeDescription(folderTypeDescription); } \
  NS_IMETHOD SetFolderPermissions(const PRUnichar *permissions) { return _to SetFolderPermissions(permissions); } \
  NS_IMETHOD ServerDoesntSupportACL(void) { return _to ServerDoesntSupportACL(); } \
  NS_IMETHOD ShowQuotaData(PRBool showData) { return _to ShowQuotaData(showData); } \
  NS_IMETHOD SetQuotaStatus(const nsAString & folderQuotaStatus) { return _to SetQuotaStatus(folderQuotaStatus); } \
  NS_IMETHOD SetQuotaData(const nsACString & quotaroot, PRUint32 usedKB, PRUint32 maxKB) { return _to SetQuotaData(quotaroot, usedKB, maxKB); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGIMAPFOLDERPROPS(_to) \
  NS_IMETHOD SetFolderType(const PRUnichar *folderType) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFolderType(folderType); } \
  NS_IMETHOD SetFolderTypeDescription(const PRUnichar *folderTypeDescription) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFolderTypeDescription(folderTypeDescription); } \
  NS_IMETHOD SetFolderPermissions(const PRUnichar *permissions) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFolderPermissions(permissions); } \
  NS_IMETHOD ServerDoesntSupportACL(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ServerDoesntSupportACL(); } \
  NS_IMETHOD ShowQuotaData(PRBool showData) { return !_to ? NS_ERROR_NULL_POINTER : _to->ShowQuotaData(showData); } \
  NS_IMETHOD SetQuotaStatus(const nsAString & folderQuotaStatus) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetQuotaStatus(folderQuotaStatus); } \
  NS_IMETHOD SetQuotaData(const nsACString & quotaroot, PRUint32 usedKB, PRUint32 maxKB) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetQuotaData(quotaroot, usedKB, maxKB); } 

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

/* Header file */
class nsMsgImapFolderProps : public nsIMsgImapFolderProps
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGIMAPFOLDERPROPS

  nsMsgImapFolderProps();

private:
  ~nsMsgImapFolderProps();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMsgImapFolderProps, nsIMsgImapFolderProps)

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

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

/* void setFolderType (in wstring folderType); */
NS_IMETHODIMP nsMsgImapFolderProps::SetFolderType(const PRUnichar *folderType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setFolderTypeDescription (in wstring folderTypeDescription); */
NS_IMETHODIMP nsMsgImapFolderProps::SetFolderTypeDescription(const PRUnichar *folderTypeDescription)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setFolderPermissions (in wstring permissions); */
NS_IMETHODIMP nsMsgImapFolderProps::SetFolderPermissions(const PRUnichar *permissions)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void serverDoesntSupportACL (); */
NS_IMETHODIMP nsMsgImapFolderProps::ServerDoesntSupportACL()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void showQuotaData (in boolean showData); */
NS_IMETHODIMP nsMsgImapFolderProps::ShowQuotaData(PRBool showData)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setQuotaStatus (in AString folderQuotaStatus); */
NS_IMETHODIMP nsMsgImapFolderProps::SetQuotaStatus(const nsAString & folderQuotaStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setQuotaData (in ACString quotaroot, in unsigned long usedKB, in unsigned long maxKB); */
NS_IMETHODIMP nsMsgImapFolderProps::SetQuotaData(const nsACString & quotaroot, PRUint32 usedKB, PRUint32 maxKB)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    nsIMsgImapMailFolder */
#define NS_IMSGIMAPMAILFOLDER_IID_STR "7bf6ecd1-dc71-4472-8ea1-a081511ee17f"

#define NS_IMSGIMAPMAILFOLDER_IID \
  {0x7bf6ecd1, 0xdc71, 0x4472, \
    { 0x8e, 0xa1, 0xa0, 0x81, 0x51, 0x1e, 0xe1, 0x7f }}

class NS_NO_VTABLE nsIMsgImapMailFolder : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IMSGIMAPMAILFOLDER_IID)

  /* void removeSubFolder (in nsIMsgFolder folder); */
  NS_IMETHOD RemoveSubFolder(nsIMsgFolder *folder) = 0;

  /* void createClientSubfolderInfo (in string folderName, in wchar hierarchyDelimiter, in long flags, in boolean suppressNotification); */
  NS_IMETHOD CreateClientSubfolderInfo(const char *folderName, PRUnichar hierarchyDelimiter, PRInt32 flags, PRBool suppressNotification) = 0;

  /* void list (); */
  NS_IMETHOD List(void) = 0;

  /* void renameLocal (in string newname, in nsIMsgFolder parent); */
  NS_IMETHOD RenameLocal(const char *newname, nsIMsgFolder *parent) = 0;

  /* void prepareToRename (); */
  NS_IMETHOD PrepareToRename(void) = 0;

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

  /* void recursiveCloseActiveConnections (in nsIImapIncomingServer aImapServer); */
  NS_IMETHOD RecursiveCloseActiveConnections(nsIImapIncomingServer *aImapServer) = 0;

  /* void renameClient (in nsIMsgWindow msgWindow, in nsIMsgFolder msgFolder, in string oldName, in string newName); */
  NS_IMETHOD RenameClient(nsIMsgWindow *msgWindow, nsIMsgFolder *msgFolder, const char *oldName, const char *newName) = 0;

  /* void storeImapFlags (in long aFlags, in boolean aAddFlags, [array, size_is (aNumKeys)] in nsMsgKey aKeysToFlag, in unsigned long aNumKeys, in nsIUrlListener aUrlListener); */
  NS_IMETHOD StoreImapFlags(PRInt32 aFlags, PRBool aAddFlags, nsMsgKey *aKeysToFlag, PRUint32 aNumKeys, nsIUrlListener *aUrlListener) = 0;

  /* void setImapFlags (in string uids, in long flags, out nsIURI url); */
  NS_IMETHOD SetImapFlags(const char *uids, PRInt32 flags, nsIURI **url) = 0;

  /* void replayOfflineMoveCopy ([array, size_is (numKeys)] in nsMsgKey keys, in unsigned long numKeys, in boolean isMove, in nsIMsgFolder aDstFolder, in nsIUrlListener aUrlListener, in nsIMsgWindow aWindow); */
  NS_IMETHOD ReplayOfflineMoveCopy(nsMsgKey *keys, PRUint32 numKeys, PRBool isMove, nsIMsgFolder *aDstFolder, nsIUrlListener *aUrlListener, nsIMsgWindow *aWindow) = 0;

  /* void playbackOfflineFolderCreate (in wstring folderName, in nsIMsgWindow aWindow, out nsIURI url); */
  NS_IMETHOD PlaybackOfflineFolderCreate(const PRUnichar *folderName, nsIMsgWindow *aWindow, nsIURI **url) = 0;

  /* void liteSelect (in nsIUrlListener aUrlListener); */
  NS_IMETHOD LiteSelect(nsIUrlListener *aUrlListener) = 0;

  /* void fillInFolderProps (in nsIMsgImapFolderProps aFolderProps); */
  NS_IMETHOD FillInFolderProps(nsIMsgImapFolderProps *aFolderProps) = 0;

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

  /* void folderPrivileges (in nsIMsgWindow aWindow); */
  NS_IMETHOD FolderPrivileges(nsIMsgWindow *aWindow) = 0;

  /* nsIMsgImapMailFolder findOnlineSubFolder (in string onlineName); */
  NS_IMETHOD FindOnlineSubFolder(const char *onlineName, nsIMsgImapMailFolder **_retval) = 0;

  /* void addFolderRights (in string userName, in string rights); */
  NS_IMETHOD AddFolderRights(const char *userName, const char *rights) = 0;

  /* void refreshFolderRights (); */
  NS_IMETHOD RefreshFolderRights(void) = 0;

  /* void updateStatus (in nsIUrlListener aListener, in nsIMsgWindow aMsgWindow); */
  NS_IMETHOD UpdateStatus(nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow) = 0;

  /* nsIURI issueCommandOnMsgs (in string command, in string uids, in nsIMsgWindow aWindow); */
  NS_IMETHOD IssueCommandOnMsgs(const char *command, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval) = 0;

  /* nsIURI fetchCustomMsgAttribute (in string msgAttribute, in string uids, in nsIMsgWindow aWindow); */
  NS_IMETHOD FetchCustomMsgAttribute(const char *msgAttribute, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval) = 0;

  /* nsIURI storeCustomKeywords (in nsIMsgWindow aMsgWindow, in string aFlagsToAdd, in string aFlagsToSubtract, [array, size_is (aNumKeys)] in nsMsgKey aKeysToStore, in unsigned long aNumKeys); */
  NS_IMETHOD StoreCustomKeywords(nsIMsgWindow *aMsgWindow, const char *aFlagsToAdd, const char *aFlagsToSubtract, nsMsgKey *aKeysToStore, PRUint32 aNumKeys, nsIURI **_retval) = 0;

  /* void notifyIfNewMail (); */
  NS_IMETHOD NotifyIfNewMail(void) = 0;

  /* attribute boolean verifiedAsOnlineFolder; */
  NS_IMETHOD GetVerifiedAsOnlineFolder(PRBool *aVerifiedAsOnlineFolder) = 0;
  NS_IMETHOD SetVerifiedAsOnlineFolder(PRBool aVerifiedAsOnlineFolder) = 0;

  /* attribute boolean explicitlyVerify; */
  NS_IMETHOD GetExplicitlyVerify(PRBool *aExplicitlyVerify) = 0;
  NS_IMETHOD SetExplicitlyVerify(PRBool aExplicitlyVerify) = 0;

  /* attribute wchar hierarchyDelimiter; */
  NS_IMETHOD GetHierarchyDelimiter(PRUnichar *aHierarchyDelimiter) = 0;
  NS_IMETHOD SetHierarchyDelimiter(PRUnichar aHierarchyDelimiter) = 0;

  /* attribute long boxFlags; */
  NS_IMETHOD GetBoxFlags(PRInt32 *aBoxFlags) = 0;
  NS_IMETHOD SetBoxFlags(PRInt32 aBoxFlags) = 0;

  /* attribute string onlineName; */
  NS_IMETHOD GetOnlineName(char * *aOnlineName) = 0;
  NS_IMETHOD SetOnlineName(const char * aOnlineName) = 0;

  /* attribute boolean isNamespace; */
  NS_IMETHOD GetIsNamespace(PRBool *aIsNamespace) = 0;
  NS_IMETHOD SetIsNamespace(PRBool aIsNamespace) = 0;

  /* readonly attribute boolean canIOpenThisFolder; */
  NS_IMETHOD GetCanIOpenThisFolder(PRBool *aCanIOpenThisFolder) = 0;

  /* attribute string adminUrl; */
  NS_IMETHOD GetAdminUrl(char * *aAdminUrl) = 0;
  NS_IMETHOD SetAdminUrl(const char * aAdminUrl) = 0;

  /* readonly attribute boolean hasAdminUrl; */
  NS_IMETHOD GetHasAdminUrl(PRBool *aHasAdminUrl) = 0;

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

  /* readonly attribute nsIMsgParseMailMsgState hdrParser; */
  NS_IMETHOD GetHdrParser(nsIMsgParseMailMsgState * *aHdrParser) = 0;

  /**
   * Quota
   * |valid| indicates whether the server has provided quota information on
   * this folder. This can be false
   * - if the server does not supports quotas,
   * - if there are no storage quotas on this folder, or
   * - if the folder has never been opened.
   * If it is true and maxKB > 0, the folder has a storage quota and
   * the usedKB and maxKB attributes are set to the values provided by
   * the server (in kilobytes), for this quota root.
   * Lotus Notes sends us maxKB = 0, usedKB > 0 for unlimited quota.
   */
  /* void getQuota (out boolean valid, out unsigned long usedKB, out unsigned long maxKB); */
  NS_IMETHOD GetQuota(PRBool *valid, PRUint32 *usedKB, PRUint32 *maxKB) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGIMAPMAILFOLDER \
  NS_IMETHOD RemoveSubFolder(nsIMsgFolder *folder); \
  NS_IMETHOD CreateClientSubfolderInfo(const char *folderName, PRUnichar hierarchyDelimiter, PRInt32 flags, PRBool suppressNotification); \
  NS_IMETHOD List(void); \
  NS_IMETHOD RenameLocal(const char *newname, nsIMsgFolder *parent); \
  NS_IMETHOD PrepareToRename(void); \
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow); \
  NS_IMETHOD RecursiveCloseActiveConnections(nsIImapIncomingServer *aImapServer); \
  NS_IMETHOD RenameClient(nsIMsgWindow *msgWindow, nsIMsgFolder *msgFolder, const char *oldName, const char *newName); \
  NS_IMETHOD StoreImapFlags(PRInt32 aFlags, PRBool aAddFlags, nsMsgKey *aKeysToFlag, PRUint32 aNumKeys, nsIUrlListener *aUrlListener); \
  NS_IMETHOD SetImapFlags(const char *uids, PRInt32 flags, nsIURI **url); \
  NS_IMETHOD ReplayOfflineMoveCopy(nsMsgKey *keys, PRUint32 numKeys, PRBool isMove, nsIMsgFolder *aDstFolder, nsIUrlListener *aUrlListener, nsIMsgWindow *aWindow); \
  NS_IMETHOD PlaybackOfflineFolderCreate(const PRUnichar *folderName, nsIMsgWindow *aWindow, nsIURI **url); \
  NS_IMETHOD LiteSelect(nsIUrlListener *aUrlListener); \
  NS_IMETHOD FillInFolderProps(nsIMsgImapFolderProps *aFolderProps); \
  NS_IMETHOD ResetNamespaceReferences(void); \
  NS_IMETHOD FolderPrivileges(nsIMsgWindow *aWindow); \
  NS_IMETHOD FindOnlineSubFolder(const char *onlineName, nsIMsgImapMailFolder **_retval); \
  NS_IMETHOD AddFolderRights(const char *userName, const char *rights); \
  NS_IMETHOD RefreshFolderRights(void); \
  NS_IMETHOD UpdateStatus(nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow); \
  NS_IMETHOD IssueCommandOnMsgs(const char *command, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval); \
  NS_IMETHOD FetchCustomMsgAttribute(const char *msgAttribute, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval); \
  NS_IMETHOD StoreCustomKeywords(nsIMsgWindow *aMsgWindow, const char *aFlagsToAdd, const char *aFlagsToSubtract, nsMsgKey *aKeysToStore, PRUint32 aNumKeys, nsIURI **_retval); \
  NS_IMETHOD NotifyIfNewMail(void); \
  NS_IMETHOD GetVerifiedAsOnlineFolder(PRBool *aVerifiedAsOnlineFolder); \
  NS_IMETHOD SetVerifiedAsOnlineFolder(PRBool aVerifiedAsOnlineFolder); \
  NS_IMETHOD GetExplicitlyVerify(PRBool *aExplicitlyVerify); \
  NS_IMETHOD SetExplicitlyVerify(PRBool aExplicitlyVerify); \
  NS_IMETHOD GetHierarchyDelimiter(PRUnichar *aHierarchyDelimiter); \
  NS_IMETHOD SetHierarchyDelimiter(PRUnichar aHierarchyDelimiter); \
  NS_IMETHOD GetBoxFlags(PRInt32 *aBoxFlags); \
  NS_IMETHOD SetBoxFlags(PRInt32 aBoxFlags); \
  NS_IMETHOD GetOnlineName(char * *aOnlineName); \
  NS_IMETHOD SetOnlineName(const char * aOnlineName); \
  NS_IMETHOD GetIsNamespace(PRBool *aIsNamespace); \
  NS_IMETHOD SetIsNamespace(PRBool aIsNamespace); \
  NS_IMETHOD GetCanIOpenThisFolder(PRBool *aCanIOpenThisFolder); \
  NS_IMETHOD GetAdminUrl(char * *aAdminUrl); \
  NS_IMETHOD SetAdminUrl(const char * aAdminUrl); \
  NS_IMETHOD GetHasAdminUrl(PRBool *aHasAdminUrl); \
  NS_IMETHOD GetPerformingBiff(PRBool *aPerformingBiff); \
  NS_IMETHOD SetPerformingBiff(PRBool aPerformingBiff); \
  NS_IMETHOD GetHdrParser(nsIMsgParseMailMsgState * *aHdrParser); \
  NS_IMETHOD GetQuota(PRBool *valid, PRUint32 *usedKB, PRUint32 *maxKB); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGIMAPMAILFOLDER(_to) \
  NS_IMETHOD RemoveSubFolder(nsIMsgFolder *folder) { return _to RemoveSubFolder(folder); } \
  NS_IMETHOD CreateClientSubfolderInfo(const char *folderName, PRUnichar hierarchyDelimiter, PRInt32 flags, PRBool suppressNotification) { return _to CreateClientSubfolderInfo(folderName, hierarchyDelimiter, flags, suppressNotification); } \
  NS_IMETHOD List(void) { return _to List(); } \
  NS_IMETHOD RenameLocal(const char *newname, nsIMsgFolder *parent) { return _to RenameLocal(newname, parent); } \
  NS_IMETHOD PrepareToRename(void) { return _to PrepareToRename(); } \
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) { return _to PerformExpand(aMsgWindow); } \
  NS_IMETHOD RecursiveCloseActiveConnections(nsIImapIncomingServer *aImapServer) { return _to RecursiveCloseActiveConnections(aImapServer); } \
  NS_IMETHOD RenameClient(nsIMsgWindow *msgWindow, nsIMsgFolder *msgFolder, const char *oldName, const char *newName) { return _to RenameClient(msgWindow, msgFolder, oldName, newName); } \
  NS_IMETHOD StoreImapFlags(PRInt32 aFlags, PRBool aAddFlags, nsMsgKey *aKeysToFlag, PRUint32 aNumKeys, nsIUrlListener *aUrlListener) { return _to StoreImapFlags(aFlags, aAddFlags, aKeysToFlag, aNumKeys, aUrlListener); } \
  NS_IMETHOD SetImapFlags(const char *uids, PRInt32 flags, nsIURI **url) { return _to SetImapFlags(uids, flags, url); } \
  NS_IMETHOD ReplayOfflineMoveCopy(nsMsgKey *keys, PRUint32 numKeys, PRBool isMove, nsIMsgFolder *aDstFolder, nsIUrlListener *aUrlListener, nsIMsgWindow *aWindow) { return _to ReplayOfflineMoveCopy(keys, numKeys, isMove, aDstFolder, aUrlListener, aWindow); } \
  NS_IMETHOD PlaybackOfflineFolderCreate(const PRUnichar *folderName, nsIMsgWindow *aWindow, nsIURI **url) { return _to PlaybackOfflineFolderCreate(folderName, aWindow, url); } \
  NS_IMETHOD LiteSelect(nsIUrlListener *aUrlListener) { return _to LiteSelect(aUrlListener); } \
  NS_IMETHOD FillInFolderProps(nsIMsgImapFolderProps *aFolderProps) { return _to FillInFolderProps(aFolderProps); } \
  NS_IMETHOD ResetNamespaceReferences(void) { return _to ResetNamespaceReferences(); } \
  NS_IMETHOD FolderPrivileges(nsIMsgWindow *aWindow) { return _to FolderPrivileges(aWindow); } \
  NS_IMETHOD FindOnlineSubFolder(const char *onlineName, nsIMsgImapMailFolder **_retval) { return _to FindOnlineSubFolder(onlineName, _retval); } \
  NS_IMETHOD AddFolderRights(const char *userName, const char *rights) { return _to AddFolderRights(userName, rights); } \
  NS_IMETHOD RefreshFolderRights(void) { return _to RefreshFolderRights(); } \
  NS_IMETHOD UpdateStatus(nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow) { return _to UpdateStatus(aListener, aMsgWindow); } \
  NS_IMETHOD IssueCommandOnMsgs(const char *command, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval) { return _to IssueCommandOnMsgs(command, uids, aWindow, _retval); } \
  NS_IMETHOD FetchCustomMsgAttribute(const char *msgAttribute, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval) { return _to FetchCustomMsgAttribute(msgAttribute, uids, aWindow, _retval); } \
  NS_IMETHOD StoreCustomKeywords(nsIMsgWindow *aMsgWindow, const char *aFlagsToAdd, const char *aFlagsToSubtract, nsMsgKey *aKeysToStore, PRUint32 aNumKeys, nsIURI **_retval) { return _to StoreCustomKeywords(aMsgWindow, aFlagsToAdd, aFlagsToSubtract, aKeysToStore, aNumKeys, _retval); } \
  NS_IMETHOD NotifyIfNewMail(void) { return _to NotifyIfNewMail(); } \
  NS_IMETHOD GetVerifiedAsOnlineFolder(PRBool *aVerifiedAsOnlineFolder) { return _to GetVerifiedAsOnlineFolder(aVerifiedAsOnlineFolder); } \
  NS_IMETHOD SetVerifiedAsOnlineFolder(PRBool aVerifiedAsOnlineFolder) { return _to SetVerifiedAsOnlineFolder(aVerifiedAsOnlineFolder); } \
  NS_IMETHOD GetExplicitlyVerify(PRBool *aExplicitlyVerify) { return _to GetExplicitlyVerify(aExplicitlyVerify); } \
  NS_IMETHOD SetExplicitlyVerify(PRBool aExplicitlyVerify) { return _to SetExplicitlyVerify(aExplicitlyVerify); } \
  NS_IMETHOD GetHierarchyDelimiter(PRUnichar *aHierarchyDelimiter) { return _to GetHierarchyDelimiter(aHierarchyDelimiter); } \
  NS_IMETHOD SetHierarchyDelimiter(PRUnichar aHierarchyDelimiter) { return _to SetHierarchyDelimiter(aHierarchyDelimiter); } \
  NS_IMETHOD GetBoxFlags(PRInt32 *aBoxFlags) { return _to GetBoxFlags(aBoxFlags); } \
  NS_IMETHOD SetBoxFlags(PRInt32 aBoxFlags) { return _to SetBoxFlags(aBoxFlags); } \
  NS_IMETHOD GetOnlineName(char * *aOnlineName) { return _to GetOnlineName(aOnlineName); } \
  NS_IMETHOD SetOnlineName(const char * aOnlineName) { return _to SetOnlineName(aOnlineName); } \
  NS_IMETHOD GetIsNamespace(PRBool *aIsNamespace) { return _to GetIsNamespace(aIsNamespace); } \
  NS_IMETHOD SetIsNamespace(PRBool aIsNamespace) { return _to SetIsNamespace(aIsNamespace); } \
  NS_IMETHOD GetCanIOpenThisFolder(PRBool *aCanIOpenThisFolder) { return _to GetCanIOpenThisFolder(aCanIOpenThisFolder); } \
  NS_IMETHOD GetAdminUrl(char * *aAdminUrl) { return _to GetAdminUrl(aAdminUrl); } \
  NS_IMETHOD SetAdminUrl(const char * aAdminUrl) { return _to SetAdminUrl(aAdminUrl); } \
  NS_IMETHOD GetHasAdminUrl(PRBool *aHasAdminUrl) { return _to GetHasAdminUrl(aHasAdminUrl); } \
  NS_IMETHOD GetPerformingBiff(PRBool *aPerformingBiff) { return _to GetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD SetPerformingBiff(PRBool aPerformingBiff) { return _to SetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD GetHdrParser(nsIMsgParseMailMsgState * *aHdrParser) { return _to GetHdrParser(aHdrParser); } \
  NS_IMETHOD GetQuota(PRBool *valid, PRUint32 *usedKB, PRUint32 *maxKB) { return _to GetQuota(valid, usedKB, maxKB); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGIMAPMAILFOLDER(_to) \
  NS_IMETHOD RemoveSubFolder(nsIMsgFolder *folder) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveSubFolder(folder); } \
  NS_IMETHOD CreateClientSubfolderInfo(const char *folderName, PRUnichar hierarchyDelimiter, PRInt32 flags, PRBool suppressNotification) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateClientSubfolderInfo(folderName, hierarchyDelimiter, flags, suppressNotification); } \
  NS_IMETHOD List(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->List(); } \
  NS_IMETHOD RenameLocal(const char *newname, nsIMsgFolder *parent) { return !_to ? NS_ERROR_NULL_POINTER : _to->RenameLocal(newname, parent); } \
  NS_IMETHOD PrepareToRename(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->PrepareToRename(); } \
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->PerformExpand(aMsgWindow); } \
  NS_IMETHOD RecursiveCloseActiveConnections(nsIImapIncomingServer *aImapServer) { return !_to ? NS_ERROR_NULL_POINTER : _to->RecursiveCloseActiveConnections(aImapServer); } \
  NS_IMETHOD RenameClient(nsIMsgWindow *msgWindow, nsIMsgFolder *msgFolder, const char *oldName, const char *newName) { return !_to ? NS_ERROR_NULL_POINTER : _to->RenameClient(msgWindow, msgFolder, oldName, newName); } \
  NS_IMETHOD StoreImapFlags(PRInt32 aFlags, PRBool aAddFlags, nsMsgKey *aKeysToFlag, PRUint32 aNumKeys, nsIUrlListener *aUrlListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->StoreImapFlags(aFlags, aAddFlags, aKeysToFlag, aNumKeys, aUrlListener); } \
  NS_IMETHOD SetImapFlags(const char *uids, PRInt32 flags, nsIURI **url) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetImapFlags(uids, flags, url); } \
  NS_IMETHOD ReplayOfflineMoveCopy(nsMsgKey *keys, PRUint32 numKeys, PRBool isMove, nsIMsgFolder *aDstFolder, nsIUrlListener *aUrlListener, nsIMsgWindow *aWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->ReplayOfflineMoveCopy(keys, numKeys, isMove, aDstFolder, aUrlListener, aWindow); } \
  NS_IMETHOD PlaybackOfflineFolderCreate(const PRUnichar *folderName, nsIMsgWindow *aWindow, nsIURI **url) { return !_to ? NS_ERROR_NULL_POINTER : _to->PlaybackOfflineFolderCreate(folderName, aWindow, url); } \
  NS_IMETHOD LiteSelect(nsIUrlListener *aUrlListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->LiteSelect(aUrlListener); } \
  NS_IMETHOD FillInFolderProps(nsIMsgImapFolderProps *aFolderProps) { return !_to ? NS_ERROR_NULL_POINTER : _to->FillInFolderProps(aFolderProps); } \
  NS_IMETHOD ResetNamespaceReferences(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ResetNamespaceReferences(); } \
  NS_IMETHOD FolderPrivileges(nsIMsgWindow *aWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->FolderPrivileges(aWindow); } \
  NS_IMETHOD FindOnlineSubFolder(const char *onlineName, nsIMsgImapMailFolder **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FindOnlineSubFolder(onlineName, _retval); } \
  NS_IMETHOD AddFolderRights(const char *userName, const char *rights) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddFolderRights(userName, rights); } \
  NS_IMETHOD RefreshFolderRights(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->RefreshFolderRights(); } \
  NS_IMETHOD UpdateStatus(nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->UpdateStatus(aListener, aMsgWindow); } \
  NS_IMETHOD IssueCommandOnMsgs(const char *command, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IssueCommandOnMsgs(command, uids, aWindow, _retval); } \
  NS_IMETHOD FetchCustomMsgAttribute(const char *msgAttribute, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FetchCustomMsgAttribute(msgAttribute, uids, aWindow, _retval); } \
  NS_IMETHOD StoreCustomKeywords(nsIMsgWindow *aMsgWindow, const char *aFlagsToAdd, const char *aFlagsToSubtract, nsMsgKey *aKeysToStore, PRUint32 aNumKeys, nsIURI **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->StoreCustomKeywords(aMsgWindow, aFlagsToAdd, aFlagsToSubtract, aKeysToStore, aNumKeys, _retval); } \
  NS_IMETHOD NotifyIfNewMail(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyIfNewMail(); } \
  NS_IMETHOD GetVerifiedAsOnlineFolder(PRBool *aVerifiedAsOnlineFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetVerifiedAsOnlineFolder(aVerifiedAsOnlineFolder); } \
  NS_IMETHOD SetVerifiedAsOnlineFolder(PRBool aVerifiedAsOnlineFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetVerifiedAsOnlineFolder(aVerifiedAsOnlineFolder); } \
  NS_IMETHOD GetExplicitlyVerify(PRBool *aExplicitlyVerify) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetExplicitlyVerify(aExplicitlyVerify); } \
  NS_IMETHOD SetExplicitlyVerify(PRBool aExplicitlyVerify) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetExplicitlyVerify(aExplicitlyVerify); } \
  NS_IMETHOD GetHierarchyDelimiter(PRUnichar *aHierarchyDelimiter) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHierarchyDelimiter(aHierarchyDelimiter); } \
  NS_IMETHOD SetHierarchyDelimiter(PRUnichar aHierarchyDelimiter) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHierarchyDelimiter(aHierarchyDelimiter); } \
  NS_IMETHOD GetBoxFlags(PRInt32 *aBoxFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBoxFlags(aBoxFlags); } \
  NS_IMETHOD SetBoxFlags(PRInt32 aBoxFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBoxFlags(aBoxFlags); } \
  NS_IMETHOD GetOnlineName(char * *aOnlineName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnlineName(aOnlineName); } \
  NS_IMETHOD SetOnlineName(const char * aOnlineName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnlineName(aOnlineName); } \
  NS_IMETHOD GetIsNamespace(PRBool *aIsNamespace) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsNamespace(aIsNamespace); } \
  NS_IMETHOD SetIsNamespace(PRBool aIsNamespace) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsNamespace(aIsNamespace); } \
  NS_IMETHOD GetCanIOpenThisFolder(PRBool *aCanIOpenThisFolder) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanIOpenThisFolder(aCanIOpenThisFolder); } \
  NS_IMETHOD GetAdminUrl(char * *aAdminUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAdminUrl(aAdminUrl); } \
  NS_IMETHOD SetAdminUrl(const char * aAdminUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAdminUrl(aAdminUrl); } \
  NS_IMETHOD GetHasAdminUrl(PRBool *aHasAdminUrl) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasAdminUrl(aHasAdminUrl); } \
  NS_IMETHOD GetPerformingBiff(PRBool *aPerformingBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD SetPerformingBiff(PRBool aPerformingBiff) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD GetHdrParser(nsIMsgParseMailMsgState * *aHdrParser) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHdrParser(aHdrParser); } \
  NS_IMETHOD GetQuota(PRBool *valid, PRUint32 *usedKB, PRUint32 *maxKB) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetQuota(valid, usedKB, maxKB); } 

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

/* Header file */
class nsMsgImapMailFolder : public nsIMsgImapMailFolder
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGIMAPMAILFOLDER

  nsMsgImapMailFolder();

private:
  ~nsMsgImapMailFolder();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsMsgImapMailFolder, nsIMsgImapMailFolder)

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

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

/* void removeSubFolder (in nsIMsgFolder folder); */
NS_IMETHODIMP nsMsgImapMailFolder::RemoveSubFolder(nsIMsgFolder *folder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void createClientSubfolderInfo (in string folderName, in wchar hierarchyDelimiter, in long flags, in boolean suppressNotification); */
NS_IMETHODIMP nsMsgImapMailFolder::CreateClientSubfolderInfo(const char *folderName, PRUnichar hierarchyDelimiter, PRInt32 flags, PRBool suppressNotification)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void list (); */
NS_IMETHODIMP nsMsgImapMailFolder::List()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void renameLocal (in string newname, in nsIMsgFolder parent); */
NS_IMETHODIMP nsMsgImapMailFolder::RenameLocal(const char *newname, nsIMsgFolder *parent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void prepareToRename (); */
NS_IMETHODIMP nsMsgImapMailFolder::PrepareToRename()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* void recursiveCloseActiveConnections (in nsIImapIncomingServer aImapServer); */
NS_IMETHODIMP nsMsgImapMailFolder::RecursiveCloseActiveConnections(nsIImapIncomingServer *aImapServer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void renameClient (in nsIMsgWindow msgWindow, in nsIMsgFolder msgFolder, in string oldName, in string newName); */
NS_IMETHODIMP nsMsgImapMailFolder::RenameClient(nsIMsgWindow *msgWindow, nsIMsgFolder *msgFolder, const char *oldName, const char *newName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void storeImapFlags (in long aFlags, in boolean aAddFlags, [array, size_is (aNumKeys)] in nsMsgKey aKeysToFlag, in unsigned long aNumKeys, in nsIUrlListener aUrlListener); */
NS_IMETHODIMP nsMsgImapMailFolder::StoreImapFlags(PRInt32 aFlags, PRBool aAddFlags, nsMsgKey *aKeysToFlag, PRUint32 aNumKeys, nsIUrlListener *aUrlListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setImapFlags (in string uids, in long flags, out nsIURI url); */
NS_IMETHODIMP nsMsgImapMailFolder::SetImapFlags(const char *uids, PRInt32 flags, nsIURI **url)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void replayOfflineMoveCopy ([array, size_is (numKeys)] in nsMsgKey keys, in unsigned long numKeys, in boolean isMove, in nsIMsgFolder aDstFolder, in nsIUrlListener aUrlListener, in nsIMsgWindow aWindow); */
NS_IMETHODIMP nsMsgImapMailFolder::ReplayOfflineMoveCopy(nsMsgKey *keys, PRUint32 numKeys, PRBool isMove, nsIMsgFolder *aDstFolder, nsIUrlListener *aUrlListener, nsIMsgWindow *aWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void playbackOfflineFolderCreate (in wstring folderName, in nsIMsgWindow aWindow, out nsIURI url); */
NS_IMETHODIMP nsMsgImapMailFolder::PlaybackOfflineFolderCreate(const PRUnichar *folderName, nsIMsgWindow *aWindow, nsIURI **url)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void liteSelect (in nsIUrlListener aUrlListener); */
NS_IMETHODIMP nsMsgImapMailFolder::LiteSelect(nsIUrlListener *aUrlListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void fillInFolderProps (in nsIMsgImapFolderProps aFolderProps); */
NS_IMETHODIMP nsMsgImapMailFolder::FillInFolderProps(nsIMsgImapFolderProps *aFolderProps)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* void folderPrivileges (in nsIMsgWindow aWindow); */
NS_IMETHODIMP nsMsgImapMailFolder::FolderPrivileges(nsIMsgWindow *aWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIMsgImapMailFolder findOnlineSubFolder (in string onlineName); */
NS_IMETHODIMP nsMsgImapMailFolder::FindOnlineSubFolder(const char *onlineName, nsIMsgImapMailFolder **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addFolderRights (in string userName, in string rights); */
NS_IMETHODIMP nsMsgImapMailFolder::AddFolderRights(const char *userName, const char *rights)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void refreshFolderRights (); */
NS_IMETHODIMP nsMsgImapMailFolder::RefreshFolderRights()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void updateStatus (in nsIUrlListener aListener, in nsIMsgWindow aMsgWindow); */
NS_IMETHODIMP nsMsgImapMailFolder::UpdateStatus(nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIURI issueCommandOnMsgs (in string command, in string uids, in nsIMsgWindow aWindow); */
NS_IMETHODIMP nsMsgImapMailFolder::IssueCommandOnMsgs(const char *command, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIURI fetchCustomMsgAttribute (in string msgAttribute, in string uids, in nsIMsgWindow aWindow); */
NS_IMETHODIMP nsMsgImapMailFolder::FetchCustomMsgAttribute(const char *msgAttribute, const char *uids, nsIMsgWindow *aWindow, nsIURI **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIURI storeCustomKeywords (in nsIMsgWindow aMsgWindow, in string aFlagsToAdd, in string aFlagsToSubtract, [array, size_is (aNumKeys)] in nsMsgKey aKeysToStore, in unsigned long aNumKeys); */
NS_IMETHODIMP nsMsgImapMailFolder::StoreCustomKeywords(nsIMsgWindow *aMsgWindow, const char *aFlagsToAdd, const char *aFlagsToSubtract, nsMsgKey *aKeysToStore, PRUint32 aNumKeys, nsIURI **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void notifyIfNewMail (); */
NS_IMETHODIMP nsMsgImapMailFolder::NotifyIfNewMail()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean verifiedAsOnlineFolder; */
NS_IMETHODIMP nsMsgImapMailFolder::GetVerifiedAsOnlineFolder(PRBool *aVerifiedAsOnlineFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgImapMailFolder::SetVerifiedAsOnlineFolder(PRBool aVerifiedAsOnlineFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean explicitlyVerify; */
NS_IMETHODIMP nsMsgImapMailFolder::GetExplicitlyVerify(PRBool *aExplicitlyVerify)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgImapMailFolder::SetExplicitlyVerify(PRBool aExplicitlyVerify)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wchar hierarchyDelimiter; */
NS_IMETHODIMP nsMsgImapMailFolder::GetHierarchyDelimiter(PRUnichar *aHierarchyDelimiter)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgImapMailFolder::SetHierarchyDelimiter(PRUnichar aHierarchyDelimiter)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long boxFlags; */
NS_IMETHODIMP nsMsgImapMailFolder::GetBoxFlags(PRInt32 *aBoxFlags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgImapMailFolder::SetBoxFlags(PRInt32 aBoxFlags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string onlineName; */
NS_IMETHODIMP nsMsgImapMailFolder::GetOnlineName(char * *aOnlineName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgImapMailFolder::SetOnlineName(const char * aOnlineName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean isNamespace; */
NS_IMETHODIMP nsMsgImapMailFolder::GetIsNamespace(PRBool *aIsNamespace)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgImapMailFolder::SetIsNamespace(PRBool aIsNamespace)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean canIOpenThisFolder; */
NS_IMETHODIMP nsMsgImapMailFolder::GetCanIOpenThisFolder(PRBool *aCanIOpenThisFolder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute string adminUrl; */
NS_IMETHODIMP nsMsgImapMailFolder::GetAdminUrl(char * *aAdminUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgImapMailFolder::SetAdminUrl(const char * aAdminUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean hasAdminUrl; */
NS_IMETHODIMP nsMsgImapMailFolder::GetHasAdminUrl(PRBool *aHasAdminUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* readonly attribute nsIMsgParseMailMsgState hdrParser; */
NS_IMETHODIMP nsMsgImapMailFolder::GetHdrParser(nsIMsgParseMailMsgState * *aHdrParser)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getQuota (out boolean valid, out unsigned long usedKB, out unsigned long maxKB); */
NS_IMETHODIMP nsMsgImapMailFolder::GetQuota(PRBool *valid, PRUint32 *usedKB, PRUint32 *maxKB)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgImapMailFolder_h__ */
