This file is indexed.

/usr/include/thunderbird-11.0.1/nsIAccessible.h is in thunderbird-dev 11.0.1+build1-0ubuntu2.

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
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /build/buildd/thunderbird-11.0.1+build1/build-tree/mozilla/mozilla/accessible/public/nsIAccessible.idl
 */

#ifndef __gen_nsIAccessible_h__
#define __gen_nsIAccessible_h__


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

#ifndef __gen_nsIArray_h__
#include "nsIArray.h"
#endif

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

class nsIDOMDOMStringList; /* forward declaration */

class nsIAccessibleRelation; /* forward declaration */


/* starting interface:    nsIAccessible */
#define NS_IACCESSIBLE_IID_STR "3126544c-826c-4694-a2ed-67bfe56a1f37"

#define NS_IACCESSIBLE_IID \
  {0x3126544c, 0x826c, 0x4694, \
    { 0xa2, 0xed, 0x67, 0xbf, 0xe5, 0x6a, 0x1f, 0x37 }}

class NS_NO_VTABLE NS_SCRIPTABLE nsIAccessible : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IACCESSIBLE_IID)

  /* readonly attribute nsIAccessible parent; */
  NS_SCRIPTABLE NS_IMETHOD GetParent(nsIAccessible * *aParent) = 0;

  /* readonly attribute nsIAccessible nextSibling; */
  NS_SCRIPTABLE NS_IMETHOD GetNextSibling(nsIAccessible * *aNextSibling) = 0;

  /* readonly attribute nsIAccessible previousSibling; */
  NS_SCRIPTABLE NS_IMETHOD GetPreviousSibling(nsIAccessible * *aPreviousSibling) = 0;

  /* readonly attribute nsIAccessible firstChild; */
  NS_SCRIPTABLE NS_IMETHOD GetFirstChild(nsIAccessible * *aFirstChild) = 0;

  /* readonly attribute nsIAccessible lastChild; */
  NS_SCRIPTABLE NS_IMETHOD GetLastChild(nsIAccessible * *aLastChild) = 0;

  /* readonly attribute nsIArray children; */
  NS_SCRIPTABLE NS_IMETHOD GetChildren(nsIArray * *aChildren) = 0;

  /* readonly attribute long childCount; */
  NS_SCRIPTABLE NS_IMETHOD GetChildCount(PRInt32 *aChildCount) = 0;

  /* readonly attribute long indexInParent; */
  NS_SCRIPTABLE NS_IMETHOD GetIndexInParent(PRInt32 *aIndexInParent) = 0;

  /* attribute AString name; */
  NS_SCRIPTABLE NS_IMETHOD GetName(nsAString & aName) = 0;
  NS_SCRIPTABLE NS_IMETHOD SetName(const nsAString & aName) = 0;

  /* readonly attribute AString value; */
  NS_SCRIPTABLE NS_IMETHOD GetValue(nsAString & aValue) = 0;

  /* readonly attribute AString description; */
  NS_SCRIPTABLE NS_IMETHOD GetDescription(nsAString & aDescription) = 0;

  /* readonly attribute AString keyboardShortcut; */
  NS_SCRIPTABLE NS_IMETHOD GetKeyboardShortcut(nsAString & aKeyboardShortcut) = 0;

  /* readonly attribute AString defaultKeyBinding; */
  NS_SCRIPTABLE NS_IMETHOD GetDefaultKeyBinding(nsAString & aDefaultKeyBinding) = 0;

  /* nsIDOMDOMStringList getKeyBindings (in PRUint8 aActionIndex); */
  NS_SCRIPTABLE NS_IMETHOD GetKeyBindings(PRUint8 aActionIndex, nsIDOMDOMStringList * *_retval NS_OUTPARAM) = 0;

  /* readonly attribute unsigned long role; */
  NS_SCRIPTABLE NS_IMETHOD GetRole(PRUint32 *aRole) = 0;

  /* void getState (out unsigned long aState, out unsigned long aExtraState); */
  NS_SCRIPTABLE NS_IMETHOD GetState(PRUint32 *aState NS_OUTPARAM, PRUint32 *aExtraState NS_OUTPARAM) = 0;

  /* readonly attribute AString help; */
  NS_SCRIPTABLE NS_IMETHOD GetHelp(nsAString & aHelp) = 0;

  /* readonly attribute nsIAccessible focusedChild; */
  NS_SCRIPTABLE NS_IMETHOD GetFocusedChild(nsIAccessible * *aFocusedChild) = 0;

  /* readonly attribute nsIPersistentProperties attributes; */
  NS_SCRIPTABLE NS_IMETHOD GetAttributes(nsIPersistentProperties * *aAttributes) = 0;

  /* void groupPosition (out long aGroupLevel, out long aSimilarItemsInGroup, out long aPositionInGroup); */
  NS_SCRIPTABLE NS_IMETHOD GroupPosition(PRInt32 *aGroupLevel NS_OUTPARAM, PRInt32 *aSimilarItemsInGroup NS_OUTPARAM, PRInt32 *aPositionInGroup NS_OUTPARAM) = 0;

  /* nsIAccessible getChildAtPoint (in long x, in long y); */
  NS_SCRIPTABLE NS_IMETHOD GetChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM) = 0;

  /* nsIAccessible getDeepestChildAtPoint (in long x, in long y); */
  NS_SCRIPTABLE NS_IMETHOD GetDeepestChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM) = 0;

  /* nsIAccessible getChildAt (in long aChildIndex); */
  NS_SCRIPTABLE NS_IMETHOD GetChildAt(PRInt32 aChildIndex, nsIAccessible * *_retval NS_OUTPARAM) = 0;

  /* nsIAccessibleRelation getRelationByType (in unsigned long aRelationType); */
  NS_SCRIPTABLE NS_IMETHOD GetRelationByType(PRUint32 aRelationType, nsIAccessibleRelation * *_retval NS_OUTPARAM) = 0;

  /* nsIArray getRelations (); */
  NS_SCRIPTABLE NS_IMETHOD GetRelations(nsIArray * *_retval NS_OUTPARAM) = 0;

  /* void getBounds (out long x, out long y, out long width, out long height); */
  NS_SCRIPTABLE NS_IMETHOD GetBounds(PRInt32 *x NS_OUTPARAM, PRInt32 *y NS_OUTPARAM, PRInt32 *width NS_OUTPARAM, PRInt32 *height NS_OUTPARAM) = 0;

  /* void setSelected (in boolean isSelected); */
  NS_SCRIPTABLE NS_IMETHOD SetSelected(bool isSelected) = 0;

  /* void extendSelection (); */
  NS_SCRIPTABLE NS_IMETHOD ExtendSelection(void) = 0;

  /* void takeSelection (); */
  NS_SCRIPTABLE NS_IMETHOD TakeSelection(void) = 0;

  /* void takeFocus (); */
  NS_SCRIPTABLE NS_IMETHOD TakeFocus(void) = 0;

  /* readonly attribute PRUint8 numActions; */
  NS_SCRIPTABLE NS_IMETHOD GetNumActions(PRUint8 *aNumActions) = 0;

  /* AString getActionName (in PRUint8 index); */
  NS_SCRIPTABLE NS_IMETHOD GetActionName(PRUint8 index, nsAString & _retval NS_OUTPARAM) = 0;

  /* AString getActionDescription (in PRUint8 aIndex); */
  NS_SCRIPTABLE NS_IMETHOD GetActionDescription(PRUint8 aIndex, nsAString & _retval NS_OUTPARAM) = 0;

  /* void doAction (in PRUint8 index); */
  NS_SCRIPTABLE NS_IMETHOD DoAction(PRUint8 index) = 0;

  /* [noscript] void getNativeInterface (out voidPtr aOutAccessible); */
  NS_IMETHOD GetNativeInterface(void **aOutAccessible NS_OUTPARAM) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIAccessible, NS_IACCESSIBLE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIACCESSIBLE \
  NS_SCRIPTABLE NS_IMETHOD GetParent(nsIAccessible * *aParent); \
  NS_SCRIPTABLE NS_IMETHOD GetNextSibling(nsIAccessible * *aNextSibling); \
  NS_SCRIPTABLE NS_IMETHOD GetPreviousSibling(nsIAccessible * *aPreviousSibling); \
  NS_SCRIPTABLE NS_IMETHOD GetFirstChild(nsIAccessible * *aFirstChild); \
  NS_SCRIPTABLE NS_IMETHOD GetLastChild(nsIAccessible * *aLastChild); \
  NS_SCRIPTABLE NS_IMETHOD GetChildren(nsIArray * *aChildren); \
  NS_SCRIPTABLE NS_IMETHOD GetChildCount(PRInt32 *aChildCount); \
  NS_SCRIPTABLE NS_IMETHOD GetIndexInParent(PRInt32 *aIndexInParent); \
  NS_SCRIPTABLE NS_IMETHOD GetName(nsAString & aName); \
  NS_SCRIPTABLE NS_IMETHOD SetName(const nsAString & aName); \
  NS_SCRIPTABLE NS_IMETHOD GetValue(nsAString & aValue); \
  NS_SCRIPTABLE NS_IMETHOD GetDescription(nsAString & aDescription); \
  NS_SCRIPTABLE NS_IMETHOD GetKeyboardShortcut(nsAString & aKeyboardShortcut); \
  NS_SCRIPTABLE NS_IMETHOD GetDefaultKeyBinding(nsAString & aDefaultKeyBinding); \
  NS_SCRIPTABLE NS_IMETHOD GetKeyBindings(PRUint8 aActionIndex, nsIDOMDOMStringList * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetRole(PRUint32 *aRole); \
  NS_SCRIPTABLE NS_IMETHOD GetState(PRUint32 *aState NS_OUTPARAM, PRUint32 *aExtraState NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetHelp(nsAString & aHelp); \
  NS_SCRIPTABLE NS_IMETHOD GetFocusedChild(nsIAccessible * *aFocusedChild); \
  NS_SCRIPTABLE NS_IMETHOD GetAttributes(nsIPersistentProperties * *aAttributes); \
  NS_SCRIPTABLE NS_IMETHOD GroupPosition(PRInt32 *aGroupLevel NS_OUTPARAM, PRInt32 *aSimilarItemsInGroup NS_OUTPARAM, PRInt32 *aPositionInGroup NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetDeepestChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetChildAt(PRInt32 aChildIndex, nsIAccessible * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetRelationByType(PRUint32 aRelationType, nsIAccessibleRelation * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetRelations(nsIArray * *_retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetBounds(PRInt32 *x NS_OUTPARAM, PRInt32 *y NS_OUTPARAM, PRInt32 *width NS_OUTPARAM, PRInt32 *height NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD SetSelected(bool isSelected); \
  NS_SCRIPTABLE NS_IMETHOD ExtendSelection(void); \
  NS_SCRIPTABLE NS_IMETHOD TakeSelection(void); \
  NS_SCRIPTABLE NS_IMETHOD TakeFocus(void); \
  NS_SCRIPTABLE NS_IMETHOD GetNumActions(PRUint8 *aNumActions); \
  NS_SCRIPTABLE NS_IMETHOD GetActionName(PRUint8 index, nsAString & _retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD GetActionDescription(PRUint8 aIndex, nsAString & _retval NS_OUTPARAM); \
  NS_SCRIPTABLE NS_IMETHOD DoAction(PRUint8 index); \
  NS_IMETHOD GetNativeInterface(void **aOutAccessible NS_OUTPARAM); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIACCESSIBLE(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetParent(nsIAccessible * *aParent) { return _to GetParent(aParent); } \
  NS_SCRIPTABLE NS_IMETHOD GetNextSibling(nsIAccessible * *aNextSibling) { return _to GetNextSibling(aNextSibling); } \
  NS_SCRIPTABLE NS_IMETHOD GetPreviousSibling(nsIAccessible * *aPreviousSibling) { return _to GetPreviousSibling(aPreviousSibling); } \
  NS_SCRIPTABLE NS_IMETHOD GetFirstChild(nsIAccessible * *aFirstChild) { return _to GetFirstChild(aFirstChild); } \
  NS_SCRIPTABLE NS_IMETHOD GetLastChild(nsIAccessible * *aLastChild) { return _to GetLastChild(aLastChild); } \
  NS_SCRIPTABLE NS_IMETHOD GetChildren(nsIArray * *aChildren) { return _to GetChildren(aChildren); } \
  NS_SCRIPTABLE NS_IMETHOD GetChildCount(PRInt32 *aChildCount) { return _to GetChildCount(aChildCount); } \
  NS_SCRIPTABLE NS_IMETHOD GetIndexInParent(PRInt32 *aIndexInParent) { return _to GetIndexInParent(aIndexInParent); } \
  NS_SCRIPTABLE NS_IMETHOD GetName(nsAString & aName) { return _to GetName(aName); } \
  NS_SCRIPTABLE NS_IMETHOD SetName(const nsAString & aName) { return _to SetName(aName); } \
  NS_SCRIPTABLE NS_IMETHOD GetValue(nsAString & aValue) { return _to GetValue(aValue); } \
  NS_SCRIPTABLE NS_IMETHOD GetDescription(nsAString & aDescription) { return _to GetDescription(aDescription); } \
  NS_SCRIPTABLE NS_IMETHOD GetKeyboardShortcut(nsAString & aKeyboardShortcut) { return _to GetKeyboardShortcut(aKeyboardShortcut); } \
  NS_SCRIPTABLE NS_IMETHOD GetDefaultKeyBinding(nsAString & aDefaultKeyBinding) { return _to GetDefaultKeyBinding(aDefaultKeyBinding); } \
  NS_SCRIPTABLE NS_IMETHOD GetKeyBindings(PRUint8 aActionIndex, nsIDOMDOMStringList * *_retval NS_OUTPARAM) { return _to GetKeyBindings(aActionIndex, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetRole(PRUint32 *aRole) { return _to GetRole(aRole); } \
  NS_SCRIPTABLE NS_IMETHOD GetState(PRUint32 *aState NS_OUTPARAM, PRUint32 *aExtraState NS_OUTPARAM) { return _to GetState(aState, aExtraState); } \
  NS_SCRIPTABLE NS_IMETHOD GetHelp(nsAString & aHelp) { return _to GetHelp(aHelp); } \
  NS_SCRIPTABLE NS_IMETHOD GetFocusedChild(nsIAccessible * *aFocusedChild) { return _to GetFocusedChild(aFocusedChild); } \
  NS_SCRIPTABLE NS_IMETHOD GetAttributes(nsIPersistentProperties * *aAttributes) { return _to GetAttributes(aAttributes); } \
  NS_SCRIPTABLE NS_IMETHOD GroupPosition(PRInt32 *aGroupLevel NS_OUTPARAM, PRInt32 *aSimilarItemsInGroup NS_OUTPARAM, PRInt32 *aPositionInGroup NS_OUTPARAM) { return _to GroupPosition(aGroupLevel, aSimilarItemsInGroup, aPositionInGroup); } \
  NS_SCRIPTABLE NS_IMETHOD GetChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM) { return _to GetChildAtPoint(x, y, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetDeepestChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM) { return _to GetDeepestChildAtPoint(x, y, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetChildAt(PRInt32 aChildIndex, nsIAccessible * *_retval NS_OUTPARAM) { return _to GetChildAt(aChildIndex, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetRelationByType(PRUint32 aRelationType, nsIAccessibleRelation * *_retval NS_OUTPARAM) { return _to GetRelationByType(aRelationType, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetRelations(nsIArray * *_retval NS_OUTPARAM) { return _to GetRelations(_retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetBounds(PRInt32 *x NS_OUTPARAM, PRInt32 *y NS_OUTPARAM, PRInt32 *width NS_OUTPARAM, PRInt32 *height NS_OUTPARAM) { return _to GetBounds(x, y, width, height); } \
  NS_SCRIPTABLE NS_IMETHOD SetSelected(bool isSelected) { return _to SetSelected(isSelected); } \
  NS_SCRIPTABLE NS_IMETHOD ExtendSelection(void) { return _to ExtendSelection(); } \
  NS_SCRIPTABLE NS_IMETHOD TakeSelection(void) { return _to TakeSelection(); } \
  NS_SCRIPTABLE NS_IMETHOD TakeFocus(void) { return _to TakeFocus(); } \
  NS_SCRIPTABLE NS_IMETHOD GetNumActions(PRUint8 *aNumActions) { return _to GetNumActions(aNumActions); } \
  NS_SCRIPTABLE NS_IMETHOD GetActionName(PRUint8 index, nsAString & _retval NS_OUTPARAM) { return _to GetActionName(index, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetActionDescription(PRUint8 aIndex, nsAString & _retval NS_OUTPARAM) { return _to GetActionDescription(aIndex, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD DoAction(PRUint8 index) { return _to DoAction(index); } \
  NS_IMETHOD GetNativeInterface(void **aOutAccessible NS_OUTPARAM) { return _to GetNativeInterface(aOutAccessible); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIACCESSIBLE(_to) \
  NS_SCRIPTABLE NS_IMETHOD GetParent(nsIAccessible * *aParent) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParent(aParent); } \
  NS_SCRIPTABLE NS_IMETHOD GetNextSibling(nsIAccessible * *aNextSibling) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNextSibling(aNextSibling); } \
  NS_SCRIPTABLE NS_IMETHOD GetPreviousSibling(nsIAccessible * *aPreviousSibling) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPreviousSibling(aPreviousSibling); } \
  NS_SCRIPTABLE NS_IMETHOD GetFirstChild(nsIAccessible * *aFirstChild) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFirstChild(aFirstChild); } \
  NS_SCRIPTABLE NS_IMETHOD GetLastChild(nsIAccessible * *aLastChild) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLastChild(aLastChild); } \
  NS_SCRIPTABLE NS_IMETHOD GetChildren(nsIArray * *aChildren) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetChildren(aChildren); } \
  NS_SCRIPTABLE NS_IMETHOD GetChildCount(PRInt32 *aChildCount) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetChildCount(aChildCount); } \
  NS_SCRIPTABLE NS_IMETHOD GetIndexInParent(PRInt32 *aIndexInParent) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIndexInParent(aIndexInParent); } \
  NS_SCRIPTABLE NS_IMETHOD GetName(nsAString & aName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetName(aName); } \
  NS_SCRIPTABLE NS_IMETHOD SetName(const nsAString & aName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetName(aName); } \
  NS_SCRIPTABLE NS_IMETHOD GetValue(nsAString & aValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetValue(aValue); } \
  NS_SCRIPTABLE NS_IMETHOD GetDescription(nsAString & aDescription) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDescription(aDescription); } \
  NS_SCRIPTABLE NS_IMETHOD GetKeyboardShortcut(nsAString & aKeyboardShortcut) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKeyboardShortcut(aKeyboardShortcut); } \
  NS_SCRIPTABLE NS_IMETHOD GetDefaultKeyBinding(nsAString & aDefaultKeyBinding) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDefaultKeyBinding(aDefaultKeyBinding); } \
  NS_SCRIPTABLE NS_IMETHOD GetKeyBindings(PRUint8 aActionIndex, nsIDOMDOMStringList * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKeyBindings(aActionIndex, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetRole(PRUint32 *aRole) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRole(aRole); } \
  NS_SCRIPTABLE NS_IMETHOD GetState(PRUint32 *aState NS_OUTPARAM, PRUint32 *aExtraState NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetState(aState, aExtraState); } \
  NS_SCRIPTABLE NS_IMETHOD GetHelp(nsAString & aHelp) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHelp(aHelp); } \
  NS_SCRIPTABLE NS_IMETHOD GetFocusedChild(nsIAccessible * *aFocusedChild) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFocusedChild(aFocusedChild); } \
  NS_SCRIPTABLE NS_IMETHOD GetAttributes(nsIPersistentProperties * *aAttributes) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttributes(aAttributes); } \
  NS_SCRIPTABLE NS_IMETHOD GroupPosition(PRInt32 *aGroupLevel NS_OUTPARAM, PRInt32 *aSimilarItemsInGroup NS_OUTPARAM, PRInt32 *aPositionInGroup NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GroupPosition(aGroupLevel, aSimilarItemsInGroup, aPositionInGroup); } \
  NS_SCRIPTABLE NS_IMETHOD GetChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetChildAtPoint(x, y, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetDeepestChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDeepestChildAtPoint(x, y, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetChildAt(PRInt32 aChildIndex, nsIAccessible * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetChildAt(aChildIndex, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetRelationByType(PRUint32 aRelationType, nsIAccessibleRelation * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRelationByType(aRelationType, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetRelations(nsIArray * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRelations(_retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetBounds(PRInt32 *x NS_OUTPARAM, PRInt32 *y NS_OUTPARAM, PRInt32 *width NS_OUTPARAM, PRInt32 *height NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBounds(x, y, width, height); } \
  NS_SCRIPTABLE NS_IMETHOD SetSelected(bool isSelected) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSelected(isSelected); } \
  NS_SCRIPTABLE NS_IMETHOD ExtendSelection(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ExtendSelection(); } \
  NS_SCRIPTABLE NS_IMETHOD TakeSelection(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->TakeSelection(); } \
  NS_SCRIPTABLE NS_IMETHOD TakeFocus(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->TakeFocus(); } \
  NS_SCRIPTABLE NS_IMETHOD GetNumActions(PRUint8 *aNumActions) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNumActions(aNumActions); } \
  NS_SCRIPTABLE NS_IMETHOD GetActionName(PRUint8 index, nsAString & _retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActionName(index, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD GetActionDescription(PRUint8 aIndex, nsAString & _retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetActionDescription(aIndex, _retval); } \
  NS_SCRIPTABLE NS_IMETHOD DoAction(PRUint8 index) { return !_to ? NS_ERROR_NULL_POINTER : _to->DoAction(index); } \
  NS_IMETHOD GetNativeInterface(void **aOutAccessible NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNativeInterface(aOutAccessible); } 

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

/* Header file */
class nsAccessible : public nsIAccessible
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIACCESSIBLE

  nsAccessible();

private:
  ~nsAccessible();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsAccessible, nsIAccessible)

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

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

/* readonly attribute nsIAccessible parent; */
NS_IMETHODIMP nsAccessible::GetParent(nsIAccessible * *aParent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIAccessible nextSibling; */
NS_IMETHODIMP nsAccessible::GetNextSibling(nsIAccessible * *aNextSibling)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIAccessible previousSibling; */
NS_IMETHODIMP nsAccessible::GetPreviousSibling(nsIAccessible * *aPreviousSibling)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIAccessible firstChild; */
NS_IMETHODIMP nsAccessible::GetFirstChild(nsIAccessible * *aFirstChild)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIAccessible lastChild; */
NS_IMETHODIMP nsAccessible::GetLastChild(nsIAccessible * *aLastChild)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIArray children; */
NS_IMETHODIMP nsAccessible::GetChildren(nsIArray * *aChildren)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long childCount; */
NS_IMETHODIMP nsAccessible::GetChildCount(PRInt32 *aChildCount)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute long indexInParent; */
NS_IMETHODIMP nsAccessible::GetIndexInParent(PRInt32 *aIndexInParent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString name; */
NS_IMETHODIMP nsAccessible::GetName(nsAString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAccessible::SetName(const nsAString & aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString value; */
NS_IMETHODIMP nsAccessible::GetValue(nsAString & aValue)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString description; */
NS_IMETHODIMP nsAccessible::GetDescription(nsAString & aDescription)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString keyboardShortcut; */
NS_IMETHODIMP nsAccessible::GetKeyboardShortcut(nsAString & aKeyboardShortcut)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString defaultKeyBinding; */
NS_IMETHODIMP nsAccessible::GetDefaultKeyBinding(nsAString & aDefaultKeyBinding)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIDOMDOMStringList getKeyBindings (in PRUint8 aActionIndex); */
NS_IMETHODIMP nsAccessible::GetKeyBindings(PRUint8 aActionIndex, nsIDOMDOMStringList * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute unsigned long role; */
NS_IMETHODIMP nsAccessible::GetRole(PRUint32 *aRole)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getState (out unsigned long aState, out unsigned long aExtraState); */
NS_IMETHODIMP nsAccessible::GetState(PRUint32 *aState NS_OUTPARAM, PRUint32 *aExtraState NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString help; */
NS_IMETHODIMP nsAccessible::GetHelp(nsAString & aHelp)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIAccessible focusedChild; */
NS_IMETHODIMP nsAccessible::GetFocusedChild(nsIAccessible * *aFocusedChild)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIPersistentProperties attributes; */
NS_IMETHODIMP nsAccessible::GetAttributes(nsIPersistentProperties * *aAttributes)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void groupPosition (out long aGroupLevel, out long aSimilarItemsInGroup, out long aPositionInGroup); */
NS_IMETHODIMP nsAccessible::GroupPosition(PRInt32 *aGroupLevel NS_OUTPARAM, PRInt32 *aSimilarItemsInGroup NS_OUTPARAM, PRInt32 *aPositionInGroup NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIAccessible getChildAtPoint (in long x, in long y); */
NS_IMETHODIMP nsAccessible::GetChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIAccessible getDeepestChildAtPoint (in long x, in long y); */
NS_IMETHODIMP nsAccessible::GetDeepestChildAtPoint(PRInt32 x, PRInt32 y, nsIAccessible * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIAccessible getChildAt (in long aChildIndex); */
NS_IMETHODIMP nsAccessible::GetChildAt(PRInt32 aChildIndex, nsIAccessible * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIAccessibleRelation getRelationByType (in unsigned long aRelationType); */
NS_IMETHODIMP nsAccessible::GetRelationByType(PRUint32 aRelationType, nsIAccessibleRelation * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIArray getRelations (); */
NS_IMETHODIMP nsAccessible::GetRelations(nsIArray * *_retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getBounds (out long x, out long y, out long width, out long height); */
NS_IMETHODIMP nsAccessible::GetBounds(PRInt32 *x NS_OUTPARAM, PRInt32 *y NS_OUTPARAM, PRInt32 *width NS_OUTPARAM, PRInt32 *height NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setSelected (in boolean isSelected); */
NS_IMETHODIMP nsAccessible::SetSelected(bool isSelected)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void extendSelection (); */
NS_IMETHODIMP nsAccessible::ExtendSelection()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void takeSelection (); */
NS_IMETHODIMP nsAccessible::TakeSelection()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void takeFocus (); */
NS_IMETHODIMP nsAccessible::TakeFocus()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute PRUint8 numActions; */
NS_IMETHODIMP nsAccessible::GetNumActions(PRUint8 *aNumActions)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getActionName (in PRUint8 index); */
NS_IMETHODIMP nsAccessible::GetActionName(PRUint8 index, nsAString & _retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getActionDescription (in PRUint8 aIndex); */
NS_IMETHODIMP nsAccessible::GetActionDescription(PRUint8 aIndex, nsAString & _retval NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void doAction (in PRUint8 index); */
NS_IMETHODIMP nsAccessible::DoAction(PRUint8 index)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] void getNativeInterface (out voidPtr aOutAccessible); */
NS_IMETHODIMP nsAccessible::GetNativeInterface(void **aOutAccessible NS_OUTPARAM)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIAccessible_h__ */