This file is indexed.

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

#ifndef __gen_nsITransactionManager_h__
#define __gen_nsITransactionManager_h__


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

#ifndef __gen_nsITransaction_h__
#include "nsITransaction.h"
#endif

#ifndef __gen_nsITransactionList_h__
#include "nsITransactionList.h"
#endif

#ifndef __gen_nsITransactionListener_h__
#include "nsITransactionListener.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif

#define NS_TRANSACTIONMANAGER_CONTRACTID "@mozilla.org/transactionmanager;1"

/* starting interface:    nsITransactionManager */
#define NS_ITRANSACTIONMANAGER_IID_STR "c77763df-0fb9-41a8-8074-8e882f605755"

#define NS_ITRANSACTIONMANAGER_IID \
  {0xc77763df, 0x0fb9, 0x41a8, \
    { 0x80, 0x74, 0x8e, 0x88, 0x2f, 0x60, 0x57, 0x55 }}

class NS_NO_VTABLE nsITransactionManager : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITRANSACTIONMANAGER_IID)

  /* void doTransaction (in nsITransaction aTransaction); */
  NS_IMETHOD DoTransaction(nsITransaction *aTransaction) = 0;

  /* void undoTransaction (); */
  NS_IMETHOD UndoTransaction(void) = 0;

  /* void redoTransaction (); */
  NS_IMETHOD RedoTransaction(void) = 0;

  /* void clear (); */
  NS_IMETHOD Clear(void) = 0;

  /* void clearUndoStack (); */
  NS_IMETHOD ClearUndoStack(void) = 0;

  /* void clearRedoStack (); */
  NS_IMETHOD ClearRedoStack(void) = 0;

  /* void beginBatch (in nsISupports aData); */
  NS_IMETHOD BeginBatch(nsISupports *aData) = 0;

  /* void endBatch (in boolean aAllowEmpty); */
  NS_IMETHOD EndBatch(bool aAllowEmpty) = 0;

  /* readonly attribute long numberOfUndoItems; */
  NS_IMETHOD GetNumberOfUndoItems(int32_t *aNumberOfUndoItems) = 0;

  /* readonly attribute long numberOfRedoItems; */
  NS_IMETHOD GetNumberOfRedoItems(int32_t *aNumberOfRedoItems) = 0;

  /* attribute long maxTransactionCount; */
  NS_IMETHOD GetMaxTransactionCount(int32_t *aMaxTransactionCount) = 0;
  NS_IMETHOD SetMaxTransactionCount(int32_t aMaxTransactionCount) = 0;

  /* void batchTopUndo (); */
  NS_IMETHOD BatchTopUndo(void) = 0;

  /* void removeTopUndo (); */
  NS_IMETHOD RemoveTopUndo(void) = 0;

  /* nsITransaction peekUndoStack (); */
  NS_IMETHOD PeekUndoStack(nsITransaction * *_retval) = 0;

  /* nsITransaction peekRedoStack (); */
  NS_IMETHOD PeekRedoStack(nsITransaction * *_retval) = 0;

  /* nsITransactionList getUndoList (); */
  NS_IMETHOD GetUndoList(nsITransactionList * *_retval) = 0;

  /* nsITransactionList getRedoList (); */
  NS_IMETHOD GetRedoList(nsITransactionList * *_retval) = 0;

  /* void AddListener (in nsITransactionListener aListener); */
  NS_IMETHOD AddListener(nsITransactionListener *aListener) = 0;

  /* void RemoveListener (in nsITransactionListener aListener); */
  NS_IMETHOD RemoveListener(nsITransactionListener *aListener) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsITransactionManager, NS_ITRANSACTIONMANAGER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSITRANSACTIONMANAGER \
  NS_IMETHOD DoTransaction(nsITransaction *aTransaction) override; \
  NS_IMETHOD UndoTransaction(void) override; \
  NS_IMETHOD RedoTransaction(void) override; \
  NS_IMETHOD Clear(void) override; \
  NS_IMETHOD ClearUndoStack(void) override; \
  NS_IMETHOD ClearRedoStack(void) override; \
  NS_IMETHOD BeginBatch(nsISupports *aData) override; \
  NS_IMETHOD EndBatch(bool aAllowEmpty) override; \
  NS_IMETHOD GetNumberOfUndoItems(int32_t *aNumberOfUndoItems) override; \
  NS_IMETHOD GetNumberOfRedoItems(int32_t *aNumberOfRedoItems) override; \
  NS_IMETHOD GetMaxTransactionCount(int32_t *aMaxTransactionCount) override; \
  NS_IMETHOD SetMaxTransactionCount(int32_t aMaxTransactionCount) override; \
  NS_IMETHOD BatchTopUndo(void) override; \
  NS_IMETHOD RemoveTopUndo(void) override; \
  NS_IMETHOD PeekUndoStack(nsITransaction * *_retval) override; \
  NS_IMETHOD PeekRedoStack(nsITransaction * *_retval) override; \
  NS_IMETHOD GetUndoList(nsITransactionList * *_retval) override; \
  NS_IMETHOD GetRedoList(nsITransactionList * *_retval) override; \
  NS_IMETHOD AddListener(nsITransactionListener *aListener) override; \
  NS_IMETHOD RemoveListener(nsITransactionListener *aListener) 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_NSITRANSACTIONMANAGER \
  NS_METHOD DoTransaction(nsITransaction *aTransaction); \
  NS_METHOD UndoTransaction(void); \
  NS_METHOD RedoTransaction(void); \
  NS_METHOD Clear(void); \
  NS_METHOD ClearUndoStack(void); \
  NS_METHOD ClearRedoStack(void); \
  NS_METHOD BeginBatch(nsISupports *aData); \
  NS_METHOD EndBatch(bool aAllowEmpty); \
  NS_METHOD GetNumberOfUndoItems(int32_t *aNumberOfUndoItems); \
  NS_METHOD GetNumberOfRedoItems(int32_t *aNumberOfRedoItems); \
  NS_METHOD GetMaxTransactionCount(int32_t *aMaxTransactionCount); \
  NS_METHOD SetMaxTransactionCount(int32_t aMaxTransactionCount); \
  NS_METHOD BatchTopUndo(void); \
  NS_METHOD RemoveTopUndo(void); \
  NS_METHOD PeekUndoStack(nsITransaction * *_retval); \
  NS_METHOD PeekRedoStack(nsITransaction * *_retval); \
  NS_METHOD GetUndoList(nsITransactionList * *_retval); \
  NS_METHOD GetRedoList(nsITransactionList * *_retval); \
  NS_METHOD AddListener(nsITransactionListener *aListener); \
  NS_METHOD RemoveListener(nsITransactionListener *aListener); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSITRANSACTIONMANAGER(_to) \
  NS_IMETHOD DoTransaction(nsITransaction *aTransaction) override { return _to DoTransaction(aTransaction); } \
  NS_IMETHOD UndoTransaction(void) override { return _to UndoTransaction(); } \
  NS_IMETHOD RedoTransaction(void) override { return _to RedoTransaction(); } \
  NS_IMETHOD Clear(void) override { return _to Clear(); } \
  NS_IMETHOD ClearUndoStack(void) override { return _to ClearUndoStack(); } \
  NS_IMETHOD ClearRedoStack(void) override { return _to ClearRedoStack(); } \
  NS_IMETHOD BeginBatch(nsISupports *aData) override { return _to BeginBatch(aData); } \
  NS_IMETHOD EndBatch(bool aAllowEmpty) override { return _to EndBatch(aAllowEmpty); } \
  NS_IMETHOD GetNumberOfUndoItems(int32_t *aNumberOfUndoItems) override { return _to GetNumberOfUndoItems(aNumberOfUndoItems); } \
  NS_IMETHOD GetNumberOfRedoItems(int32_t *aNumberOfRedoItems) override { return _to GetNumberOfRedoItems(aNumberOfRedoItems); } \
  NS_IMETHOD GetMaxTransactionCount(int32_t *aMaxTransactionCount) override { return _to GetMaxTransactionCount(aMaxTransactionCount); } \
  NS_IMETHOD SetMaxTransactionCount(int32_t aMaxTransactionCount) override { return _to SetMaxTransactionCount(aMaxTransactionCount); } \
  NS_IMETHOD BatchTopUndo(void) override { return _to BatchTopUndo(); } \
  NS_IMETHOD RemoveTopUndo(void) override { return _to RemoveTopUndo(); } \
  NS_IMETHOD PeekUndoStack(nsITransaction * *_retval) override { return _to PeekUndoStack(_retval); } \
  NS_IMETHOD PeekRedoStack(nsITransaction * *_retval) override { return _to PeekRedoStack(_retval); } \
  NS_IMETHOD GetUndoList(nsITransactionList * *_retval) override { return _to GetUndoList(_retval); } \
  NS_IMETHOD GetRedoList(nsITransactionList * *_retval) override { return _to GetRedoList(_retval); } \
  NS_IMETHOD AddListener(nsITransactionListener *aListener) override { return _to AddListener(aListener); } \
  NS_IMETHOD RemoveListener(nsITransactionListener *aListener) override { return _to RemoveListener(aListener); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSITRANSACTIONMANAGER(_to) \
  NS_IMETHOD DoTransaction(nsITransaction *aTransaction) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DoTransaction(aTransaction); } \
  NS_IMETHOD UndoTransaction(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UndoTransaction(); } \
  NS_IMETHOD RedoTransaction(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RedoTransaction(); } \
  NS_IMETHOD Clear(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Clear(); } \
  NS_IMETHOD ClearUndoStack(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearUndoStack(); } \
  NS_IMETHOD ClearRedoStack(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearRedoStack(); } \
  NS_IMETHOD BeginBatch(nsISupports *aData) override { return !_to ? NS_ERROR_NULL_POINTER : _to->BeginBatch(aData); } \
  NS_IMETHOD EndBatch(bool aAllowEmpty) override { return !_to ? NS_ERROR_NULL_POINTER : _to->EndBatch(aAllowEmpty); } \
  NS_IMETHOD GetNumberOfUndoItems(int32_t *aNumberOfUndoItems) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNumberOfUndoItems(aNumberOfUndoItems); } \
  NS_IMETHOD GetNumberOfRedoItems(int32_t *aNumberOfRedoItems) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNumberOfRedoItems(aNumberOfRedoItems); } \
  NS_IMETHOD GetMaxTransactionCount(int32_t *aMaxTransactionCount) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxTransactionCount(aMaxTransactionCount); } \
  NS_IMETHOD SetMaxTransactionCount(int32_t aMaxTransactionCount) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMaxTransactionCount(aMaxTransactionCount); } \
  NS_IMETHOD BatchTopUndo(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->BatchTopUndo(); } \
  NS_IMETHOD RemoveTopUndo(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveTopUndo(); } \
  NS_IMETHOD PeekUndoStack(nsITransaction * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PeekUndoStack(_retval); } \
  NS_IMETHOD PeekRedoStack(nsITransaction * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PeekRedoStack(_retval); } \
  NS_IMETHOD GetUndoList(nsITransactionList * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUndoList(_retval); } \
  NS_IMETHOD GetRedoList(nsITransactionList * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRedoList(_retval); } \
  NS_IMETHOD AddListener(nsITransactionListener *aListener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddListener(aListener); } \
  NS_IMETHOD RemoveListener(nsITransactionListener *aListener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveListener(aListener); } 

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

/* Header file */
class nsTransactionManager : public nsITransactionManager
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSITRANSACTIONMANAGER

  nsTransactionManager();

private:
  ~nsTransactionManager();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsTransactionManager, nsITransactionManager)

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

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

/* void doTransaction (in nsITransaction aTransaction); */
NS_IMETHODIMP nsTransactionManager::DoTransaction(nsITransaction *aTransaction)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void undoTransaction (); */
NS_IMETHODIMP nsTransactionManager::UndoTransaction()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void redoTransaction (); */
NS_IMETHODIMP nsTransactionManager::RedoTransaction()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clear (); */
NS_IMETHODIMP nsTransactionManager::Clear()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clearUndoStack (); */
NS_IMETHODIMP nsTransactionManager::ClearUndoStack()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clearRedoStack (); */
NS_IMETHODIMP nsTransactionManager::ClearRedoStack()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void beginBatch (in nsISupports aData); */
NS_IMETHODIMP nsTransactionManager::BeginBatch(nsISupports *aData)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void endBatch (in boolean aAllowEmpty); */
NS_IMETHODIMP nsTransactionManager::EndBatch(bool aAllowEmpty)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long numberOfUndoItems; */
NS_IMETHODIMP nsTransactionManager::GetNumberOfUndoItems(int32_t *aNumberOfUndoItems)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long numberOfRedoItems; */
NS_IMETHODIMP nsTransactionManager::GetNumberOfRedoItems(int32_t *aNumberOfRedoItems)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long maxTransactionCount; */
NS_IMETHODIMP nsTransactionManager::GetMaxTransactionCount(int32_t *aMaxTransactionCount)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsTransactionManager::SetMaxTransactionCount(int32_t aMaxTransactionCount)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void batchTopUndo (); */
NS_IMETHODIMP nsTransactionManager::BatchTopUndo()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeTopUndo (); */
NS_IMETHODIMP nsTransactionManager::RemoveTopUndo()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsITransaction peekUndoStack (); */
NS_IMETHODIMP nsTransactionManager::PeekUndoStack(nsITransaction * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsITransaction peekRedoStack (); */
NS_IMETHODIMP nsTransactionManager::PeekRedoStack(nsITransaction * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsITransactionList getUndoList (); */
NS_IMETHODIMP nsTransactionManager::GetUndoList(nsITransactionList * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsITransactionList getRedoList (); */
NS_IMETHODIMP nsTransactionManager::GetRedoList(nsITransactionList * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void AddListener (in nsITransactionListener aListener); */
NS_IMETHODIMP nsTransactionManager::AddListener(nsITransactionListener *aListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void RemoveListener (in nsITransactionListener aListener); */
NS_IMETHODIMP nsTransactionManager::RemoveListener(nsITransactionListener *aListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsITransactionManager_h__ */