1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM /builds/slave/m-beta-lnx-codecoverage/build/xpcom/threads/nsIThreadInternal.idl
3 : */
4 :
5 : #ifndef __gen_nsIThreadInternal_h__
6 : #define __gen_nsIThreadInternal_h__
7 :
8 :
9 : #ifndef __gen_nsIThread_h__
10 : #include "nsIThread.h"
11 : #endif
12 :
13 : /* For IDL files that don't want to include root IDL files. */
14 : #ifndef NS_NO_VTABLE
15 : #define NS_NO_VTABLE
16 : #endif
17 : class nsIThreadObserver; /* forward declaration */
18 :
19 : class nsIThreadEventFilter; /* forward declaration */
20 :
21 :
22 : /* starting interface: nsIThreadInternal */
23 : #define NS_ITHREADINTERNAL_IID_STR "e0d35c22-53d5-4b48-8627-93e05b94cf2c"
24 :
25 : #define NS_ITHREADINTERNAL_IID \
26 : {0xe0d35c22, 0x53d5, 0x4b48, \
27 : { 0x86, 0x27, 0x93, 0xe0, 0x5b, 0x94, 0xcf, 0x2c }}
28 :
29 7525 : class NS_NO_VTABLE NS_SCRIPTABLE nsIThreadInternal : public nsIThread {
30 : public:
31 :
32 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITHREADINTERNAL_IID)
33 :
34 : /* attribute nsIThreadObserver observer; */
35 : NS_SCRIPTABLE NS_IMETHOD GetObserver(nsIThreadObserver * *aObserver) = 0;
36 : NS_SCRIPTABLE NS_IMETHOD SetObserver(nsIThreadObserver *aObserver) = 0;
37 :
38 : /* void pushEventQueue (in nsIThreadEventFilter filter); */
39 : NS_SCRIPTABLE NS_IMETHOD PushEventQueue(nsIThreadEventFilter *filter) = 0;
40 :
41 : /* void popEventQueue (); */
42 : NS_SCRIPTABLE NS_IMETHOD PopEventQueue(void) = 0;
43 :
44 : /* readonly attribute unsigned long recursionDepth; */
45 : NS_SCRIPTABLE NS_IMETHOD GetRecursionDepth(PRUint32 *aRecursionDepth) = 0;
46 :
47 : /* void addObserver (in nsIThreadObserver observer); */
48 : NS_SCRIPTABLE NS_IMETHOD AddObserver(nsIThreadObserver *observer) = 0;
49 :
50 : /* void removeObserver (in nsIThreadObserver observer); */
51 : NS_SCRIPTABLE NS_IMETHOD RemoveObserver(nsIThreadObserver *observer) = 0;
52 :
53 : };
54 :
55 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIThreadInternal, NS_ITHREADINTERNAL_IID)
56 :
57 : /* Use this macro when declaring classes that implement this interface. */
58 : #define NS_DECL_NSITHREADINTERNAL \
59 : NS_SCRIPTABLE NS_IMETHOD GetObserver(nsIThreadObserver * *aObserver); \
60 : NS_SCRIPTABLE NS_IMETHOD SetObserver(nsIThreadObserver *aObserver); \
61 : NS_SCRIPTABLE NS_IMETHOD PushEventQueue(nsIThreadEventFilter *filter); \
62 : NS_SCRIPTABLE NS_IMETHOD PopEventQueue(void); \
63 : NS_SCRIPTABLE NS_IMETHOD GetRecursionDepth(PRUint32 *aRecursionDepth); \
64 : NS_SCRIPTABLE NS_IMETHOD AddObserver(nsIThreadObserver *observer); \
65 : NS_SCRIPTABLE NS_IMETHOD RemoveObserver(nsIThreadObserver *observer);
66 :
67 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
68 : #define NS_FORWARD_NSITHREADINTERNAL(_to) \
69 : NS_SCRIPTABLE NS_IMETHOD GetObserver(nsIThreadObserver * *aObserver) { return _to GetObserver(aObserver); } \
70 : NS_SCRIPTABLE NS_IMETHOD SetObserver(nsIThreadObserver *aObserver) { return _to SetObserver(aObserver); } \
71 : NS_SCRIPTABLE NS_IMETHOD PushEventQueue(nsIThreadEventFilter *filter) { return _to PushEventQueue(filter); } \
72 : NS_SCRIPTABLE NS_IMETHOD PopEventQueue(void) { return _to PopEventQueue(); } \
73 : NS_SCRIPTABLE NS_IMETHOD GetRecursionDepth(PRUint32 *aRecursionDepth) { return _to GetRecursionDepth(aRecursionDepth); } \
74 : NS_SCRIPTABLE NS_IMETHOD AddObserver(nsIThreadObserver *observer) { return _to AddObserver(observer); } \
75 : NS_SCRIPTABLE NS_IMETHOD RemoveObserver(nsIThreadObserver *observer) { return _to RemoveObserver(observer); }
76 :
77 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
78 : #define NS_FORWARD_SAFE_NSITHREADINTERNAL(_to) \
79 : NS_SCRIPTABLE NS_IMETHOD GetObserver(nsIThreadObserver * *aObserver) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetObserver(aObserver); } \
80 : NS_SCRIPTABLE NS_IMETHOD SetObserver(nsIThreadObserver *aObserver) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetObserver(aObserver); } \
81 : NS_SCRIPTABLE NS_IMETHOD PushEventQueue(nsIThreadEventFilter *filter) { return !_to ? NS_ERROR_NULL_POINTER : _to->PushEventQueue(filter); } \
82 : NS_SCRIPTABLE NS_IMETHOD PopEventQueue(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->PopEventQueue(); } \
83 : NS_SCRIPTABLE NS_IMETHOD GetRecursionDepth(PRUint32 *aRecursionDepth) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecursionDepth(aRecursionDepth); } \
84 : NS_SCRIPTABLE NS_IMETHOD AddObserver(nsIThreadObserver *observer) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddObserver(observer); } \
85 : NS_SCRIPTABLE NS_IMETHOD RemoveObserver(nsIThreadObserver *observer) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveObserver(observer); }
86 :
87 : #if 0
88 : /* Use the code below as a template for the implementation class for this interface. */
89 :
90 : /* Header file */
91 : class nsThreadInternal : public nsIThreadInternal
92 : {
93 : public:
94 : NS_DECL_ISUPPORTS
95 : NS_DECL_NSITHREADINTERNAL
96 :
97 : nsThreadInternal();
98 :
99 : private:
100 : ~nsThreadInternal();
101 :
102 : protected:
103 : /* additional members */
104 : };
105 :
106 : /* Implementation file */
107 : NS_IMPL_ISUPPORTS1(nsThreadInternal, nsIThreadInternal)
108 :
109 : nsThreadInternal::nsThreadInternal()
110 : {
111 : /* member initializers and constructor code */
112 : }
113 :
114 : nsThreadInternal::~nsThreadInternal()
115 : {
116 : /* destructor code */
117 : }
118 :
119 : /* attribute nsIThreadObserver observer; */
120 : NS_IMETHODIMP nsThreadInternal::GetObserver(nsIThreadObserver * *aObserver)
121 : {
122 : return NS_ERROR_NOT_IMPLEMENTED;
123 : }
124 : NS_IMETHODIMP nsThreadInternal::SetObserver(nsIThreadObserver *aObserver)
125 : {
126 : return NS_ERROR_NOT_IMPLEMENTED;
127 : }
128 :
129 : /* void pushEventQueue (in nsIThreadEventFilter filter); */
130 : NS_IMETHODIMP nsThreadInternal::PushEventQueue(nsIThreadEventFilter *filter)
131 : {
132 : return NS_ERROR_NOT_IMPLEMENTED;
133 : }
134 :
135 : /* void popEventQueue (); */
136 : NS_IMETHODIMP nsThreadInternal::PopEventQueue()
137 : {
138 : return NS_ERROR_NOT_IMPLEMENTED;
139 : }
140 :
141 : /* readonly attribute unsigned long recursionDepth; */
142 : NS_IMETHODIMP nsThreadInternal::GetRecursionDepth(PRUint32 *aRecursionDepth)
143 : {
144 : return NS_ERROR_NOT_IMPLEMENTED;
145 : }
146 :
147 : /* void addObserver (in nsIThreadObserver observer); */
148 : NS_IMETHODIMP nsThreadInternal::AddObserver(nsIThreadObserver *observer)
149 : {
150 : return NS_ERROR_NOT_IMPLEMENTED;
151 : }
152 :
153 : /* void removeObserver (in nsIThreadObserver observer); */
154 : NS_IMETHODIMP nsThreadInternal::RemoveObserver(nsIThreadObserver *observer)
155 : {
156 : return NS_ERROR_NOT_IMPLEMENTED;
157 : }
158 :
159 : /* End of implementation class template. */
160 : #endif
161 :
162 :
163 : /* starting interface: nsIThreadObserver */
164 : #define NS_ITHREADOBSERVER_IID_STR "81d0b509-f198-4417-8020-08eb4271491f"
165 :
166 : #define NS_ITHREADOBSERVER_IID \
167 : {0x81d0b509, 0xf198, 0x4417, \
168 : { 0x80, 0x20, 0x08, 0xeb, 0x42, 0x71, 0x49, 0x1f }}
169 :
170 4804 : class NS_NO_VTABLE NS_SCRIPTABLE nsIThreadObserver : public nsISupports {
171 : public:
172 :
173 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITHREADOBSERVER_IID)
174 :
175 : /* void onDispatchedEvent (in nsIThreadInternal thread); */
176 : NS_SCRIPTABLE NS_IMETHOD OnDispatchedEvent(nsIThreadInternal *thread) = 0;
177 :
178 : /* void onProcessNextEvent (in nsIThreadInternal thread, in boolean mayWait, in unsigned long recursionDepth); */
179 : NS_SCRIPTABLE NS_IMETHOD OnProcessNextEvent(nsIThreadInternal *thread, bool mayWait, PRUint32 recursionDepth) = 0;
180 :
181 : /* void afterProcessNextEvent (in nsIThreadInternal thread, in unsigned long recursionDepth); */
182 : NS_SCRIPTABLE NS_IMETHOD AfterProcessNextEvent(nsIThreadInternal *thread, PRUint32 recursionDepth) = 0;
183 :
184 : };
185 :
186 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIThreadObserver, NS_ITHREADOBSERVER_IID)
187 :
188 : /* Use this macro when declaring classes that implement this interface. */
189 : #define NS_DECL_NSITHREADOBSERVER \
190 : NS_SCRIPTABLE NS_IMETHOD OnDispatchedEvent(nsIThreadInternal *thread); \
191 : NS_SCRIPTABLE NS_IMETHOD OnProcessNextEvent(nsIThreadInternal *thread, bool mayWait, PRUint32 recursionDepth); \
192 : NS_SCRIPTABLE NS_IMETHOD AfterProcessNextEvent(nsIThreadInternal *thread, PRUint32 recursionDepth);
193 :
194 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
195 : #define NS_FORWARD_NSITHREADOBSERVER(_to) \
196 : NS_SCRIPTABLE NS_IMETHOD OnDispatchedEvent(nsIThreadInternal *thread) { return _to OnDispatchedEvent(thread); } \
197 : NS_SCRIPTABLE NS_IMETHOD OnProcessNextEvent(nsIThreadInternal *thread, bool mayWait, PRUint32 recursionDepth) { return _to OnProcessNextEvent(thread, mayWait, recursionDepth); } \
198 : NS_SCRIPTABLE NS_IMETHOD AfterProcessNextEvent(nsIThreadInternal *thread, PRUint32 recursionDepth) { return _to AfterProcessNextEvent(thread, recursionDepth); }
199 :
200 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
201 : #define NS_FORWARD_SAFE_NSITHREADOBSERVER(_to) \
202 : NS_SCRIPTABLE NS_IMETHOD OnDispatchedEvent(nsIThreadInternal *thread) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnDispatchedEvent(thread); } \
203 : NS_SCRIPTABLE NS_IMETHOD OnProcessNextEvent(nsIThreadInternal *thread, bool mayWait, PRUint32 recursionDepth) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnProcessNextEvent(thread, mayWait, recursionDepth); } \
204 : NS_SCRIPTABLE NS_IMETHOD AfterProcessNextEvent(nsIThreadInternal *thread, PRUint32 recursionDepth) { return !_to ? NS_ERROR_NULL_POINTER : _to->AfterProcessNextEvent(thread, recursionDepth); }
205 :
206 : #if 0
207 : /* Use the code below as a template for the implementation class for this interface. */
208 :
209 : /* Header file */
210 : class nsThreadObserver : public nsIThreadObserver
211 : {
212 : public:
213 : NS_DECL_ISUPPORTS
214 : NS_DECL_NSITHREADOBSERVER
215 :
216 : nsThreadObserver();
217 :
218 : private:
219 : ~nsThreadObserver();
220 :
221 : protected:
222 : /* additional members */
223 : };
224 :
225 : /* Implementation file */
226 : NS_IMPL_ISUPPORTS1(nsThreadObserver, nsIThreadObserver)
227 :
228 : nsThreadObserver::nsThreadObserver()
229 : {
230 : /* member initializers and constructor code */
231 : }
232 :
233 : nsThreadObserver::~nsThreadObserver()
234 : {
235 : /* destructor code */
236 : }
237 :
238 : /* void onDispatchedEvent (in nsIThreadInternal thread); */
239 : NS_IMETHODIMP nsThreadObserver::OnDispatchedEvent(nsIThreadInternal *thread)
240 : {
241 : return NS_ERROR_NOT_IMPLEMENTED;
242 : }
243 :
244 : /* void onProcessNextEvent (in nsIThreadInternal thread, in boolean mayWait, in unsigned long recursionDepth); */
245 : NS_IMETHODIMP nsThreadObserver::OnProcessNextEvent(nsIThreadInternal *thread, bool mayWait, PRUint32 recursionDepth)
246 : {
247 : return NS_ERROR_NOT_IMPLEMENTED;
248 : }
249 :
250 : /* void afterProcessNextEvent (in nsIThreadInternal thread, in unsigned long recursionDepth); */
251 : NS_IMETHODIMP nsThreadObserver::AfterProcessNextEvent(nsIThreadInternal *thread, PRUint32 recursionDepth)
252 : {
253 : return NS_ERROR_NOT_IMPLEMENTED;
254 : }
255 :
256 : /* End of implementation class template. */
257 : #endif
258 :
259 :
260 : /* starting interface: nsIThreadEventFilter */
261 : #define NS_ITHREADEVENTFILTER_IID_STR "a0605c0b-17f5-4681-b8cd-a1cd75d42559"
262 :
263 : #define NS_ITHREADEVENTFILTER_IID \
264 : {0xa0605c0b, 0x17f5, 0x4681, \
265 : { 0xb8, 0xcd, 0xa1, 0xcd, 0x75, 0xd4, 0x25, 0x59 }}
266 :
267 : class NS_NO_VTABLE NS_SCRIPTABLE nsIThreadEventFilter : public nsISupports {
268 : public:
269 :
270 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITHREADEVENTFILTER_IID)
271 :
272 : /* [notxpcom] boolean acceptEvent (in nsIRunnable event); */
273 : NS_IMETHOD_(bool) AcceptEvent(nsIRunnable *event) = 0;
274 :
275 : };
276 :
277 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIThreadEventFilter, NS_ITHREADEVENTFILTER_IID)
278 :
279 : /* Use this macro when declaring classes that implement this interface. */
280 : #define NS_DECL_NSITHREADEVENTFILTER \
281 : NS_IMETHOD_(bool) AcceptEvent(nsIRunnable *event);
282 :
283 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
284 : #define NS_FORWARD_NSITHREADEVENTFILTER(_to) \
285 : NS_IMETHOD_(bool) AcceptEvent(nsIRunnable *event) { return _to AcceptEvent(event); }
286 :
287 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
288 : #define NS_FORWARD_SAFE_NSITHREADEVENTFILTER(_to) \
289 : NS_IMETHOD_(bool) AcceptEvent(nsIRunnable *event) { return !_to ? NS_ERROR_NULL_POINTER : _to->AcceptEvent(event); }
290 :
291 : #if 0
292 : /* Use the code below as a template for the implementation class for this interface. */
293 :
294 : /* Header file */
295 : class nsThreadEventFilter : public nsIThreadEventFilter
296 : {
297 : public:
298 : NS_DECL_ISUPPORTS
299 : NS_DECL_NSITHREADEVENTFILTER
300 :
301 : nsThreadEventFilter();
302 :
303 : private:
304 : ~nsThreadEventFilter();
305 :
306 : protected:
307 : /* additional members */
308 : };
309 :
310 : /* Implementation file */
311 : NS_IMPL_ISUPPORTS1(nsThreadEventFilter, nsIThreadEventFilter)
312 :
313 : nsThreadEventFilter::nsThreadEventFilter()
314 : {
315 : /* member initializers and constructor code */
316 : }
317 :
318 : nsThreadEventFilter::~nsThreadEventFilter()
319 : {
320 : /* destructor code */
321 : }
322 :
323 : /* [notxpcom] boolean acceptEvent (in nsIRunnable event); */
324 : NS_IMETHODIMP_(bool) nsThreadEventFilter::AcceptEvent(nsIRunnable *event)
325 : {
326 : return NS_ERROR_NOT_IMPLEMENTED;
327 : }
328 :
329 : /* End of implementation class template. */
330 : #endif
331 :
332 :
333 : #endif /* __gen_nsIThreadInternal_h__ */
|