Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/nsISimpleEnumerator.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /src/mozilla-central/xpcom/ds/nsISimpleEnumerator.idl
3
 */
4
5
#ifndef __gen_nsISimpleEnumerator_h__
6
#define __gen_nsISimpleEnumerator_h__
7
8
9
#ifndef __gen_nsISupports_h__
10
#include "nsISupports.h"
11
#endif
12
13
#include "js/Value.h"
14
15
#include "js/GCAnnotations.h"
16
17
/* For IDL files that don't want to include root IDL files. */
18
#ifndef NS_NO_VTABLE
19
#define NS_NO_VTABLE
20
#endif
21
22
/* starting interface:    nsIJSEnumerator */
23
#define NS_IJSENUMERATOR_IID_STR "4432e8ae-d4d3-42a6-a4d1-829f1c29512b"
24
25
#define NS_IJSENUMERATOR_IID \
26
  {0x4432e8ae, 0xd4d3, 0x42a6, \
27
    { 0xa4, 0xd1, 0x82, 0x9f, 0x1c, 0x29, 0x51, 0x2b }}
28
29
class NS_NO_VTABLE nsIJSEnumerator : public nsISupports {
30
 public:
31
32
  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IJSENUMERATOR_IID)
33
34
  /* [symbol] nsIJSEnumerator iterator (); */
35
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Iterator(nsIJSEnumerator **_retval) = 0;
36
37
  /* [implicit_jscontext] jsval next (); */
38
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Next(JSContext* cx, JS::MutableHandleValue _retval) = 0;
39
40
};
41
42
  NS_DEFINE_STATIC_IID_ACCESSOR(nsIJSEnumerator, NS_IJSENUMERATOR_IID)
43
44
/* Use this macro when declaring classes that implement this interface. */
45
#define NS_DECL_NSIJSENUMERATOR \
46
  NS_IMETHOD Iterator(nsIJSEnumerator **_retval) override; \
47
  NS_IMETHOD Next(JSContext* cx, JS::MutableHandleValue _retval) override; 
48
49
/* Use this macro when declaring the members of this interface when the
50
   class doesn't implement the interface. This is useful for forwarding. */
51
#define NS_DECL_NON_VIRTUAL_NSIJSENUMERATOR \
52
  nsresult Iterator(nsIJSEnumerator **_retval); \
53
  nsresult Next(JSContext* cx, JS::MutableHandleValue _retval); 
54
55
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
56
#define NS_FORWARD_NSIJSENUMERATOR(_to) \
57
  NS_IMETHOD Iterator(nsIJSEnumerator **_retval) override { return _to Iterator(_retval); } \
58
  NS_IMETHOD Next(JSContext* cx, JS::MutableHandleValue _retval) override { return _to Next(cx, _retval); } 
59
60
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
61
#define NS_FORWARD_SAFE_NSIJSENUMERATOR(_to) \
62
  NS_IMETHOD Iterator(nsIJSEnumerator **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Iterator(_retval); } \
63
  NS_IMETHOD Next(JSContext* cx, JS::MutableHandleValue _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Next(cx, _retval); } 
64
65
66
/* starting interface:    nsISimpleEnumeratorBase */
67
#define NS_ISIMPLEENUMERATORBASE_IID_STR "796f340d-0a2a-490b-9c60-640765e99782"
68
69
#define NS_ISIMPLEENUMERATORBASE_IID \
70
  {0x796f340d, 0x0a2a, 0x490b, \
71
    { 0x9c, 0x60, 0x64, 0x07, 0x65, 0xe9, 0x97, 0x82 }}
72
73
class NS_NO_VTABLE nsISimpleEnumeratorBase : public nsISupports {
74
 public:
75
76
  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISIMPLEENUMERATORBASE_IID)
77
78
  /* [symbol] nsIJSEnumerator iterator (); */
79
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Iterator(nsIJSEnumerator **_retval) = 0;
80
81
  /* nsIJSEnumerator entries (in nsIIDRef aIface); */
82
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Entries(const nsIID & aIface, nsIJSEnumerator **_retval) = 0;
83
84
};
85
86
  NS_DEFINE_STATIC_IID_ACCESSOR(nsISimpleEnumeratorBase, NS_ISIMPLEENUMERATORBASE_IID)
87
88
/* Use this macro when declaring classes that implement this interface. */
89
#define NS_DECL_NSISIMPLEENUMERATORBASE \
90
  NS_IMETHOD Iterator(nsIJSEnumerator **_retval) override; \
91
  NS_IMETHOD Entries(const nsIID & aIface, nsIJSEnumerator **_retval) override; 
92
93
/* Use this macro when declaring the members of this interface when the
94
   class doesn't implement the interface. This is useful for forwarding. */
95
#define NS_DECL_NON_VIRTUAL_NSISIMPLEENUMERATORBASE \
96
  nsresult Iterator(nsIJSEnumerator **_retval); \
97
  nsresult Entries(const nsIID & aIface, nsIJSEnumerator **_retval); 
98
99
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
100
#define NS_FORWARD_NSISIMPLEENUMERATORBASE(_to) \
101
0
  NS_IMETHOD Iterator(nsIJSEnumerator **_retval) override { return _to Iterator(_retval); } \
102
0
  NS_IMETHOD Entries(const nsIID & aIface, nsIJSEnumerator **_retval) override { return _to Entries(aIface, _retval); } 
103
104
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
105
#define NS_FORWARD_SAFE_NSISIMPLEENUMERATORBASE(_to) \
106
  NS_IMETHOD Iterator(nsIJSEnumerator **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Iterator(_retval); } \
107
  NS_IMETHOD Entries(const nsIID & aIface, nsIJSEnumerator **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Entries(aIface, _retval); } 
108
109
110
/* starting interface:    nsISimpleEnumerator */
111
#define NS_ISIMPLEENUMERATOR_IID_STR "d1899240-f9d2-11d2-bdd6-000064657374"
112
113
#define NS_ISIMPLEENUMERATOR_IID \
114
  {0xd1899240, 0xf9d2, 0x11d2, \
115
    { 0xbd, 0xd6, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 }}
116
117
class NS_NO_VTABLE nsISimpleEnumerator : public nsISimpleEnumeratorBase {
118
 public:
119
120
  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISIMPLEENUMERATOR_IID)
121
122
  /* boolean hasMoreElements (); */
123
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD HasMoreElements(bool *_retval) = 0;
124
125
  /* nsISupports getNext (); */
126
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetNext(nsISupports **_retval) = 0;
127
128
};
129
130
  NS_DEFINE_STATIC_IID_ACCESSOR(nsISimpleEnumerator, NS_ISIMPLEENUMERATOR_IID)
131
132
/* Use this macro when declaring classes that implement this interface. */
133
#define NS_DECL_NSISIMPLEENUMERATOR \
134
  NS_IMETHOD HasMoreElements(bool *_retval) override; \
135
  NS_IMETHOD GetNext(nsISupports **_retval) override; 
136
137
/* Use this macro when declaring the members of this interface when the
138
   class doesn't implement the interface. This is useful for forwarding. */
139
#define NS_DECL_NON_VIRTUAL_NSISIMPLEENUMERATOR \
140
  nsresult HasMoreElements(bool *_retval); \
141
  nsresult GetNext(nsISupports **_retval); 
142
143
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
144
#define NS_FORWARD_NSISIMPLEENUMERATOR(_to) \
145
  NS_IMETHOD HasMoreElements(bool *_retval) override { return _to HasMoreElements(_retval); } \
146
  NS_IMETHOD GetNext(nsISupports **_retval) override { return _to GetNext(_retval); } 
147
148
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
149
#define NS_FORWARD_SAFE_NSISIMPLEENUMERATOR(_to) \
150
  NS_IMETHOD HasMoreElements(bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->HasMoreElements(_retval); } \
151
  NS_IMETHOD GetNext(nsISupports **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNext(_retval); } 
152
153
154
#endif /* __gen_nsISimpleEnumerator_h__ */