This file is indexed.

/usr/include/thunderbird/calIRecurrenceInfo.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
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl/calIRecurrenceInfo.idl
 */

#ifndef __gen_calIRecurrenceInfo_h__
#define __gen_calIRecurrenceInfo_h__


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

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

class calIDateTime; /* forward declaration */

class calIRecurrenceItem; /* forward declaration */

class calIIcalProperty; /* forward declaration */


/* starting interface:    calIRecurrenceInfo */
#define CALIRECURRENCEINFO_IID_STR "8ca5db89-2583-4f0c-b845-4a6d2f229efd"

#define CALIRECURRENCEINFO_IID \
  {0x8ca5db89, 0x2583, 0x4f0c, \
    { 0xb8, 0x45, 0x4a, 0x6d, 0x2f, 0x22, 0x9e, 0xfd }}

class NS_NO_VTABLE calIRecurrenceInfo : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(CALIRECURRENCEINFO_IID)

  /* readonly attribute boolean isMutable; */
  NS_IMETHOD GetIsMutable(bool *aIsMutable) = 0;

  /* void makeImmutable (); */
  NS_IMETHOD MakeImmutable(void) = 0;

  /* calIRecurrenceInfo clone (); */
  NS_IMETHOD Clone(calIRecurrenceInfo * *_retval) = 0;

  /* attribute calIItemBase item; */
  NS_IMETHOD GetItem(calIItemBase * *aItem) = 0;
  NS_IMETHOD SetItem(calIItemBase *aItem) = 0;

  /* void onStartDateChange (in calIDateTime aNewStartTime, in calIDateTime aOldStartTime); */
  NS_IMETHOD OnStartDateChange(calIDateTime *aNewStartTime, calIDateTime *aOldStartTime) = 0;

  /* void onIdChange (in AUTF8String aNewId); */
  NS_IMETHOD OnIdChange(const nsACString & aNewId) = 0;

  /* void getRecurrenceItems (out unsigned long aCount, [array, size_is (aCount), retval] out calIRecurrenceItem aItems); */
  NS_IMETHOD GetRecurrenceItems(uint32_t *aCount, calIRecurrenceItem * **aItems) = 0;

  /* void setRecurrenceItems (in unsigned long aCount, [array, size_is (aCount)] in calIRecurrenceItem aItems); */
  NS_IMETHOD SetRecurrenceItems(uint32_t aCount, calIRecurrenceItem **aItems) = 0;

  /* unsigned long countRecurrenceItems (); */
  NS_IMETHOD CountRecurrenceItems(uint32_t *_retval) = 0;

  /* void clearRecurrenceItems (); */
  NS_IMETHOD ClearRecurrenceItems(void) = 0;

  /* void appendRecurrenceItem (in calIRecurrenceItem aItem); */
  NS_IMETHOD AppendRecurrenceItem(calIRecurrenceItem *aItem) = 0;

  /* calIRecurrenceItem getRecurrenceItemAt (in unsigned long aIndex); */
  NS_IMETHOD GetRecurrenceItemAt(uint32_t aIndex, calIRecurrenceItem * *_retval) = 0;

  /* void deleteRecurrenceItemAt (in unsigned long aIndex); */
  NS_IMETHOD DeleteRecurrenceItemAt(uint32_t aIndex) = 0;

  /* void deleteRecurrenceItem (in calIRecurrenceItem aItem); */
  NS_IMETHOD DeleteRecurrenceItem(calIRecurrenceItem *aItem) = 0;

  /* void insertRecurrenceItemAt (in calIRecurrenceItem aItem, in unsigned long aIndex); */
  NS_IMETHOD InsertRecurrenceItemAt(calIRecurrenceItem *aItem, uint32_t aIndex) = 0;

  /* readonly attribute boolean isFinite; */
  NS_IMETHOD GetIsFinite(bool *aIsFinite) = 0;

  /* void removeOccurrenceAt (in calIDateTime aRecurrenceId); */
  NS_IMETHOD RemoveOccurrenceAt(calIDateTime *aRecurrenceId) = 0;

  /* void restoreOccurrenceAt (in calIDateTime aRecurrenceId); */
  NS_IMETHOD RestoreOccurrenceAt(calIDateTime *aRecurrenceId) = 0;

  /* void modifyException (in calIItemBase anItem, in boolean aTakeOverOwnership); */
  NS_IMETHOD ModifyException(calIItemBase *anItem, bool aTakeOverOwnership) = 0;

  /* calIItemBase getExceptionFor (in calIDateTime aRecurrenceId); */
  NS_IMETHOD GetExceptionFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval) = 0;

  /* void removeExceptionFor (in calIDateTime aRecurrenceId); */
  NS_IMETHOD RemoveExceptionFor(calIDateTime *aRecurrenceId) = 0;

  /* void getExceptionIds (out unsigned long aCount, [array, size_is (aCount), retval] out calIDateTime aIds); */
  NS_IMETHOD GetExceptionIds(uint32_t *aCount, calIDateTime * **aIds) = 0;

  /* calIItemBase getOccurrenceFor (in calIDateTime aRecurrenceId); */
  NS_IMETHOD GetOccurrenceFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval) = 0;

  /* calIItemBase getNextOccurrence (in calIDateTime aTime); */
  NS_IMETHOD GetNextOccurrence(calIDateTime *aTime, calIItemBase * *_retval) = 0;

  /* calIItemBase getPreviousOccurrence (in calIDateTime aTime); */
  NS_IMETHOD GetPreviousOccurrence(calIDateTime *aTime, calIItemBase * *_retval) = 0;

  /* void getOccurrenceDates (in calIDateTime aRangeStart, in calIDateTime aRangeEnd, in unsigned long aMaxCount, out unsigned long aCount, [array, size_is (aCount), retval] out calIDateTime aDates); */
  NS_IMETHOD GetOccurrenceDates(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIDateTime * **aDates) = 0;

  /* void getOccurrences (in calIDateTime aRangeStart, in calIDateTime aRangeEnd, in unsigned long aMaxCount, out unsigned long aCount, [array, size_is (aCount), retval] out calIItemBase aItems); */
  NS_IMETHOD GetOccurrences(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIItemBase * **aItems) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(calIRecurrenceInfo, CALIRECURRENCEINFO_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_CALIRECURRENCEINFO \
  NS_IMETHOD GetIsMutable(bool *aIsMutable) override; \
  NS_IMETHOD MakeImmutable(void) override; \
  NS_IMETHOD Clone(calIRecurrenceInfo * *_retval) override; \
  NS_IMETHOD GetItem(calIItemBase * *aItem) override; \
  NS_IMETHOD SetItem(calIItemBase *aItem) override; \
  NS_IMETHOD OnStartDateChange(calIDateTime *aNewStartTime, calIDateTime *aOldStartTime) override; \
  NS_IMETHOD OnIdChange(const nsACString & aNewId) override; \
  NS_IMETHOD GetRecurrenceItems(uint32_t *aCount, calIRecurrenceItem * **aItems) override; \
  NS_IMETHOD SetRecurrenceItems(uint32_t aCount, calIRecurrenceItem **aItems) override; \
  NS_IMETHOD CountRecurrenceItems(uint32_t *_retval) override; \
  NS_IMETHOD ClearRecurrenceItems(void) override; \
  NS_IMETHOD AppendRecurrenceItem(calIRecurrenceItem *aItem) override; \
  NS_IMETHOD GetRecurrenceItemAt(uint32_t aIndex, calIRecurrenceItem * *_retval) override; \
  NS_IMETHOD DeleteRecurrenceItemAt(uint32_t aIndex) override; \
  NS_IMETHOD DeleteRecurrenceItem(calIRecurrenceItem *aItem) override; \
  NS_IMETHOD InsertRecurrenceItemAt(calIRecurrenceItem *aItem, uint32_t aIndex) override; \
  NS_IMETHOD GetIsFinite(bool *aIsFinite) override; \
  NS_IMETHOD RemoveOccurrenceAt(calIDateTime *aRecurrenceId) override; \
  NS_IMETHOD RestoreOccurrenceAt(calIDateTime *aRecurrenceId) override; \
  NS_IMETHOD ModifyException(calIItemBase *anItem, bool aTakeOverOwnership) override; \
  NS_IMETHOD GetExceptionFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval) override; \
  NS_IMETHOD RemoveExceptionFor(calIDateTime *aRecurrenceId) override; \
  NS_IMETHOD GetExceptionIds(uint32_t *aCount, calIDateTime * **aIds) override; \
  NS_IMETHOD GetOccurrenceFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval) override; \
  NS_IMETHOD GetNextOccurrence(calIDateTime *aTime, calIItemBase * *_retval) override; \
  NS_IMETHOD GetPreviousOccurrence(calIDateTime *aTime, calIItemBase * *_retval) override; \
  NS_IMETHOD GetOccurrenceDates(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIDateTime * **aDates) override; \
  NS_IMETHOD GetOccurrences(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIItemBase * **aItems) 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_CALIRECURRENCEINFO \
  NS_METHOD GetIsMutable(bool *aIsMutable); \
  NS_METHOD MakeImmutable(void); \
  NS_METHOD Clone(calIRecurrenceInfo * *_retval); \
  NS_METHOD GetItem(calIItemBase * *aItem); \
  NS_METHOD SetItem(calIItemBase *aItem); \
  NS_METHOD OnStartDateChange(calIDateTime *aNewStartTime, calIDateTime *aOldStartTime); \
  NS_METHOD OnIdChange(const nsACString & aNewId); \
  NS_METHOD GetRecurrenceItems(uint32_t *aCount, calIRecurrenceItem * **aItems); \
  NS_METHOD SetRecurrenceItems(uint32_t aCount, calIRecurrenceItem **aItems); \
  NS_METHOD CountRecurrenceItems(uint32_t *_retval); \
  NS_METHOD ClearRecurrenceItems(void); \
  NS_METHOD AppendRecurrenceItem(calIRecurrenceItem *aItem); \
  NS_METHOD GetRecurrenceItemAt(uint32_t aIndex, calIRecurrenceItem * *_retval); \
  NS_METHOD DeleteRecurrenceItemAt(uint32_t aIndex); \
  NS_METHOD DeleteRecurrenceItem(calIRecurrenceItem *aItem); \
  NS_METHOD InsertRecurrenceItemAt(calIRecurrenceItem *aItem, uint32_t aIndex); \
  NS_METHOD GetIsFinite(bool *aIsFinite); \
  NS_METHOD RemoveOccurrenceAt(calIDateTime *aRecurrenceId); \
  NS_METHOD RestoreOccurrenceAt(calIDateTime *aRecurrenceId); \
  NS_METHOD ModifyException(calIItemBase *anItem, bool aTakeOverOwnership); \
  NS_METHOD GetExceptionFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval); \
  NS_METHOD RemoveExceptionFor(calIDateTime *aRecurrenceId); \
  NS_METHOD GetExceptionIds(uint32_t *aCount, calIDateTime * **aIds); \
  NS_METHOD GetOccurrenceFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval); \
  NS_METHOD GetNextOccurrence(calIDateTime *aTime, calIItemBase * *_retval); \
  NS_METHOD GetPreviousOccurrence(calIDateTime *aTime, calIItemBase * *_retval); \
  NS_METHOD GetOccurrenceDates(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIDateTime * **aDates); \
  NS_METHOD GetOccurrences(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIItemBase * **aItems); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_CALIRECURRENCEINFO(_to) \
  NS_IMETHOD GetIsMutable(bool *aIsMutable) override { return _to GetIsMutable(aIsMutable); } \
  NS_IMETHOD MakeImmutable(void) override { return _to MakeImmutable(); } \
  NS_IMETHOD Clone(calIRecurrenceInfo * *_retval) override { return _to Clone(_retval); } \
  NS_IMETHOD GetItem(calIItemBase * *aItem) override { return _to GetItem(aItem); } \
  NS_IMETHOD SetItem(calIItemBase *aItem) override { return _to SetItem(aItem); } \
  NS_IMETHOD OnStartDateChange(calIDateTime *aNewStartTime, calIDateTime *aOldStartTime) override { return _to OnStartDateChange(aNewStartTime, aOldStartTime); } \
  NS_IMETHOD OnIdChange(const nsACString & aNewId) override { return _to OnIdChange(aNewId); } \
  NS_IMETHOD GetRecurrenceItems(uint32_t *aCount, calIRecurrenceItem * **aItems) override { return _to GetRecurrenceItems(aCount, aItems); } \
  NS_IMETHOD SetRecurrenceItems(uint32_t aCount, calIRecurrenceItem **aItems) override { return _to SetRecurrenceItems(aCount, aItems); } \
  NS_IMETHOD CountRecurrenceItems(uint32_t *_retval) override { return _to CountRecurrenceItems(_retval); } \
  NS_IMETHOD ClearRecurrenceItems(void) override { return _to ClearRecurrenceItems(); } \
  NS_IMETHOD AppendRecurrenceItem(calIRecurrenceItem *aItem) override { return _to AppendRecurrenceItem(aItem); } \
  NS_IMETHOD GetRecurrenceItemAt(uint32_t aIndex, calIRecurrenceItem * *_retval) override { return _to GetRecurrenceItemAt(aIndex, _retval); } \
  NS_IMETHOD DeleteRecurrenceItemAt(uint32_t aIndex) override { return _to DeleteRecurrenceItemAt(aIndex); } \
  NS_IMETHOD DeleteRecurrenceItem(calIRecurrenceItem *aItem) override { return _to DeleteRecurrenceItem(aItem); } \
  NS_IMETHOD InsertRecurrenceItemAt(calIRecurrenceItem *aItem, uint32_t aIndex) override { return _to InsertRecurrenceItemAt(aItem, aIndex); } \
  NS_IMETHOD GetIsFinite(bool *aIsFinite) override { return _to GetIsFinite(aIsFinite); } \
  NS_IMETHOD RemoveOccurrenceAt(calIDateTime *aRecurrenceId) override { return _to RemoveOccurrenceAt(aRecurrenceId); } \
  NS_IMETHOD RestoreOccurrenceAt(calIDateTime *aRecurrenceId) override { return _to RestoreOccurrenceAt(aRecurrenceId); } \
  NS_IMETHOD ModifyException(calIItemBase *anItem, bool aTakeOverOwnership) override { return _to ModifyException(anItem, aTakeOverOwnership); } \
  NS_IMETHOD GetExceptionFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval) override { return _to GetExceptionFor(aRecurrenceId, _retval); } \
  NS_IMETHOD RemoveExceptionFor(calIDateTime *aRecurrenceId) override { return _to RemoveExceptionFor(aRecurrenceId); } \
  NS_IMETHOD GetExceptionIds(uint32_t *aCount, calIDateTime * **aIds) override { return _to GetExceptionIds(aCount, aIds); } \
  NS_IMETHOD GetOccurrenceFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval) override { return _to GetOccurrenceFor(aRecurrenceId, _retval); } \
  NS_IMETHOD GetNextOccurrence(calIDateTime *aTime, calIItemBase * *_retval) override { return _to GetNextOccurrence(aTime, _retval); } \
  NS_IMETHOD GetPreviousOccurrence(calIDateTime *aTime, calIItemBase * *_retval) override { return _to GetPreviousOccurrence(aTime, _retval); } \
  NS_IMETHOD GetOccurrenceDates(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIDateTime * **aDates) override { return _to GetOccurrenceDates(aRangeStart, aRangeEnd, aMaxCount, aCount, aDates); } \
  NS_IMETHOD GetOccurrences(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIItemBase * **aItems) override { return _to GetOccurrences(aRangeStart, aRangeEnd, aMaxCount, aCount, aItems); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_CALIRECURRENCEINFO(_to) \
  NS_IMETHOD GetIsMutable(bool *aIsMutable) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsMutable(aIsMutable); } \
  NS_IMETHOD MakeImmutable(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MakeImmutable(); } \
  NS_IMETHOD Clone(calIRecurrenceInfo * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Clone(_retval); } \
  NS_IMETHOD GetItem(calIItemBase * *aItem) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetItem(aItem); } \
  NS_IMETHOD SetItem(calIItemBase *aItem) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetItem(aItem); } \
  NS_IMETHOD OnStartDateChange(calIDateTime *aNewStartTime, calIDateTime *aOldStartTime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->OnStartDateChange(aNewStartTime, aOldStartTime); } \
  NS_IMETHOD OnIdChange(const nsACString & aNewId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->OnIdChange(aNewId); } \
  NS_IMETHOD GetRecurrenceItems(uint32_t *aCount, calIRecurrenceItem * **aItems) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecurrenceItems(aCount, aItems); } \
  NS_IMETHOD SetRecurrenceItems(uint32_t aCount, calIRecurrenceItem **aItems) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRecurrenceItems(aCount, aItems); } \
  NS_IMETHOD CountRecurrenceItems(uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CountRecurrenceItems(_retval); } \
  NS_IMETHOD ClearRecurrenceItems(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearRecurrenceItems(); } \
  NS_IMETHOD AppendRecurrenceItem(calIRecurrenceItem *aItem) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AppendRecurrenceItem(aItem); } \
  NS_IMETHOD GetRecurrenceItemAt(uint32_t aIndex, calIRecurrenceItem * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecurrenceItemAt(aIndex, _retval); } \
  NS_IMETHOD DeleteRecurrenceItemAt(uint32_t aIndex) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteRecurrenceItemAt(aIndex); } \
  NS_IMETHOD DeleteRecurrenceItem(calIRecurrenceItem *aItem) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteRecurrenceItem(aItem); } \
  NS_IMETHOD InsertRecurrenceItemAt(calIRecurrenceItem *aItem, uint32_t aIndex) override { return !_to ? NS_ERROR_NULL_POINTER : _to->InsertRecurrenceItemAt(aItem, aIndex); } \
  NS_IMETHOD GetIsFinite(bool *aIsFinite) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsFinite(aIsFinite); } \
  NS_IMETHOD RemoveOccurrenceAt(calIDateTime *aRecurrenceId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveOccurrenceAt(aRecurrenceId); } \
  NS_IMETHOD RestoreOccurrenceAt(calIDateTime *aRecurrenceId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RestoreOccurrenceAt(aRecurrenceId); } \
  NS_IMETHOD ModifyException(calIItemBase *anItem, bool aTakeOverOwnership) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ModifyException(anItem, aTakeOverOwnership); } \
  NS_IMETHOD GetExceptionFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetExceptionFor(aRecurrenceId, _retval); } \
  NS_IMETHOD RemoveExceptionFor(calIDateTime *aRecurrenceId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveExceptionFor(aRecurrenceId); } \
  NS_IMETHOD GetExceptionIds(uint32_t *aCount, calIDateTime * **aIds) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetExceptionIds(aCount, aIds); } \
  NS_IMETHOD GetOccurrenceFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOccurrenceFor(aRecurrenceId, _retval); } \
  NS_IMETHOD GetNextOccurrence(calIDateTime *aTime, calIItemBase * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNextOccurrence(aTime, _retval); } \
  NS_IMETHOD GetPreviousOccurrence(calIDateTime *aTime, calIItemBase * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPreviousOccurrence(aTime, _retval); } \
  NS_IMETHOD GetOccurrenceDates(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIDateTime * **aDates) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOccurrenceDates(aRangeStart, aRangeEnd, aMaxCount, aCount, aDates); } \
  NS_IMETHOD GetOccurrences(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIItemBase * **aItems) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOccurrences(aRangeStart, aRangeEnd, aMaxCount, aCount, aItems); } 

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

/* Header file */
class _MYCLASS_ : public calIRecurrenceInfo
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_CALIRECURRENCEINFO

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(_MYCLASS_, calIRecurrenceInfo)

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

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

/* readonly attribute boolean isMutable; */
NS_IMETHODIMP _MYCLASS_::GetIsMutable(bool *aIsMutable)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void makeImmutable (); */
NS_IMETHODIMP _MYCLASS_::MakeImmutable()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* calIRecurrenceInfo clone (); */
NS_IMETHODIMP _MYCLASS_::Clone(calIRecurrenceInfo * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute calIItemBase item; */
NS_IMETHODIMP _MYCLASS_::GetItem(calIItemBase * *aItem)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetItem(calIItemBase *aItem)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onStartDateChange (in calIDateTime aNewStartTime, in calIDateTime aOldStartTime); */
NS_IMETHODIMP _MYCLASS_::OnStartDateChange(calIDateTime *aNewStartTime, calIDateTime *aOldStartTime)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void onIdChange (in AUTF8String aNewId); */
NS_IMETHODIMP _MYCLASS_::OnIdChange(const nsACString & aNewId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getRecurrenceItems (out unsigned long aCount, [array, size_is (aCount), retval] out calIRecurrenceItem aItems); */
NS_IMETHODIMP _MYCLASS_::GetRecurrenceItems(uint32_t *aCount, calIRecurrenceItem * **aItems)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setRecurrenceItems (in unsigned long aCount, [array, size_is (aCount)] in calIRecurrenceItem aItems); */
NS_IMETHODIMP _MYCLASS_::SetRecurrenceItems(uint32_t aCount, calIRecurrenceItem **aItems)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* unsigned long countRecurrenceItems (); */
NS_IMETHODIMP _MYCLASS_::CountRecurrenceItems(uint32_t *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clearRecurrenceItems (); */
NS_IMETHODIMP _MYCLASS_::ClearRecurrenceItems()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void appendRecurrenceItem (in calIRecurrenceItem aItem); */
NS_IMETHODIMP _MYCLASS_::AppendRecurrenceItem(calIRecurrenceItem *aItem)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* calIRecurrenceItem getRecurrenceItemAt (in unsigned long aIndex); */
NS_IMETHODIMP _MYCLASS_::GetRecurrenceItemAt(uint32_t aIndex, calIRecurrenceItem * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void deleteRecurrenceItemAt (in unsigned long aIndex); */
NS_IMETHODIMP _MYCLASS_::DeleteRecurrenceItemAt(uint32_t aIndex)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void deleteRecurrenceItem (in calIRecurrenceItem aItem); */
NS_IMETHODIMP _MYCLASS_::DeleteRecurrenceItem(calIRecurrenceItem *aItem)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void insertRecurrenceItemAt (in calIRecurrenceItem aItem, in unsigned long aIndex); */
NS_IMETHODIMP _MYCLASS_::InsertRecurrenceItemAt(calIRecurrenceItem *aItem, uint32_t aIndex)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute boolean isFinite; */
NS_IMETHODIMP _MYCLASS_::GetIsFinite(bool *aIsFinite)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeOccurrenceAt (in calIDateTime aRecurrenceId); */
NS_IMETHODIMP _MYCLASS_::RemoveOccurrenceAt(calIDateTime *aRecurrenceId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void restoreOccurrenceAt (in calIDateTime aRecurrenceId); */
NS_IMETHODIMP _MYCLASS_::RestoreOccurrenceAt(calIDateTime *aRecurrenceId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void modifyException (in calIItemBase anItem, in boolean aTakeOverOwnership); */
NS_IMETHODIMP _MYCLASS_::ModifyException(calIItemBase *anItem, bool aTakeOverOwnership)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* calIItemBase getExceptionFor (in calIDateTime aRecurrenceId); */
NS_IMETHODIMP _MYCLASS_::GetExceptionFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeExceptionFor (in calIDateTime aRecurrenceId); */
NS_IMETHODIMP _MYCLASS_::RemoveExceptionFor(calIDateTime *aRecurrenceId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getExceptionIds (out unsigned long aCount, [array, size_is (aCount), retval] out calIDateTime aIds); */
NS_IMETHODIMP _MYCLASS_::GetExceptionIds(uint32_t *aCount, calIDateTime * **aIds)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* calIItemBase getOccurrenceFor (in calIDateTime aRecurrenceId); */
NS_IMETHODIMP _MYCLASS_::GetOccurrenceFor(calIDateTime *aRecurrenceId, calIItemBase * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* calIItemBase getNextOccurrence (in calIDateTime aTime); */
NS_IMETHODIMP _MYCLASS_::GetNextOccurrence(calIDateTime *aTime, calIItemBase * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* calIItemBase getPreviousOccurrence (in calIDateTime aTime); */
NS_IMETHODIMP _MYCLASS_::GetPreviousOccurrence(calIDateTime *aTime, calIItemBase * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getOccurrenceDates (in calIDateTime aRangeStart, in calIDateTime aRangeEnd, in unsigned long aMaxCount, out unsigned long aCount, [array, size_is (aCount), retval] out calIDateTime aDates); */
NS_IMETHODIMP _MYCLASS_::GetOccurrenceDates(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIDateTime * **aDates)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getOccurrences (in calIDateTime aRangeStart, in calIDateTime aRangeEnd, in unsigned long aMaxCount, out unsigned long aCount, [array, size_is (aCount), retval] out calIItemBase aItems); */
NS_IMETHODIMP _MYCLASS_::GetOccurrences(calIDateTime *aRangeStart, calIDateTime *aRangeEnd, uint32_t aMaxCount, uint32_t *aCount, calIItemBase * **aItems)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_calIRecurrenceInfo_h__ */