This file is indexed.

/usr/include/thunderbird/nsIMsgSearchSession.h is in thunderbird-dev 1:52.8.0-1~deb8u1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl/nsIMsgSearchSession.idl
 */

#ifndef __gen_nsIMsgSearchSession_h__
#define __gen_nsIMsgSearchSession_h__


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

#ifndef __gen_nsIMsgSearchValue_h__
#include "nsIMsgSearchValue.h"
#endif

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

class nsIMsgSearchTerm; /* forward declaration */

class nsIMsgSearchNotify; /* forward declaration */

class nsIMsgHdr; /* forward declaration */

class nsIMsgDatabase; /* forward declaration */

#if defined(__GNUC__)
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#elif defined(_MSC_VER)
#pragma warning (disable : 4996)
#endif
class nsISupportsArray; /* forward declaration */

class nsIMsgWindow; /* forward declaration */


/* starting interface:    nsIMsgSearchSession */
#define NS_IMSGSEARCHSESSION_IID_STR "1ed69bbf-7983-4602-9a9b-2f2263a78878"

#define NS_IMSGSEARCHSESSION_IID \
  {0x1ed69bbf, 0x7983, 0x4602, \
    { 0x9a, 0x9b, 0x2f, 0x22, 0x63, 0xa7, 0x88, 0x78 }}

class NS_NO_VTABLE nsIMsgSearchSession : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGSEARCHSESSION_IID)

  /* void addSearchTerm (in nsMsgSearchAttribValue attrib, in nsMsgSearchOpValue op, in nsIMsgSearchValue value, in boolean BooleanAND, in string customString); */
  NS_IMETHOD AddSearchTerm(nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value, bool BooleanAND, const char * customString) = 0;

  /* readonly attribute nsISupportsArray searchTerms; */
  NS_IMETHOD GetSearchTerms(nsISupportsArray * *aSearchTerms) = 0;

  /* nsIMsgSearchTerm createTerm (); */
  NS_IMETHOD CreateTerm(nsIMsgSearchTerm * *_retval) = 0;

  /* void appendTerm (in nsIMsgSearchTerm term); */
  NS_IMETHOD AppendTerm(nsIMsgSearchTerm *term) = 0;

  enum {
    onNewSearch = 1,
    onSearchDone = 2,
    onSearchHit = 4,
    allNotifications = 7
  };

  /* void registerListener (in nsIMsgSearchNotify aListener, [optional] in long aNotifyFlags); */
  NS_IMETHOD RegisterListener(nsIMsgSearchNotify *aListener, int32_t aNotifyFlags) = 0;

  /* void unregisterListener (in nsIMsgSearchNotify listener); */
  NS_IMETHOD UnregisterListener(nsIMsgSearchNotify *listener) = 0;

  /* readonly attribute unsigned long numSearchTerms; */
  NS_IMETHOD GetNumSearchTerms(uint32_t *aNumSearchTerms) = 0;

  /* readonly attribute nsIMsgSearchAdapter runningAdapter; */
  NS_IMETHOD GetRunningAdapter(nsIMsgSearchAdapter * *aRunningAdapter) = 0;

  /* void getNthSearchTerm (in long whichTerm, in nsMsgSearchAttribValue attrib, in nsMsgSearchOpValue op, in nsIMsgSearchValue value); */
  NS_IMETHOD GetNthSearchTerm(int32_t whichTerm, nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value) = 0;

  /* long countSearchScopes (); */
  NS_IMETHOD CountSearchScopes(int32_t *_retval) = 0;

  /* void getNthSearchScope (in long which, out nsMsgSearchScopeValue scopeId, out nsIMsgFolder folder); */
  NS_IMETHOD GetNthSearchScope(int32_t which, nsMsgSearchScopeValue *scopeId, nsIMsgFolder * *folder) = 0;

  /* void addScopeTerm (in nsMsgSearchScopeValue scope, in nsIMsgFolder folder); */
  NS_IMETHOD AddScopeTerm(nsMsgSearchScopeValue scope, nsIMsgFolder *folder) = 0;

  /* void addDirectoryScopeTerm (in nsMsgSearchScopeValue scope); */
  NS_IMETHOD AddDirectoryScopeTerm(nsMsgSearchScopeValue scope) = 0;

  /* void clearScopes (); */
  NS_IMETHOD ClearScopes(void) = 0;

  /* [noscript] boolean ScopeUsesCustomHeaders (in nsMsgSearchScopeValue scope, in voidPtr selection, in boolean forFilters); */
  NS_IMETHOD ScopeUsesCustomHeaders(nsMsgSearchScopeValue scope, void *selection, bool forFilters, bool *_retval) = 0;

  /* boolean IsStringAttribute (in nsMsgSearchAttribValue attrib); */
  NS_IMETHOD IsStringAttribute(nsMsgSearchAttribValue attrib, bool *_retval) = 0;

  /* void AddAllScopes (in nsMsgSearchScopeValue attrib); */
  NS_IMETHOD AddAllScopes(nsMsgSearchScopeValue attrib) = 0;

  /* void search (in nsIMsgWindow aWindow); */
  NS_IMETHOD Search(nsIMsgWindow *aWindow) = 0;

  /* void interruptSearch (); */
  NS_IMETHOD InterruptSearch(void) = 0;

  /* void pauseSearch (); */
  NS_IMETHOD PauseSearch(void) = 0;

  /* void resumeSearch (); */
  NS_IMETHOD ResumeSearch(void) = 0;

  /* [noscript] readonly attribute voidPtr searchParam; */
  NS_IMETHOD GetSearchParam(void **aSearchParam) = 0;

  /* readonly attribute nsMsgSearchType searchType; */
  NS_IMETHOD GetSearchType(nsMsgSearchType * *aSearchType) = 0;

  /* [noscript] nsMsgSearchType SetSearchParam (in nsMsgSearchType type, in voidPtr param); */
  NS_IMETHOD SetSearchParam(nsMsgSearchType *type, void *param, nsMsgSearchType * *_retval) = 0;

  /* boolean MatchHdr (in nsIMsgDBHdr aMsgHdr, in nsIMsgDatabase aDatabase); */
  NS_IMETHOD MatchHdr(nsIMsgDBHdr *aMsgHdr, nsIMsgDatabase *aDatabase, bool *_retval) = 0;

  /* void addSearchHit (in nsIMsgDBHdr header, in nsIMsgFolder folder); */
  NS_IMETHOD AddSearchHit(nsIMsgDBHdr *header, nsIMsgFolder *folder) = 0;

  /* readonly attribute long numResults; */
  NS_IMETHOD GetNumResults(int32_t *aNumResults) = 0;

  /* attribute nsIMsgWindow window; */
  NS_IMETHOD GetWindow(nsIMsgWindow * *aWindow) = 0;
  NS_IMETHOD SetWindow(nsIMsgWindow *aWindow) = 0;

  enum {
    BooleanOR = 0,
    BooleanAND = 1
  };

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgSearchSession, NS_IMSGSEARCHSESSION_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGSEARCHSESSION \
  NS_IMETHOD AddSearchTerm(nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value, bool BooleanAND, const char * customString) override; \
  NS_IMETHOD GetSearchTerms(nsISupportsArray * *aSearchTerms) override; \
  NS_IMETHOD CreateTerm(nsIMsgSearchTerm * *_retval) override; \
  NS_IMETHOD AppendTerm(nsIMsgSearchTerm *term) override; \
  NS_IMETHOD RegisterListener(nsIMsgSearchNotify *aListener, int32_t aNotifyFlags) override; \
  NS_IMETHOD UnregisterListener(nsIMsgSearchNotify *listener) override; \
  NS_IMETHOD GetNumSearchTerms(uint32_t *aNumSearchTerms) override; \
  NS_IMETHOD GetRunningAdapter(nsIMsgSearchAdapter * *aRunningAdapter) override; \
  NS_IMETHOD GetNthSearchTerm(int32_t whichTerm, nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value) override; \
  NS_IMETHOD CountSearchScopes(int32_t *_retval) override; \
  NS_IMETHOD GetNthSearchScope(int32_t which, nsMsgSearchScopeValue *scopeId, nsIMsgFolder * *folder) override; \
  NS_IMETHOD AddScopeTerm(nsMsgSearchScopeValue scope, nsIMsgFolder *folder) override; \
  NS_IMETHOD AddDirectoryScopeTerm(nsMsgSearchScopeValue scope) override; \
  NS_IMETHOD ClearScopes(void) override; \
  NS_IMETHOD ScopeUsesCustomHeaders(nsMsgSearchScopeValue scope, void *selection, bool forFilters, bool *_retval) override; \
  NS_IMETHOD IsStringAttribute(nsMsgSearchAttribValue attrib, bool *_retval) override; \
  NS_IMETHOD AddAllScopes(nsMsgSearchScopeValue attrib) override; \
  NS_IMETHOD Search(nsIMsgWindow *aWindow) override; \
  NS_IMETHOD InterruptSearch(void) override; \
  NS_IMETHOD PauseSearch(void) override; \
  NS_IMETHOD ResumeSearch(void) override; \
  NS_IMETHOD GetSearchParam(void **aSearchParam) override; \
  NS_IMETHOD GetSearchType(nsMsgSearchType * *aSearchType) override; \
  NS_IMETHOD SetSearchParam(nsMsgSearchType *type, void *param, nsMsgSearchType * *_retval) override; \
  NS_IMETHOD MatchHdr(nsIMsgDBHdr *aMsgHdr, nsIMsgDatabase *aDatabase, bool *_retval) override; \
  NS_IMETHOD AddSearchHit(nsIMsgDBHdr *header, nsIMsgFolder *folder) override; \
  NS_IMETHOD GetNumResults(int32_t *aNumResults) override; \
  NS_IMETHOD GetWindow(nsIMsgWindow * *aWindow) override; \
  NS_IMETHOD SetWindow(nsIMsgWindow *aWindow) 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_NSIMSGSEARCHSESSION \
  NS_METHOD AddSearchTerm(nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value, bool BooleanAND, const char * customString); \
  NS_METHOD GetSearchTerms(nsISupportsArray * *aSearchTerms); \
  NS_METHOD CreateTerm(nsIMsgSearchTerm * *_retval); \
  NS_METHOD AppendTerm(nsIMsgSearchTerm *term); \
  NS_METHOD RegisterListener(nsIMsgSearchNotify *aListener, int32_t aNotifyFlags); \
  NS_METHOD UnregisterListener(nsIMsgSearchNotify *listener); \
  NS_METHOD GetNumSearchTerms(uint32_t *aNumSearchTerms); \
  NS_METHOD GetRunningAdapter(nsIMsgSearchAdapter * *aRunningAdapter); \
  NS_METHOD GetNthSearchTerm(int32_t whichTerm, nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value); \
  NS_METHOD CountSearchScopes(int32_t *_retval); \
  NS_METHOD GetNthSearchScope(int32_t which, nsMsgSearchScopeValue *scopeId, nsIMsgFolder * *folder); \
  NS_METHOD AddScopeTerm(nsMsgSearchScopeValue scope, nsIMsgFolder *folder); \
  NS_METHOD AddDirectoryScopeTerm(nsMsgSearchScopeValue scope); \
  NS_METHOD ClearScopes(void); \
  NS_METHOD ScopeUsesCustomHeaders(nsMsgSearchScopeValue scope, void *selection, bool forFilters, bool *_retval); \
  NS_METHOD IsStringAttribute(nsMsgSearchAttribValue attrib, bool *_retval); \
  NS_METHOD AddAllScopes(nsMsgSearchScopeValue attrib); \
  NS_METHOD Search(nsIMsgWindow *aWindow); \
  NS_METHOD InterruptSearch(void); \
  NS_METHOD PauseSearch(void); \
  NS_METHOD ResumeSearch(void); \
  NS_METHOD GetSearchParam(void **aSearchParam); \
  NS_METHOD GetSearchType(nsMsgSearchType * *aSearchType); \
  NS_METHOD SetSearchParam(nsMsgSearchType *type, void *param, nsMsgSearchType * *_retval); \
  NS_METHOD MatchHdr(nsIMsgDBHdr *aMsgHdr, nsIMsgDatabase *aDatabase, bool *_retval); \
  NS_METHOD AddSearchHit(nsIMsgDBHdr *header, nsIMsgFolder *folder); \
  NS_METHOD GetNumResults(int32_t *aNumResults); \
  NS_METHOD GetWindow(nsIMsgWindow * *aWindow); \
  NS_METHOD SetWindow(nsIMsgWindow *aWindow); \

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGSEARCHSESSION(_to) \
  NS_IMETHOD AddSearchTerm(nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value, bool BooleanAND, const char * customString) override { return _to AddSearchTerm(attrib, op, value, BooleanAND, customString); } \
  NS_IMETHOD GetSearchTerms(nsISupportsArray * *aSearchTerms) override { return _to GetSearchTerms(aSearchTerms); } \
  NS_IMETHOD CreateTerm(nsIMsgSearchTerm * *_retval) override { return _to CreateTerm(_retval); } \
  NS_IMETHOD AppendTerm(nsIMsgSearchTerm *term) override { return _to AppendTerm(term); } \
  NS_IMETHOD RegisterListener(nsIMsgSearchNotify *aListener, int32_t aNotifyFlags) override { return _to RegisterListener(aListener, aNotifyFlags); } \
  NS_IMETHOD UnregisterListener(nsIMsgSearchNotify *listener) override { return _to UnregisterListener(listener); } \
  NS_IMETHOD GetNumSearchTerms(uint32_t *aNumSearchTerms) override { return _to GetNumSearchTerms(aNumSearchTerms); } \
  NS_IMETHOD GetRunningAdapter(nsIMsgSearchAdapter * *aRunningAdapter) override { return _to GetRunningAdapter(aRunningAdapter); } \
  NS_IMETHOD GetNthSearchTerm(int32_t whichTerm, nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value) override { return _to GetNthSearchTerm(whichTerm, attrib, op, value); } \
  NS_IMETHOD CountSearchScopes(int32_t *_retval) override { return _to CountSearchScopes(_retval); } \
  NS_IMETHOD GetNthSearchScope(int32_t which, nsMsgSearchScopeValue *scopeId, nsIMsgFolder * *folder) override { return _to GetNthSearchScope(which, scopeId, folder); } \
  NS_IMETHOD AddScopeTerm(nsMsgSearchScopeValue scope, nsIMsgFolder *folder) override { return _to AddScopeTerm(scope, folder); } \
  NS_IMETHOD AddDirectoryScopeTerm(nsMsgSearchScopeValue scope) override { return _to AddDirectoryScopeTerm(scope); } \
  NS_IMETHOD ClearScopes(void) override { return _to ClearScopes(); } \
  NS_IMETHOD ScopeUsesCustomHeaders(nsMsgSearchScopeValue scope, void *selection, bool forFilters, bool *_retval) override { return _to ScopeUsesCustomHeaders(scope, selection, forFilters, _retval); } \
  NS_IMETHOD IsStringAttribute(nsMsgSearchAttribValue attrib, bool *_retval) override { return _to IsStringAttribute(attrib, _retval); } \
  NS_IMETHOD AddAllScopes(nsMsgSearchScopeValue attrib) override { return _to AddAllScopes(attrib); } \
  NS_IMETHOD Search(nsIMsgWindow *aWindow) override { return _to Search(aWindow); } \
  NS_IMETHOD InterruptSearch(void) override { return _to InterruptSearch(); } \
  NS_IMETHOD PauseSearch(void) override { return _to PauseSearch(); } \
  NS_IMETHOD ResumeSearch(void) override { return _to ResumeSearch(); } \
  NS_IMETHOD GetSearchParam(void **aSearchParam) override { return _to GetSearchParam(aSearchParam); } \
  NS_IMETHOD GetSearchType(nsMsgSearchType * *aSearchType) override { return _to GetSearchType(aSearchType); } \
  NS_IMETHOD SetSearchParam(nsMsgSearchType *type, void *param, nsMsgSearchType * *_retval) override { return _to SetSearchParam(type, param, _retval); } \
  NS_IMETHOD MatchHdr(nsIMsgDBHdr *aMsgHdr, nsIMsgDatabase *aDatabase, bool *_retval) override { return _to MatchHdr(aMsgHdr, aDatabase, _retval); } \
  NS_IMETHOD AddSearchHit(nsIMsgDBHdr *header, nsIMsgFolder *folder) override { return _to AddSearchHit(header, folder); } \
  NS_IMETHOD GetNumResults(int32_t *aNumResults) override { return _to GetNumResults(aNumResults); } \
  NS_IMETHOD GetWindow(nsIMsgWindow * *aWindow) override { return _to GetWindow(aWindow); } \
  NS_IMETHOD SetWindow(nsIMsgWindow *aWindow) override { return _to SetWindow(aWindow); } \

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGSEARCHSESSION(_to) \
  NS_IMETHOD AddSearchTerm(nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value, bool BooleanAND, const char * customString) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddSearchTerm(attrib, op, value, BooleanAND, customString); } \
  NS_IMETHOD GetSearchTerms(nsISupportsArray * *aSearchTerms) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSearchTerms(aSearchTerms); } \
  NS_IMETHOD CreateTerm(nsIMsgSearchTerm * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateTerm(_retval); } \
  NS_IMETHOD AppendTerm(nsIMsgSearchTerm *term) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AppendTerm(term); } \
  NS_IMETHOD RegisterListener(nsIMsgSearchNotify *aListener, int32_t aNotifyFlags) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterListener(aListener, aNotifyFlags); } \
  NS_IMETHOD UnregisterListener(nsIMsgSearchNotify *listener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterListener(listener); } \
  NS_IMETHOD GetNumSearchTerms(uint32_t *aNumSearchTerms) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNumSearchTerms(aNumSearchTerms); } \
  NS_IMETHOD GetRunningAdapter(nsIMsgSearchAdapter * *aRunningAdapter) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRunningAdapter(aRunningAdapter); } \
  NS_IMETHOD GetNthSearchTerm(int32_t whichTerm, nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNthSearchTerm(whichTerm, attrib, op, value); } \
  NS_IMETHOD CountSearchScopes(int32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CountSearchScopes(_retval); } \
  NS_IMETHOD GetNthSearchScope(int32_t which, nsMsgSearchScopeValue *scopeId, nsIMsgFolder * *folder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNthSearchScope(which, scopeId, folder); } \
  NS_IMETHOD AddScopeTerm(nsMsgSearchScopeValue scope, nsIMsgFolder *folder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddScopeTerm(scope, folder); } \
  NS_IMETHOD AddDirectoryScopeTerm(nsMsgSearchScopeValue scope) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddDirectoryScopeTerm(scope); } \
  NS_IMETHOD ClearScopes(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearScopes(); } \
  NS_IMETHOD ScopeUsesCustomHeaders(nsMsgSearchScopeValue scope, void *selection, bool forFilters, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ScopeUsesCustomHeaders(scope, selection, forFilters, _retval); } \
  NS_IMETHOD IsStringAttribute(nsMsgSearchAttribValue attrib, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsStringAttribute(attrib, _retval); } \
  NS_IMETHOD AddAllScopes(nsMsgSearchScopeValue attrib) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddAllScopes(attrib); } \
  NS_IMETHOD Search(nsIMsgWindow *aWindow) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Search(aWindow); } \
  NS_IMETHOD InterruptSearch(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->InterruptSearch(); } \
  NS_IMETHOD PauseSearch(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PauseSearch(); } \
  NS_IMETHOD ResumeSearch(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ResumeSearch(); } \
  NS_IMETHOD GetSearchParam(void **aSearchParam) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSearchParam(aSearchParam); } \
  NS_IMETHOD GetSearchType(nsMsgSearchType * *aSearchType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSearchType(aSearchType); } \
  NS_IMETHOD SetSearchParam(nsMsgSearchType *type, void *param, nsMsgSearchType * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSearchParam(type, param, _retval); } \
  NS_IMETHOD MatchHdr(nsIMsgDBHdr *aMsgHdr, nsIMsgDatabase *aDatabase, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MatchHdr(aMsgHdr, aDatabase, _retval); } \
  NS_IMETHOD AddSearchHit(nsIMsgDBHdr *header, nsIMsgFolder *folder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddSearchHit(header, folder); } \
  NS_IMETHOD GetNumResults(int32_t *aNumResults) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNumResults(aNumResults); } \
  NS_IMETHOD GetWindow(nsIMsgWindow * *aWindow) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWindow(aWindow); } \
  NS_IMETHOD SetWindow(nsIMsgWindow *aWindow) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetWindow(aWindow); } \

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

/* Header file */
class nsMsgSearchSession : public nsIMsgSearchSession
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIMSGSEARCHSESSION

  nsMsgSearchSession();

private:
  ~nsMsgSearchSession();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsMsgSearchSession, nsIMsgSearchSession)

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

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

/* void addSearchTerm (in nsMsgSearchAttribValue attrib, in nsMsgSearchOpValue op, in nsIMsgSearchValue value, in boolean BooleanAND, in string customString); */
NS_IMETHODIMP nsMsgSearchSession::AddSearchTerm(nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value, bool BooleanAND, const char * customString)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISupportsArray searchTerms; */
NS_IMETHODIMP nsMsgSearchSession::GetSearchTerms(nsISupportsArray * *aSearchTerms)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIMsgSearchTerm createTerm (); */
NS_IMETHODIMP nsMsgSearchSession::CreateTerm(nsIMsgSearchTerm * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void appendTerm (in nsIMsgSearchTerm term); */
NS_IMETHODIMP nsMsgSearchSession::AppendTerm(nsIMsgSearchTerm *term)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void registerListener (in nsIMsgSearchNotify aListener, [optional] in long aNotifyFlags); */
NS_IMETHODIMP nsMsgSearchSession::RegisterListener(nsIMsgSearchNotify *aListener, int32_t aNotifyFlags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void unregisterListener (in nsIMsgSearchNotify listener); */
NS_IMETHODIMP nsMsgSearchSession::UnregisterListener(nsIMsgSearchNotify *listener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute unsigned long numSearchTerms; */
NS_IMETHODIMP nsMsgSearchSession::GetNumSearchTerms(uint32_t *aNumSearchTerms)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIMsgSearchAdapter runningAdapter; */
NS_IMETHODIMP nsMsgSearchSession::GetRunningAdapter(nsIMsgSearchAdapter * *aRunningAdapter)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getNthSearchTerm (in long whichTerm, in nsMsgSearchAttribValue attrib, in nsMsgSearchOpValue op, in nsIMsgSearchValue value); */
NS_IMETHODIMP nsMsgSearchSession::GetNthSearchTerm(int32_t whichTerm, nsMsgSearchAttribValue attrib, nsMsgSearchOpValue op, nsIMsgSearchValue *value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* long countSearchScopes (); */
NS_IMETHODIMP nsMsgSearchSession::CountSearchScopes(int32_t *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getNthSearchScope (in long which, out nsMsgSearchScopeValue scopeId, out nsIMsgFolder folder); */
NS_IMETHODIMP nsMsgSearchSession::GetNthSearchScope(int32_t which, nsMsgSearchScopeValue *scopeId, nsIMsgFolder * *folder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addScopeTerm (in nsMsgSearchScopeValue scope, in nsIMsgFolder folder); */
NS_IMETHODIMP nsMsgSearchSession::AddScopeTerm(nsMsgSearchScopeValue scope, nsIMsgFolder *folder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addDirectoryScopeTerm (in nsMsgSearchScopeValue scope); */
NS_IMETHODIMP nsMsgSearchSession::AddDirectoryScopeTerm(nsMsgSearchScopeValue scope)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clearScopes (); */
NS_IMETHODIMP nsMsgSearchSession::ClearScopes()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] boolean ScopeUsesCustomHeaders (in nsMsgSearchScopeValue scope, in voidPtr selection, in boolean forFilters); */
NS_IMETHODIMP nsMsgSearchSession::ScopeUsesCustomHeaders(nsMsgSearchScopeValue scope, void *selection, bool forFilters, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean IsStringAttribute (in nsMsgSearchAttribValue attrib); */
NS_IMETHODIMP nsMsgSearchSession::IsStringAttribute(nsMsgSearchAttribValue attrib, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void AddAllScopes (in nsMsgSearchScopeValue attrib); */
NS_IMETHODIMP nsMsgSearchSession::AddAllScopes(nsMsgSearchScopeValue attrib)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void search (in nsIMsgWindow aWindow); */
NS_IMETHODIMP nsMsgSearchSession::Search(nsIMsgWindow *aWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void interruptSearch (); */
NS_IMETHODIMP nsMsgSearchSession::InterruptSearch()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void pauseSearch (); */
NS_IMETHODIMP nsMsgSearchSession::PauseSearch()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void resumeSearch (); */
NS_IMETHODIMP nsMsgSearchSession::ResumeSearch()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] readonly attribute voidPtr searchParam; */
NS_IMETHODIMP nsMsgSearchSession::GetSearchParam(void **aSearchParam)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsMsgSearchType searchType; */
NS_IMETHODIMP nsMsgSearchSession::GetSearchType(nsMsgSearchType * *aSearchType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] nsMsgSearchType SetSearchParam (in nsMsgSearchType type, in voidPtr param); */
NS_IMETHODIMP nsMsgSearchSession::SetSearchParam(nsMsgSearchType *type, void *param, nsMsgSearchType * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean MatchHdr (in nsIMsgDBHdr aMsgHdr, in nsIMsgDatabase aDatabase); */
NS_IMETHODIMP nsMsgSearchSession::MatchHdr(nsIMsgDBHdr *aMsgHdr, nsIMsgDatabase *aDatabase, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addSearchHit (in nsIMsgDBHdr header, in nsIMsgFolder folder); */
NS_IMETHODIMP nsMsgSearchSession::AddSearchHit(nsIMsgDBHdr *header, nsIMsgFolder *folder)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long numResults; */
NS_IMETHODIMP nsMsgSearchSession::GetNumResults(int32_t *aNumResults)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMsgWindow window; */
NS_IMETHODIMP nsMsgSearchSession::GetWindow(nsIMsgWindow * *aWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMsgSearchSession::SetWindow(nsIMsgWindow *aWindow)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIMsgSearchSession_h__ */