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 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /home/jenkins/src/releases/comm-beta/mailnews/base/search/public/nsIMsgFilterList.idl
 */

#ifndef __gen_nsIMsgFilterList_h__
#define __gen_nsIMsgFilterList_h__


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

#ifndef __gen_nsIMsgFilterHitNotify_h__
#include "nsIMsgFilterHitNotify.h"
#endif

#ifndef __gen_nsMsgFilterCore_h__
#include "nsMsgFilterCore.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 nsIOutputStream; /* forward declaration */

class nsIMsgFilter; /* forward declaration */

class nsIMsgFolder; /* forward declaration */

typedef int32_t  nsMsgFilterFileAttribValue;


/* starting interface:    nsIMsgFilterList */
#define NS_IMSGFILTERLIST_IID_STR "5d0ec03e-7e2f-49e9-b58a-b274c85f279e"

#define NS_IMSGFILTERLIST_IID \
  {0x5d0ec03e, 0x7e2f, 0x49e9, \
    { 0xb5, 0x8a, 0xb2, 0x74, 0xc8, 0x5f, 0x27, 0x9e }}

class NS_NO_VTABLE nsIMsgFilterList : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGFILTERLIST_IID)

  enum {
    attribNone = 0,
    attribVersion = 1,
    attribLogging = 2,
    attribName = 3,
    attribEnabled = 4,
    attribDescription = 5,
    attribType = 6,
    attribScriptFile = 7,
    attribAction = 8,
    attribActionValue = 9,
    attribCondition = 10,
    attribCustomId = 11
  };

  /* attribute nsIMsgFolder folder; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFolder(nsIMsgFolder **aFolder) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetFolder(nsIMsgFolder *aFolder) = 0;

  /* readonly attribute short version; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetVersion(int16_t *aVersion) = 0;

  /* readonly attribute ACString arbitraryHeaders; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetArbitraryHeaders(nsACString& aArbitraryHeaders) = 0;

  /* readonly attribute boolean shouldDownloadAllHeaders; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetShouldDownloadAllHeaders(bool *aShouldDownloadAllHeaders) = 0;

  /* readonly attribute unsigned long filterCount; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFilterCount(uint32_t *aFilterCount) = 0;

  /* nsIMsgFilter getFilterAt (in unsigned long filterIndex); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFilterAt(uint32_t filterIndex, nsIMsgFilter **_retval) = 0;

  /* nsIMsgFilter getFilterNamed (in AString filterName); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFilterNamed(const nsAString& filterName, nsIMsgFilter **_retval) = 0;

  /* void setFilterAt (in unsigned long filterIndex, in nsIMsgFilter filter); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetFilterAt(uint32_t filterIndex, nsIMsgFilter *filter) = 0;

  /* void removeFilter (in nsIMsgFilter filter); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RemoveFilter(nsIMsgFilter *filter) = 0;

  /* void removeFilterAt (in unsigned long filterIndex); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RemoveFilterAt(uint32_t filterIndex) = 0;

  /* void moveFilterAt (in unsigned long filterIndex, in nsMsgFilterMotionValue motion); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD MoveFilterAt(uint32_t filterIndex, nsMsgFilterMotionValue motion) = 0;

  /* void moveFilter (in nsIMsgFilter filter, in nsMsgFilterMotionValue motion); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD MoveFilter(nsIMsgFilter *filter, nsMsgFilterMotionValue motion) = 0;

  /* void insertFilterAt (in unsigned long filterIndex, in nsIMsgFilter filter); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD InsertFilterAt(uint32_t filterIndex, nsIMsgFilter *filter) = 0;

  /* attribute boolean loggingEnabled; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetLoggingEnabled(bool *aLoggingEnabled) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetLoggingEnabled(bool aLoggingEnabled) = 0;

  /* nsIMsgFilter createFilter (in AString name); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD CreateFilter(const nsAString& name, nsIMsgFilter **_retval) = 0;

  /* void saveToFile (in nsIOutputStream stream); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SaveToFile(nsIOutputStream *stream) = 0;

  /* void parseCondition (in nsIMsgFilter aFilter, in string condition); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ParseCondition(nsIMsgFilter *aFilter, const char * condition) = 0;

  /* attribute nsIFile defaultFile; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetDefaultFile(nsIFile **aDefaultFile) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetDefaultFile(nsIFile *aDefaultFile) = 0;

  /* void saveToDefaultFile (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SaveToDefaultFile(void) = 0;

  /* [noscript] void applyFiltersToHdr (in nsMsgFilterTypeType filterType, in nsIMsgDBHdr msgHdr, in nsIMsgFolder folder, in nsIMsgDatabase db, in string headers, in unsigned long headerSize, in nsIMsgFilterHitNotify listener, in nsIMsgWindow msgWindow); */
  NS_IMETHOD ApplyFiltersToHdr(nsMsgFilterTypeType filterType, nsIMsgDBHdr *msgHdr, nsIMsgFolder *folder, nsIMsgDatabase *db, const char * headers, uint32_t headerSize, nsIMsgFilterHitNotify *listener, nsIMsgWindow *msgWindow) = 0;

  /* void writeIntAttr (in nsMsgFilterFileAttribValue attrib, in long value, in nsIOutputStream stream); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD WriteIntAttr(nsMsgFilterFileAttribValue attrib, int32_t value, nsIOutputStream *stream) = 0;

  /* void writeStrAttr (in nsMsgFilterFileAttribValue attrib, in string value, in nsIOutputStream stream); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD WriteStrAttr(nsMsgFilterFileAttribValue attrib, const char * value, nsIOutputStream *stream) = 0;

  /* void writeWstrAttr (in nsMsgFilterFileAttribValue attrib, in wstring value, in nsIOutputStream stream); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD WriteWstrAttr(nsMsgFilterFileAttribValue attrib, const char16_t * value, nsIOutputStream *stream) = 0;

  /* void writeBoolAttr (in nsMsgFilterFileAttribValue attrib, in boolean value, in nsIOutputStream stream); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD WriteBoolAttr(nsMsgFilterFileAttribValue attrib, bool value, nsIOutputStream *stream) = 0;

  /* boolean matchOrChangeFilterTarget (in ACString oldUri, in ACString newUri, in boolean caseInsensitive); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD MatchOrChangeFilterTarget(const nsACString& oldUri, const nsACString& newUri, bool caseInsensitive, bool *_retval) = 0;

  /* attribute nsIOutputStream logStream; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetLogStream(nsIOutputStream **aLogStream) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetLogStream(nsIOutputStream *aLogStream) = 0;

  /* readonly attribute ACString logURL; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetLogURL(nsACString& aLogURL) = 0;

  /* void clearLog (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ClearLog(void) = 0;

  /* void flushLogIfNecessary (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD FlushLogIfNecessary(void) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgFilterList, NS_IMSGFILTERLIST_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGFILTERLIST \
  NS_IMETHOD GetFolder(nsIMsgFolder **aFolder) override; \
  NS_IMETHOD SetFolder(nsIMsgFolder *aFolder) override; \
  NS_IMETHOD GetVersion(int16_t *aVersion) override; \
  NS_IMETHOD GetArbitraryHeaders(nsACString& aArbitraryHeaders) override; \
  NS_IMETHOD GetShouldDownloadAllHeaders(bool *aShouldDownloadAllHeaders) override; \
  NS_IMETHOD GetFilterCount(uint32_t *aFilterCount) override; \
  NS_IMETHOD GetFilterAt(uint32_t filterIndex, nsIMsgFilter **_retval) override; \
  NS_IMETHOD GetFilterNamed(const nsAString& filterName, nsIMsgFilter **_retval) override; \
  NS_IMETHOD SetFilterAt(uint32_t filterIndex, nsIMsgFilter *filter) override; \
  NS_IMETHOD RemoveFilter(nsIMsgFilter *filter) override; \
  NS_IMETHOD RemoveFilterAt(uint32_t filterIndex) override; \
  NS_IMETHOD MoveFilterAt(uint32_t filterIndex, nsMsgFilterMotionValue motion) override; \
  NS_IMETHOD MoveFilter(nsIMsgFilter *filter, nsMsgFilterMotionValue motion) override; \
  NS_IMETHOD InsertFilterAt(uint32_t filterIndex, nsIMsgFilter *filter) override; \
  NS_IMETHOD GetLoggingEnabled(bool *aLoggingEnabled) override; \
  NS_IMETHOD SetLoggingEnabled(bool aLoggingEnabled) override; \
  NS_IMETHOD CreateFilter(const nsAString& name, nsIMsgFilter **_retval) override; \
  NS_IMETHOD SaveToFile(nsIOutputStream *stream) override; \
  NS_IMETHOD ParseCondition(nsIMsgFilter *aFilter, const char * condition) override; \
  NS_IMETHOD GetDefaultFile(nsIFile **aDefaultFile) override; \
  NS_IMETHOD SetDefaultFile(nsIFile *aDefaultFile) override; \
  NS_IMETHOD SaveToDefaultFile(void) override; \
  NS_IMETHOD ApplyFiltersToHdr(nsMsgFilterTypeType filterType, nsIMsgDBHdr *msgHdr, nsIMsgFolder *folder, nsIMsgDatabase *db, const char * headers, uint32_t headerSize, nsIMsgFilterHitNotify *listener, nsIMsgWindow *msgWindow) override; \
  NS_IMETHOD WriteIntAttr(nsMsgFilterFileAttribValue attrib, int32_t value, nsIOutputStream *stream) override; \
  NS_IMETHOD WriteStrAttr(nsMsgFilterFileAttribValue attrib, const char * value, nsIOutputStream *stream) override; \
  NS_IMETHOD WriteWstrAttr(nsMsgFilterFileAttribValue attrib, const char16_t * value, nsIOutputStream *stream) override; \
  NS_IMETHOD WriteBoolAttr(nsMsgFilterFileAttribValue attrib, bool value, nsIOutputStream *stream) override; \
  NS_IMETHOD MatchOrChangeFilterTarget(const nsACString& oldUri, const nsACString& newUri, bool caseInsensitive, bool *_retval) override; \
  NS_IMETHOD GetLogStream(nsIOutputStream **aLogStream) override; \
  NS_IMETHOD SetLogStream(nsIOutputStream *aLogStream) override; \
  NS_IMETHOD GetLogURL(nsACString& aLogURL) override; \
  NS_IMETHOD ClearLog(void) override; \
  NS_IMETHOD FlushLogIfNecessary(void) 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_NSIMSGFILTERLIST \
  nsresult GetFolder(nsIMsgFolder **aFolder); \
  nsresult SetFolder(nsIMsgFolder *aFolder); \
  nsresult GetVersion(int16_t *aVersion); \
  nsresult GetArbitraryHeaders(nsACString& aArbitraryHeaders); \
  nsresult GetShouldDownloadAllHeaders(bool *aShouldDownloadAllHeaders); \
  nsresult GetFilterCount(uint32_t *aFilterCount); \
  nsresult GetFilterAt(uint32_t filterIndex, nsIMsgFilter **_retval); \
  nsresult GetFilterNamed(const nsAString& filterName, nsIMsgFilter **_retval); \
  nsresult SetFilterAt(uint32_t filterIndex, nsIMsgFilter *filter); \
  nsresult RemoveFilter(nsIMsgFilter *filter); \
  nsresult RemoveFilterAt(uint32_t filterIndex); \
  nsresult MoveFilterAt(uint32_t filterIndex, nsMsgFilterMotionValue motion); \
  nsresult MoveFilter(nsIMsgFilter *filter, nsMsgFilterMotionValue motion); \
  nsresult InsertFilterAt(uint32_t filterIndex, nsIMsgFilter *filter); \
  nsresult GetLoggingEnabled(bool *aLoggingEnabled); \
  nsresult SetLoggingEnabled(bool aLoggingEnabled); \
  nsresult CreateFilter(const nsAString& name, nsIMsgFilter **_retval); \
  nsresult SaveToFile(nsIOutputStream *stream); \
  nsresult ParseCondition(nsIMsgFilter *aFilter, const char * condition); \
  nsresult GetDefaultFile(nsIFile **aDefaultFile); \
  nsresult SetDefaultFile(nsIFile *aDefaultFile); \
  nsresult SaveToDefaultFile(void); \
  nsresult ApplyFiltersToHdr(nsMsgFilterTypeType filterType, nsIMsgDBHdr *msgHdr, nsIMsgFolder *folder, nsIMsgDatabase *db, const char * headers, uint32_t headerSize, nsIMsgFilterHitNotify *listener, nsIMsgWindow *msgWindow); \
  nsresult WriteIntAttr(nsMsgFilterFileAttribValue attrib, int32_t value, nsIOutputStream *stream); \
  nsresult WriteStrAttr(nsMsgFilterFileAttribValue attrib, const char * value, nsIOutputStream *stream); \
  nsresult WriteWstrAttr(nsMsgFilterFileAttribValue attrib, const char16_t * value, nsIOutputStream *stream); \
  nsresult WriteBoolAttr(nsMsgFilterFileAttribValue attrib, bool value, nsIOutputStream *stream); \
  nsresult MatchOrChangeFilterTarget(const nsACString& oldUri, const nsACString& newUri, bool caseInsensitive, bool *_retval); \
  nsresult GetLogStream(nsIOutputStream **aLogStream); \
  nsresult SetLogStream(nsIOutputStream *aLogStream); \
  nsresult GetLogURL(nsACString& aLogURL); \
  nsresult ClearLog(void); \
  nsresult FlushLogIfNecessary(void); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGFILTERLIST(_to) \
  NS_IMETHOD GetFolder(nsIMsgFolder **aFolder) override { return _to GetFolder(aFolder); } \
  NS_IMETHOD SetFolder(nsIMsgFolder *aFolder) override { return _to SetFolder(aFolder); } \
  NS_IMETHOD GetVersion(int16_t *aVersion) override { return _to GetVersion(aVersion); } \
  NS_IMETHOD GetArbitraryHeaders(nsACString& aArbitraryHeaders) override { return _to GetArbitraryHeaders(aArbitraryHeaders); } \
  NS_IMETHOD GetShouldDownloadAllHeaders(bool *aShouldDownloadAllHeaders) override { return _to GetShouldDownloadAllHeaders(aShouldDownloadAllHeaders); } \
  NS_IMETHOD GetFilterCount(uint32_t *aFilterCount) override { return _to GetFilterCount(aFilterCount); } \
  NS_IMETHOD GetFilterAt(uint32_t filterIndex, nsIMsgFilter **_retval) override { return _to GetFilterAt(filterIndex, _retval); } \
  NS_IMETHOD GetFilterNamed(const nsAString& filterName, nsIMsgFilter **_retval) override { return _to GetFilterNamed(filterName, _retval); } \
  NS_IMETHOD SetFilterAt(uint32_t filterIndex, nsIMsgFilter *filter) override { return _to SetFilterAt(filterIndex, filter); } \
  NS_IMETHOD RemoveFilter(nsIMsgFilter *filter) override { return _to RemoveFilter(filter); } \
  NS_IMETHOD RemoveFilterAt(uint32_t filterIndex) override { return _to RemoveFilterAt(filterIndex); } \
  NS_IMETHOD MoveFilterAt(uint32_t filterIndex, nsMsgFilterMotionValue motion) override { return _to MoveFilterAt(filterIndex, motion); } \
  NS_IMETHOD MoveFilter(nsIMsgFilter *filter, nsMsgFilterMotionValue motion) override { return _to MoveFilter(filter, motion); } \
  NS_IMETHOD InsertFilterAt(uint32_t filterIndex, nsIMsgFilter *filter) override { return _to InsertFilterAt(filterIndex, filter); } \
  NS_IMETHOD GetLoggingEnabled(bool *aLoggingEnabled) override { return _to GetLoggingEnabled(aLoggingEnabled); } \
  NS_IMETHOD SetLoggingEnabled(bool aLoggingEnabled) override { return _to SetLoggingEnabled(aLoggingEnabled); } \
  NS_IMETHOD CreateFilter(const nsAString& name, nsIMsgFilter **_retval) override { return _to CreateFilter(name, _retval); } \
  NS_IMETHOD SaveToFile(nsIOutputStream *stream) override { return _to SaveToFile(stream); } \
  NS_IMETHOD ParseCondition(nsIMsgFilter *aFilter, const char * condition) override { return _to ParseCondition(aFilter, condition); } \
  NS_IMETHOD GetDefaultFile(nsIFile **aDefaultFile) override { return _to GetDefaultFile(aDefaultFile); } \
  NS_IMETHOD SetDefaultFile(nsIFile *aDefaultFile) override { return _to SetDefaultFile(aDefaultFile); } \
  NS_IMETHOD SaveToDefaultFile(void) override { return _to SaveToDefaultFile(); } \
  NS_IMETHOD ApplyFiltersToHdr(nsMsgFilterTypeType filterType, nsIMsgDBHdr *msgHdr, nsIMsgFolder *folder, nsIMsgDatabase *db, const char * headers, uint32_t headerSize, nsIMsgFilterHitNotify *listener, nsIMsgWindow *msgWindow) override { return _to ApplyFiltersToHdr(filterType, msgHdr, folder, db, headers, headerSize, listener, msgWindow); } \
  NS_IMETHOD WriteIntAttr(nsMsgFilterFileAttribValue attrib, int32_t value, nsIOutputStream *stream) override { return _to WriteIntAttr(attrib, value, stream); } \
  NS_IMETHOD WriteStrAttr(nsMsgFilterFileAttribValue attrib, const char * value, nsIOutputStream *stream) override { return _to WriteStrAttr(attrib, value, stream); } \
  NS_IMETHOD WriteWstrAttr(nsMsgFilterFileAttribValue attrib, const char16_t * value, nsIOutputStream *stream) override { return _to WriteWstrAttr(attrib, value, stream); } \
  NS_IMETHOD WriteBoolAttr(nsMsgFilterFileAttribValue attrib, bool value, nsIOutputStream *stream) override { return _to WriteBoolAttr(attrib, value, stream); } \
  NS_IMETHOD MatchOrChangeFilterTarget(const nsACString& oldUri, const nsACString& newUri, bool caseInsensitive, bool *_retval) override { return _to MatchOrChangeFilterTarget(oldUri, newUri, caseInsensitive, _retval); } \
  NS_IMETHOD GetLogStream(nsIOutputStream **aLogStream) override { return _to GetLogStream(aLogStream); } \
  NS_IMETHOD SetLogStream(nsIOutputStream *aLogStream) override { return _to SetLogStream(aLogStream); } \
  NS_IMETHOD GetLogURL(nsACString& aLogURL) override { return _to GetLogURL(aLogURL); } \
  NS_IMETHOD ClearLog(void) override { return _to ClearLog(); } \
  NS_IMETHOD FlushLogIfNecessary(void) override { return _to FlushLogIfNecessary(); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGFILTERLIST(_to) \
  NS_IMETHOD GetFolder(nsIMsgFolder **aFolder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFolder(aFolder); } \
  NS_IMETHOD SetFolder(nsIMsgFolder *aFolder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFolder(aFolder); } \
  NS_IMETHOD GetVersion(int16_t *aVersion) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetVersion(aVersion); } \
  NS_IMETHOD GetArbitraryHeaders(nsACString& aArbitraryHeaders) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetArbitraryHeaders(aArbitraryHeaders); } \
  NS_IMETHOD GetShouldDownloadAllHeaders(bool *aShouldDownloadAllHeaders) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetShouldDownloadAllHeaders(aShouldDownloadAllHeaders); } \
  NS_IMETHOD GetFilterCount(uint32_t *aFilterCount) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFilterCount(aFilterCount); } \
  NS_IMETHOD GetFilterAt(uint32_t filterIndex, nsIMsgFilter **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFilterAt(filterIndex, _retval); } \
  NS_IMETHOD GetFilterNamed(const nsAString& filterName, nsIMsgFilter **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFilterNamed(filterName, _retval); } \
  NS_IMETHOD SetFilterAt(uint32_t filterIndex, nsIMsgFilter *filter) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFilterAt(filterIndex, filter); } \
  NS_IMETHOD RemoveFilter(nsIMsgFilter *filter) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveFilter(filter); } \
  NS_IMETHOD RemoveFilterAt(uint32_t filterIndex) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveFilterAt(filterIndex); } \
  NS_IMETHOD MoveFilterAt(uint32_t filterIndex, nsMsgFilterMotionValue motion) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MoveFilterAt(filterIndex, motion); } \
  NS_IMETHOD MoveFilter(nsIMsgFilter *filter, nsMsgFilterMotionValue motion) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MoveFilter(filter, motion); } \
  NS_IMETHOD InsertFilterAt(uint32_t filterIndex, nsIMsgFilter *filter) override { return !_to ? NS_ERROR_NULL_POINTER : _to->InsertFilterAt(filterIndex, filter); } \
  NS_IMETHOD GetLoggingEnabled(bool *aLoggingEnabled) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoggingEnabled(aLoggingEnabled); } \
  NS_IMETHOD SetLoggingEnabled(bool aLoggingEnabled) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLoggingEnabled(aLoggingEnabled); } \
  NS_IMETHOD CreateFilter(const nsAString& name, nsIMsgFilter **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateFilter(name, _retval); } \
  NS_IMETHOD SaveToFile(nsIOutputStream *stream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SaveToFile(stream); } \
  NS_IMETHOD ParseCondition(nsIMsgFilter *aFilter, const char * condition) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ParseCondition(aFilter, condition); } \
  NS_IMETHOD GetDefaultFile(nsIFile **aDefaultFile) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDefaultFile(aDefaultFile); } \
  NS_IMETHOD SetDefaultFile(nsIFile *aDefaultFile) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDefaultFile(aDefaultFile); } \
  NS_IMETHOD SaveToDefaultFile(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SaveToDefaultFile(); } \
  NS_IMETHOD ApplyFiltersToHdr(nsMsgFilterTypeType filterType, nsIMsgDBHdr *msgHdr, nsIMsgFolder *folder, nsIMsgDatabase *db, const char * headers, uint32_t headerSize, nsIMsgFilterHitNotify *listener, nsIMsgWindow *msgWindow) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ApplyFiltersToHdr(filterType, msgHdr, folder, db, headers, headerSize, listener, msgWindow); } \
  NS_IMETHOD WriteIntAttr(nsMsgFilterFileAttribValue attrib, int32_t value, nsIOutputStream *stream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->WriteIntAttr(attrib, value, stream); } \
  NS_IMETHOD WriteStrAttr(nsMsgFilterFileAttribValue attrib, const char * value, nsIOutputStream *stream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->WriteStrAttr(attrib, value, stream); } \
  NS_IMETHOD WriteWstrAttr(nsMsgFilterFileAttribValue attrib, const char16_t * value, nsIOutputStream *stream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->WriteWstrAttr(attrib, value, stream); } \
  NS_IMETHOD WriteBoolAttr(nsMsgFilterFileAttribValue attrib, bool value, nsIOutputStream *stream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->WriteBoolAttr(attrib, value, stream); } \
  NS_IMETHOD MatchOrChangeFilterTarget(const nsACString& oldUri, const nsACString& newUri, bool caseInsensitive, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MatchOrChangeFilterTarget(oldUri, newUri, caseInsensitive, _retval); } \
  NS_IMETHOD GetLogStream(nsIOutputStream **aLogStream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLogStream(aLogStream); } \
  NS_IMETHOD SetLogStream(nsIOutputStream *aLogStream) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLogStream(aLogStream); } \
  NS_IMETHOD GetLogURL(nsACString& aLogURL) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLogURL(aLogURL); } \
  NS_IMETHOD ClearLog(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearLog(); } \
  NS_IMETHOD FlushLogIfNecessary(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->FlushLogIfNecessary(); } 


/* starting interface:    nsMsgFilterMotion */
#define NS_MSGFILTERMOTION_IID_STR "d067b528-304e-11d3-a0e1-00a0c900d445"

#define NS_MSGFILTERMOTION_IID \
  {0xd067b528, 0x304e, 0x11d3, \
    { 0xa0, 0xe1, 0x00, 0xa0, 0xc9, 0x00, 0xd4, 0x45 }}

class NS_NO_VTABLE nsMsgFilterMotion {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_MSGFILTERMOTION_IID)

  enum {
    up = 0,
    down = 1
  };

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsMsgFilterMotion, NS_MSGFILTERMOTION_IID)

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

/* 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_NSMSGFILTERMOTION \

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

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


#endif /* __gen_nsIMsgFilterList_h__ */