DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Untracked file

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /home/jenkins/src/releases/comm-beta/mailnews/base/public/nsIMsgPluggableStore.idl
 */

#ifndef __gen_nsIMsgPluggableStore_h__
#define __gen_nsIMsgPluggableStore_h__


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

#include "js/GCAnnotations.h"

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

class nsIMsgFolder; /* forward declaration */

class nsIMsgCopyServiceListener; /* forward declaration */

class nsIMsgDBHdr; /* forward declaration */

class nsIMsgWindow; /* forward declaration */

class nsIOutputStream; /* forward declaration */

class nsIInputStream; /* forward declaration */

class nsIArray; /* forward declaration */

class nsIUrlListener; /* forward declaration */

class nsIMsgDatabase; /* forward declaration */

class nsITransaction; /* forward declaration */


/* starting interface:    nsIMsgPluggableStore */
#define NS_IMSGPLUGGABLESTORE_IID_STR "f732ce58-e540-4dc4-b803-9456056ebefc"

#define NS_IMSGPLUGGABLESTORE_IID \
  {0xf732ce58, 0xe540, 0x4dc4, \
    { 0xb8, 0x03, 0x94, 0x56, 0x05, 0x6e, 0xbe, 0xfc }}

class NS_NO_VTABLE nsIMsgPluggableStore : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGPLUGGABLESTORE_IID)

  /* void discoverSubFolders (in nsIMsgFolder aParentFolder, in boolean aDeep); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD DiscoverSubFolders(nsIMsgFolder *aParentFolder, bool aDeep) = 0;

  /* nsIMsgFolder createFolder (in nsIMsgFolder aParent, in AString aFolderName); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD CreateFolder(nsIMsgFolder *aParent, const nsAString& aFolderName, nsIMsgFolder **_retval) = 0;

  /* void deleteFolder (in nsIMsgFolder aFolder); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD DeleteFolder(nsIMsgFolder *aFolder) = 0;

  /* nsIMsgFolder renameFolder (in nsIMsgFolder aFolder, in AString aNewName); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RenameFolder(nsIMsgFolder *aFolder, const nsAString& aNewName, nsIMsgFolder **_retval) = 0;

  /* boolean hasSpaceAvailable (in nsIMsgFolder aFolder, in long long aSpaceRequested); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD HasSpaceAvailable(nsIMsgFolder *aFolder, int64_t aSpaceRequested, bool *_retval) = 0;

  /* void copyFolder (in nsIMsgFolder aSrcFolder, in nsIMsgFolder aDstFolder, in boolean aIsMoveFolder, in nsIMsgWindow aMsgWindow, in nsIMsgCopyServiceListener aListener, in AString aNewName); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD CopyFolder(nsIMsgFolder *aSrcFolder, nsIMsgFolder *aDstFolder, bool aIsMoveFolder, nsIMsgWindow *aMsgWindow, nsIMsgCopyServiceListener *aListener, const nsAString& aNewName) = 0;

  /* nsIOutputStream getNewMsgOutputStream (in nsIMsgFolder aFolder, inout nsIMsgDBHdr aNewHdr, out boolean aReusable); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetNewMsgOutputStream(nsIMsgFolder *aFolder, nsIMsgDBHdr **aNewHdr, bool *aReusable, nsIOutputStream **_retval) = 0;

  /* void discardNewMessage (in nsIOutputStream aOutputStream, in nsIMsgDBHdr aNewHdr); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD DiscardNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr) = 0;

  /* void finishNewMessage (in nsIOutputStream aOutputStream, in nsIMsgDBHdr aNewHdr); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD FinishNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr) = 0;

  /* boolean moveNewlyDownloadedMessage (in nsIMsgDBHdr aNewHdr, in nsIMsgFolder aDestFolder); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD MoveNewlyDownloadedMessage(nsIMsgDBHdr *aNewHdr, nsIMsgFolder *aDestFolder, bool *_retval) = 0;

  /* nsIInputStream getMsgInputStream (in nsIMsgFolder aFolder, in ACString aMsgToken, out long long aOffset, [optional] in nsIMsgDBHdr aHdr, [optional] out boolean aReusable); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetMsgInputStream(nsIMsgFolder *aFolder, const nsACString& aMsgToken, int64_t *aOffset, nsIMsgDBHdr *aHdr, bool *aReusable, nsIInputStream **_retval) = 0;

  /* void deleteMessages (in nsIArray aHdrArray); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD DeleteMessages(nsIArray *aHdrArray) = 0;

  /* boolean copyMessages (in boolean isMove, in nsIArray aHdrArray, in nsIMsgFolder aDstFolder, in nsIMsgCopyServiceListener aListener, out nsIArray aDstHdrs, out nsITransaction aUndoAction); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD CopyMessages(bool isMove, nsIArray *aHdrArray, nsIMsgFolder *aDstFolder, nsIMsgCopyServiceListener *aListener, nsIArray **aDstHdrs, nsITransaction **aUndoAction, bool *_retval) = 0;

  /* readonly attribute boolean supportsCompaction; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetSupportsCompaction(bool *aSupportsCompaction) = 0;

  /* void compactFolder (in nsIMsgFolder aFolder, in nsIUrlListener aListener, in nsIMsgWindow aMsgWindow); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD CompactFolder(nsIMsgFolder *aFolder, nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow) = 0;

  /* boolean isSummaryFileValid (in nsIMsgFolder aFolder, in nsIMsgDatabase aDB); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD IsSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool *_retval) = 0;

  /* void setSummaryFileValid (in nsIMsgFolder aFolder, in nsIMsgDatabase aDB, in boolean aValid); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool aValid) = 0;

  /* void rebuildIndex (in nsIMsgFolder aFolder, in nsIMsgDatabase aMsgDB, in nsIMsgWindow aMsgWindow, in nsIUrlListener aListener); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RebuildIndex(nsIMsgFolder *aFolder, nsIMsgDatabase *aMsgDB, nsIMsgWindow *aMsgWindow, nsIUrlListener *aListener) = 0;

  /* void changeFlags (in nsIArray aHdrArray, in unsigned long aFlags, in boolean aSet); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ChangeFlags(nsIArray *aHdrArray, uint32_t aFlags, bool aSet) = 0;

  /* void changeKeywords (in nsIArray aHdrArray, in ACString aKeywords, in boolean aAdd); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ChangeKeywords(nsIArray *aHdrArray, const nsACString& aKeywords, bool aAdd) = 0;

  /* readonly attribute ACString storeType; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetStoreType(nsACString& aStoreType) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgPluggableStore, NS_IMSGPLUGGABLESTORE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGPLUGGABLESTORE \
  NS_IMETHOD DiscoverSubFolders(nsIMsgFolder *aParentFolder, bool aDeep) override; \
  NS_IMETHOD CreateFolder(nsIMsgFolder *aParent, const nsAString& aFolderName, nsIMsgFolder **_retval) override; \
  NS_IMETHOD DeleteFolder(nsIMsgFolder *aFolder) override; \
  NS_IMETHOD RenameFolder(nsIMsgFolder *aFolder, const nsAString& aNewName, nsIMsgFolder **_retval) override; \
  NS_IMETHOD HasSpaceAvailable(nsIMsgFolder *aFolder, int64_t aSpaceRequested, bool *_retval) override; \
  NS_IMETHOD CopyFolder(nsIMsgFolder *aSrcFolder, nsIMsgFolder *aDstFolder, bool aIsMoveFolder, nsIMsgWindow *aMsgWindow, nsIMsgCopyServiceListener *aListener, const nsAString& aNewName) override; \
  NS_IMETHOD GetNewMsgOutputStream(nsIMsgFolder *aFolder, nsIMsgDBHdr **aNewHdr, bool *aReusable, nsIOutputStream **_retval) override; \
  NS_IMETHOD DiscardNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr) override; \
  NS_IMETHOD FinishNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr) override; \
  NS_IMETHOD MoveNewlyDownloadedMessage(nsIMsgDBHdr *aNewHdr, nsIMsgFolder *aDestFolder, bool *_retval) override; \
  NS_IMETHOD GetMsgInputStream(nsIMsgFolder *aFolder, const nsACString& aMsgToken, int64_t *aOffset, nsIMsgDBHdr *aHdr, bool *aReusable, nsIInputStream **_retval) override; \
  NS_IMETHOD DeleteMessages(nsIArray *aHdrArray) override; \
  NS_IMETHOD CopyMessages(bool isMove, nsIArray *aHdrArray, nsIMsgFolder *aDstFolder, nsIMsgCopyServiceListener *aListener, nsIArray **aDstHdrs, nsITransaction **aUndoAction, bool *_retval) override; \
  NS_IMETHOD GetSupportsCompaction(bool *aSupportsCompaction) override; \
  NS_IMETHOD CompactFolder(nsIMsgFolder *aFolder, nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow) override; \
  NS_IMETHOD IsSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool *_retval) override; \
  NS_IMETHOD SetSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool aValid) override; \
  NS_IMETHOD RebuildIndex(nsIMsgFolder *aFolder, nsIMsgDatabase *aMsgDB, nsIMsgWindow *aMsgWindow, nsIUrlListener *aListener) override; \
  NS_IMETHOD ChangeFlags(nsIArray *aHdrArray, uint32_t aFlags, bool aSet) override; \
  NS_IMETHOD ChangeKeywords(nsIArray *aHdrArray, const nsACString& aKeywords, bool aAdd) override; \
  NS_IMETHOD GetStoreType(nsACString& aStoreType) override; 

/* Use this macro when declaring the members of this interface when the
   class doesn't implement the interface. This is useful for forwarding. */
#define NS_DECL_NON_VIRTUAL_NSIMSGPLUGGABLESTORE \
  nsresult DiscoverSubFolders(nsIMsgFolder *aParentFolder, bool aDeep); \
  nsresult CreateFolder(nsIMsgFolder *aParent, const nsAString& aFolderName, nsIMsgFolder **_retval); \
  nsresult DeleteFolder(nsIMsgFolder *aFolder); \
  nsresult RenameFolder(nsIMsgFolder *aFolder, const nsAString& aNewName, nsIMsgFolder **_retval); \
  nsresult HasSpaceAvailable(nsIMsgFolder *aFolder, int64_t aSpaceRequested, bool *_retval); \
  nsresult CopyFolder(nsIMsgFolder *aSrcFolder, nsIMsgFolder *aDstFolder, bool aIsMoveFolder, nsIMsgWindow *aMsgWindow, nsIMsgCopyServiceListener *aListener, const nsAString& aNewName); \
  nsresult GetNewMsgOutputStream(nsIMsgFolder *aFolder, nsIMsgDBHdr **aNewHdr, bool *aReusable, nsIOutputStream **_retval); \
  nsresult DiscardNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr); \
  nsresult FinishNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr); \
  nsresult MoveNewlyDownloadedMessage(nsIMsgDBHdr *aNewHdr, nsIMsgFolder *aDestFolder, bool *_retval); \
  nsresult GetMsgInputStream(nsIMsgFolder *aFolder, const nsACString& aMsgToken, int64_t *aOffset, nsIMsgDBHdr *aHdr, bool *aReusable, nsIInputStream **_retval); \
  nsresult DeleteMessages(nsIArray *aHdrArray); \
  nsresult CopyMessages(bool isMove, nsIArray *aHdrArray, nsIMsgFolder *aDstFolder, nsIMsgCopyServiceListener *aListener, nsIArray **aDstHdrs, nsITransaction **aUndoAction, bool *_retval); \
  nsresult GetSupportsCompaction(bool *aSupportsCompaction); \
  nsresult CompactFolder(nsIMsgFolder *aFolder, nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow); \
  nsresult IsSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool *_retval); \
  nsresult SetSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool aValid); \
  nsresult RebuildIndex(nsIMsgFolder *aFolder, nsIMsgDatabase *aMsgDB, nsIMsgWindow *aMsgWindow, nsIUrlListener *aListener); \
  nsresult ChangeFlags(nsIArray *aHdrArray, uint32_t aFlags, bool aSet); \
  nsresult ChangeKeywords(nsIArray *aHdrArray, const nsACString& aKeywords, bool aAdd); \
  nsresult GetStoreType(nsACString& aStoreType); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGPLUGGABLESTORE(_to) \
  NS_IMETHOD DiscoverSubFolders(nsIMsgFolder *aParentFolder, bool aDeep) override { return _to DiscoverSubFolders(aParentFolder, aDeep); } \
  NS_IMETHOD CreateFolder(nsIMsgFolder *aParent, const nsAString& aFolderName, nsIMsgFolder **_retval) override { return _to CreateFolder(aParent, aFolderName, _retval); } \
  NS_IMETHOD DeleteFolder(nsIMsgFolder *aFolder) override { return _to DeleteFolder(aFolder); } \
  NS_IMETHOD RenameFolder(nsIMsgFolder *aFolder, const nsAString& aNewName, nsIMsgFolder **_retval) override { return _to RenameFolder(aFolder, aNewName, _retval); } \
  NS_IMETHOD HasSpaceAvailable(nsIMsgFolder *aFolder, int64_t aSpaceRequested, bool *_retval) override { return _to HasSpaceAvailable(aFolder, aSpaceRequested, _retval); } \
  NS_IMETHOD CopyFolder(nsIMsgFolder *aSrcFolder, nsIMsgFolder *aDstFolder, bool aIsMoveFolder, nsIMsgWindow *aMsgWindow, nsIMsgCopyServiceListener *aListener, const nsAString& aNewName) override { return _to CopyFolder(aSrcFolder, aDstFolder, aIsMoveFolder, aMsgWindow, aListener, aNewName); } \
  NS_IMETHOD GetNewMsgOutputStream(nsIMsgFolder *aFolder, nsIMsgDBHdr **aNewHdr, bool *aReusable, nsIOutputStream **_retval) override { return _to GetNewMsgOutputStream(aFolder, aNewHdr, aReusable, _retval); } \
  NS_IMETHOD DiscardNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr) override { return _to DiscardNewMessage(aOutputStream, aNewHdr); } \
  NS_IMETHOD FinishNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr) override { return _to FinishNewMessage(aOutputStream, aNewHdr); } \
  NS_IMETHOD MoveNewlyDownloadedMessage(nsIMsgDBHdr *aNewHdr, nsIMsgFolder *aDestFolder, bool *_retval) override { return _to MoveNewlyDownloadedMessage(aNewHdr, aDestFolder, _retval); } \
  NS_IMETHOD GetMsgInputStream(nsIMsgFolder *aFolder, const nsACString& aMsgToken, int64_t *aOffset, nsIMsgDBHdr *aHdr, bool *aReusable, nsIInputStream **_retval) override { return _to GetMsgInputStream(aFolder, aMsgToken, aOffset, aHdr, aReusable, _retval); } \
  NS_IMETHOD DeleteMessages(nsIArray *aHdrArray) override { return _to DeleteMessages(aHdrArray); } \
  NS_IMETHOD CopyMessages(bool isMove, nsIArray *aHdrArray, nsIMsgFolder *aDstFolder, nsIMsgCopyServiceListener *aListener, nsIArray **aDstHdrs, nsITransaction **aUndoAction, bool *_retval) override { return _to CopyMessages(isMove, aHdrArray, aDstFolder, aListener, aDstHdrs, aUndoAction, _retval); } \
  NS_IMETHOD GetSupportsCompaction(bool *aSupportsCompaction) override { return _to GetSupportsCompaction(aSupportsCompaction); } \
  NS_IMETHOD CompactFolder(nsIMsgFolder *aFolder, nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow) override { return _to CompactFolder(aFolder, aListener, aMsgWindow); } \
  NS_IMETHOD IsSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool *_retval) override { return _to IsSummaryFileValid(aFolder, aDB, _retval); } \
  NS_IMETHOD SetSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool aValid) override { return _to SetSummaryFileValid(aFolder, aDB, aValid); } \
  NS_IMETHOD RebuildIndex(nsIMsgFolder *aFolder, nsIMsgDatabase *aMsgDB, nsIMsgWindow *aMsgWindow, nsIUrlListener *aListener) override { return _to RebuildIndex(aFolder, aMsgDB, aMsgWindow, aListener); } \
  NS_IMETHOD ChangeFlags(nsIArray *aHdrArray, uint32_t aFlags, bool aSet) override { return _to ChangeFlags(aHdrArray, aFlags, aSet); } \
  NS_IMETHOD ChangeKeywords(nsIArray *aHdrArray, const nsACString& aKeywords, bool aAdd) override { return _to ChangeKeywords(aHdrArray, aKeywords, aAdd); } \
  NS_IMETHOD GetStoreType(nsACString& aStoreType) override { return _to GetStoreType(aStoreType); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGPLUGGABLESTORE(_to) \
  NS_IMETHOD DiscoverSubFolders(nsIMsgFolder *aParentFolder, bool aDeep) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DiscoverSubFolders(aParentFolder, aDeep); } \
  NS_IMETHOD CreateFolder(nsIMsgFolder *aParent, const nsAString& aFolderName, nsIMsgFolder **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateFolder(aParent, aFolderName, _retval); } \
  NS_IMETHOD DeleteFolder(nsIMsgFolder *aFolder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteFolder(aFolder); } \
  NS_IMETHOD RenameFolder(nsIMsgFolder *aFolder, const nsAString& aNewName, nsIMsgFolder **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RenameFolder(aFolder, aNewName, _retval); } \
  NS_IMETHOD HasSpaceAvailable(nsIMsgFolder *aFolder, int64_t aSpaceRequested, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->HasSpaceAvailable(aFolder, aSpaceRequested, _retval); } \
  NS_IMETHOD CopyFolder(nsIMsgFolder *aSrcFolder, nsIMsgFolder *aDstFolder, bool aIsMoveFolder, nsIMsgWindow *aMsgWindow, nsIMsgCopyServiceListener *aListener, const nsAString& aNewName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CopyFolder(aSrcFolder, aDstFolder, aIsMoveFolder, aMsgWindow, aListener, aNewName); } \
  NS_IMETHOD GetNewMsgOutputStream(nsIMsgFolder *aFolder, nsIMsgDBHdr **aNewHdr, bool *aReusable, nsIOutputStream **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewMsgOutputStream(aFolder, aNewHdr, aReusable, _retval); } \
  NS_IMETHOD DiscardNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DiscardNewMessage(aOutputStream, aNewHdr); } \
  NS_IMETHOD FinishNewMessage(nsIOutputStream *aOutputStream, nsIMsgDBHdr *aNewHdr) override { return !_to ? NS_ERROR_NULL_POINTER : _to->FinishNewMessage(aOutputStream, aNewHdr); } \
  NS_IMETHOD MoveNewlyDownloadedMessage(nsIMsgDBHdr *aNewHdr, nsIMsgFolder *aDestFolder, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MoveNewlyDownloadedMessage(aNewHdr, aDestFolder, _retval); } \
  NS_IMETHOD GetMsgInputStream(nsIMsgFolder *aFolder, const nsACString& aMsgToken, int64_t *aOffset, nsIMsgDBHdr *aHdr, bool *aReusable, nsIInputStream **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMsgInputStream(aFolder, aMsgToken, aOffset, aHdr, aReusable, _retval); } \
  NS_IMETHOD DeleteMessages(nsIArray *aHdrArray) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteMessages(aHdrArray); } \
  NS_IMETHOD CopyMessages(bool isMove, nsIArray *aHdrArray, nsIMsgFolder *aDstFolder, nsIMsgCopyServiceListener *aListener, nsIArray **aDstHdrs, nsITransaction **aUndoAction, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CopyMessages(isMove, aHdrArray, aDstFolder, aListener, aDstHdrs, aUndoAction, _retval); } \
  NS_IMETHOD GetSupportsCompaction(bool *aSupportsCompaction) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSupportsCompaction(aSupportsCompaction); } \
  NS_IMETHOD CompactFolder(nsIMsgFolder *aFolder, nsIUrlListener *aListener, nsIMsgWindow *aMsgWindow) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CompactFolder(aFolder, aListener, aMsgWindow); } \
  NS_IMETHOD IsSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsSummaryFileValid(aFolder, aDB, _retval); } \
  NS_IMETHOD SetSummaryFileValid(nsIMsgFolder *aFolder, nsIMsgDatabase *aDB, bool aValid) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSummaryFileValid(aFolder, aDB, aValid); } \
  NS_IMETHOD RebuildIndex(nsIMsgFolder *aFolder, nsIMsgDatabase *aMsgDB, nsIMsgWindow *aMsgWindow, nsIUrlListener *aListener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RebuildIndex(aFolder, aMsgDB, aMsgWindow, aListener); } \
  NS_IMETHOD ChangeFlags(nsIArray *aHdrArray, uint32_t aFlags, bool aSet) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ChangeFlags(aHdrArray, aFlags, aSet); } \
  NS_IMETHOD ChangeKeywords(nsIArray *aHdrArray, const nsACString& aKeywords, bool aAdd) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ChangeKeywords(aHdrArray, aKeywords, aAdd); } \
  NS_IMETHOD GetStoreType(nsACString& aStoreType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStoreType(aStoreType); } 


#endif /* __gen_nsIMsgPluggableStore_h__ */