This file is indexed.

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

#ifndef __gen_nsISettingsService_h__
#define __gen_nsISettingsService_h__


#ifndef __gen_domstubs_h__
#include "domstubs.h"
#endif

#include "js/Value.h"

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

/* starting interface:    nsISettingsServiceCallback */
#define NS_ISETTINGSSERVICECALLBACK_IID_STR "aad47850-2e87-11e2-81c1-0800200c9a66"

#define NS_ISETTINGSSERVICECALLBACK_IID \
  {0xaad47850, 0x2e87, 0x11e2, \
    { 0x81, 0xc1, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 }}

class NS_NO_VTABLE nsISettingsServiceCallback : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISETTINGSSERVICECALLBACK_IID)

  /* void handle (in DOMString aName, in jsval aResult); */
  NS_IMETHOD Handle(const nsAString & aName, JS::HandleValue aResult) = 0;

  /* void handleError (in DOMString aErrorMessage); */
  NS_IMETHOD HandleError(const nsAString & aErrorMessage) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsISettingsServiceCallback, NS_ISETTINGSSERVICECALLBACK_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISETTINGSSERVICECALLBACK \
  NS_IMETHOD Handle(const nsAString & aName, JS::HandleValue aResult) override; \
  NS_IMETHOD HandleError(const nsAString & aErrorMessage) 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_NSISETTINGSSERVICECALLBACK \
  NS_METHOD Handle(const nsAString & aName, JS::HandleValue aResult); \
  NS_METHOD HandleError(const nsAString & aErrorMessage); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISETTINGSSERVICECALLBACK(_to) \
  NS_IMETHOD Handle(const nsAString & aName, JS::HandleValue aResult) override { return _to Handle(aName, aResult); } \
  NS_IMETHOD HandleError(const nsAString & aErrorMessage) override { return _to HandleError(aErrorMessage); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISETTINGSSERVICECALLBACK(_to) \
  NS_IMETHOD Handle(const nsAString & aName, JS::HandleValue aResult) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Handle(aName, aResult); } \
  NS_IMETHOD HandleError(const nsAString & aErrorMessage) override { return !_to ? NS_ERROR_NULL_POINTER : _to->HandleError(aErrorMessage); } 

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

/* Header file */
class nsSettingsServiceCallback : public nsISettingsServiceCallback
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISETTINGSSERVICECALLBACK

  nsSettingsServiceCallback();

private:
  ~nsSettingsServiceCallback();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsSettingsServiceCallback, nsISettingsServiceCallback)

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

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

/* void handle (in DOMString aName, in jsval aResult); */
NS_IMETHODIMP nsSettingsServiceCallback::Handle(const nsAString & aName, JS::HandleValue aResult)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void handleError (in DOMString aErrorMessage); */
NS_IMETHODIMP nsSettingsServiceCallback::HandleError(const nsAString & aErrorMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    nsISettingsTransactionCompleteCallback */
#define NS_ISETTINGSTRANSACTIONCOMPLETECALLBACK_IID_STR "f1b3d820-8e75-11e3-baa8-0800200c9a66"

#define NS_ISETTINGSTRANSACTIONCOMPLETECALLBACK_IID \
  {0xf1b3d820, 0x8e75, 0x11e3, \
    { 0xba, 0xa8, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 }}

class NS_NO_VTABLE nsISettingsTransactionCompleteCallback : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISETTINGSTRANSACTIONCOMPLETECALLBACK_IID)

  /* void handle (); */
  NS_IMETHOD Handle(void) = 0;

  /* void handleAbort (in DOMString aErrorMessage); */
  NS_IMETHOD HandleAbort(const nsAString & aErrorMessage) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsISettingsTransactionCompleteCallback, NS_ISETTINGSTRANSACTIONCOMPLETECALLBACK_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISETTINGSTRANSACTIONCOMPLETECALLBACK \
  NS_IMETHOD Handle(void) override; \
  NS_IMETHOD HandleAbort(const nsAString & aErrorMessage) 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_NSISETTINGSTRANSACTIONCOMPLETECALLBACK \
  NS_METHOD Handle(void); \
  NS_METHOD HandleAbort(const nsAString & aErrorMessage); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISETTINGSTRANSACTIONCOMPLETECALLBACK(_to) \
  NS_IMETHOD Handle(void) override { return _to Handle(); } \
  NS_IMETHOD HandleAbort(const nsAString & aErrorMessage) override { return _to HandleAbort(aErrorMessage); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISETTINGSTRANSACTIONCOMPLETECALLBACK(_to) \
  NS_IMETHOD Handle(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Handle(); } \
  NS_IMETHOD HandleAbort(const nsAString & aErrorMessage) override { return !_to ? NS_ERROR_NULL_POINTER : _to->HandleAbort(aErrorMessage); } 

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

/* Header file */
class nsSettingsTransactionCompleteCallback : public nsISettingsTransactionCompleteCallback
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISETTINGSTRANSACTIONCOMPLETECALLBACK

  nsSettingsTransactionCompleteCallback();

private:
  ~nsSettingsTransactionCompleteCallback();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsSettingsTransactionCompleteCallback, nsISettingsTransactionCompleteCallback)

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

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

/* void handle (); */
NS_IMETHODIMP nsSettingsTransactionCompleteCallback::Handle()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void handleAbort (in DOMString aErrorMessage); */
NS_IMETHODIMP nsSettingsTransactionCompleteCallback::HandleAbort(const nsAString & aErrorMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    nsISettingsServiceLock */
#define NS_ISETTINGSSERVICELOCK_IID_STR "d7a395a0-e292-11e1-834e-1761d57f5f99"

#define NS_ISETTINGSSERVICELOCK_IID \
  {0xd7a395a0, 0xe292, 0x11e1, \
    { 0x83, 0x4e, 0x17, 0x61, 0xd5, 0x7f, 0x5f, 0x99 }}

class NS_NO_VTABLE nsISettingsServiceLock : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISETTINGSSERVICELOCK_IID)

  /* void set (in string aName, in jsval aValue, in nsISettingsServiceCallback aCallback, [optional] in string aMessage); */
  NS_IMETHOD Set(const char * aName, JS::HandleValue aValue, nsISettingsServiceCallback *aCallback, const char * aMessage) = 0;

  /* void get (in string aName, in nsISettingsServiceCallback aCallback); */
  NS_IMETHOD Get(const char * aName, nsISettingsServiceCallback *aCallback) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsISettingsServiceLock, NS_ISETTINGSSERVICELOCK_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISETTINGSSERVICELOCK \
  NS_IMETHOD Set(const char * aName, JS::HandleValue aValue, nsISettingsServiceCallback *aCallback, const char * aMessage) override; \
  NS_IMETHOD Get(const char * aName, nsISettingsServiceCallback *aCallback) 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_NSISETTINGSSERVICELOCK \
  NS_METHOD Set(const char * aName, JS::HandleValue aValue, nsISettingsServiceCallback *aCallback, const char * aMessage); \
  NS_METHOD Get(const char * aName, nsISettingsServiceCallback *aCallback); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISETTINGSSERVICELOCK(_to) \
  NS_IMETHOD Set(const char * aName, JS::HandleValue aValue, nsISettingsServiceCallback *aCallback, const char * aMessage) override { return _to Set(aName, aValue, aCallback, aMessage); } \
  NS_IMETHOD Get(const char * aName, nsISettingsServiceCallback *aCallback) override { return _to Get(aName, aCallback); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISETTINGSSERVICELOCK(_to) \
  NS_IMETHOD Set(const char * aName, JS::HandleValue aValue, nsISettingsServiceCallback *aCallback, const char * aMessage) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Set(aName, aValue, aCallback, aMessage); } \
  NS_IMETHOD Get(const char * aName, nsISettingsServiceCallback *aCallback) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Get(aName, aCallback); } 

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

/* Header file */
class nsSettingsServiceLock : public nsISettingsServiceLock
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISETTINGSSERVICELOCK

  nsSettingsServiceLock();

private:
  ~nsSettingsServiceLock();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsSettingsServiceLock, nsISettingsServiceLock)

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

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

/* void set (in string aName, in jsval aValue, in nsISettingsServiceCallback aCallback, [optional] in string aMessage); */
NS_IMETHODIMP nsSettingsServiceLock::Set(const char * aName, JS::HandleValue aValue, nsISettingsServiceCallback *aCallback, const char * aMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void get (in string aName, in nsISettingsServiceCallback aCallback); */
NS_IMETHODIMP nsSettingsServiceLock::Get(const char * aName, nsISettingsServiceCallback *aCallback)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


/* starting interface:    nsISettingsService */
#define NS_ISETTINGSSERVICE_IID_STR "d1ed155c-9f90-47bb-91c2-7eac54d69f4b"

#define NS_ISETTINGSSERVICE_IID \
  {0xd1ed155c, 0x9f90, 0x47bb, \
    { 0x91, 0xc2, 0x7e, 0xac, 0x54, 0xd6, 0x9f, 0x4b }}

class NS_NO_VTABLE nsISettingsService : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISETTINGSSERVICE_IID)

  /* nsISettingsServiceLock createLock ([optional] in nsISettingsTransactionCompleteCallback aCallback); */
  NS_IMETHOD CreateLock(nsISettingsTransactionCompleteCallback *aCallback, nsISettingsServiceLock * *_retval) = 0;

  /* void receiveMessage (in jsval aMessage); */
  NS_IMETHOD ReceiveMessage(JS::HandleValue aMessage) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsISettingsService, NS_ISETTINGSSERVICE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISETTINGSSERVICE \
  NS_IMETHOD CreateLock(nsISettingsTransactionCompleteCallback *aCallback, nsISettingsServiceLock * *_retval) override; \
  NS_IMETHOD ReceiveMessage(JS::HandleValue aMessage) 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_NSISETTINGSSERVICE \
  NS_METHOD CreateLock(nsISettingsTransactionCompleteCallback *aCallback, nsISettingsServiceLock * *_retval); \
  NS_METHOD ReceiveMessage(JS::HandleValue aMessage); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISETTINGSSERVICE(_to) \
  NS_IMETHOD CreateLock(nsISettingsTransactionCompleteCallback *aCallback, nsISettingsServiceLock * *_retval) override { return _to CreateLock(aCallback, _retval); } \
  NS_IMETHOD ReceiveMessage(JS::HandleValue aMessage) override { return _to ReceiveMessage(aMessage); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISETTINGSSERVICE(_to) \
  NS_IMETHOD CreateLock(nsISettingsTransactionCompleteCallback *aCallback, nsISettingsServiceLock * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateLock(aCallback, _retval); } \
  NS_IMETHOD ReceiveMessage(JS::HandleValue aMessage) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ReceiveMessage(aMessage); } 

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

/* Header file */
class nsSettingsService : public nsISettingsService
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISETTINGSSERVICE

  nsSettingsService();

private:
  ~nsSettingsService();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsSettingsService, nsISettingsService)

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

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

/* nsISettingsServiceLock createLock ([optional] in nsISettingsTransactionCompleteCallback aCallback); */
NS_IMETHODIMP nsSettingsService::CreateLock(nsISettingsTransactionCompleteCallback *aCallback, nsISettingsServiceLock * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void receiveMessage (in jsval aMessage); */
NS_IMETHODIMP nsSettingsService::ReceiveMessage(JS::HandleValue aMessage)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsISettingsService_h__ */