Line data Source code
1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM ../../../dist/idl/nsIThreadManager.idl
3 : */
4 :
5 : #ifndef __gen_nsIThreadManager_h__
6 : #define __gen_nsIThreadManager_h__
7 :
8 :
9 : #ifndef __gen_nsISupports_h__
10 : #include "nsISupports.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 nsIRunnable; /* forward declaration */
18 :
19 : class nsIThread; /* forward declaration */
20 :
21 :
22 : /* starting interface: nsINestedEventLoopCondition */
23 : #define NS_INESTEDEVENTLOOPCONDITION_IID_STR "039a227d-0cb7-44a5-a8f9-dbb7071979f2"
24 :
25 : #define NS_INESTEDEVENTLOOPCONDITION_IID \
26 : {0x039a227d, 0x0cb7, 0x44a5, \
27 : { 0xa8, 0xf9, 0xdb, 0xb7, 0x07, 0x19, 0x79, 0xf2 }}
28 :
29 : class NS_NO_VTABLE nsINestedEventLoopCondition : public nsISupports {
30 : public:
31 :
32 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_INESTEDEVENTLOOPCONDITION_IID)
33 :
34 : /* bool isDone (); */
35 : NS_IMETHOD IsDone(bool *_retval) = 0;
36 :
37 : };
38 :
39 : NS_DEFINE_STATIC_IID_ACCESSOR(nsINestedEventLoopCondition, NS_INESTEDEVENTLOOPCONDITION_IID)
40 :
41 : /* Use this macro when declaring classes that implement this interface. */
42 : #define NS_DECL_NSINESTEDEVENTLOOPCONDITION \
43 : NS_IMETHOD IsDone(bool *_retval) override;
44 :
45 : /* Use this macro when declaring the members of this interface when the
46 : class doesn't implement the interface. This is useful for forwarding. */
47 : #define NS_DECL_NON_VIRTUAL_NSINESTEDEVENTLOOPCONDITION \
48 : nsresult IsDone(bool *_retval);
49 :
50 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
51 : #define NS_FORWARD_NSINESTEDEVENTLOOPCONDITION(_to) \
52 : NS_IMETHOD IsDone(bool *_retval) override { return _to IsDone(_retval); }
53 :
54 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
55 : #define NS_FORWARD_SAFE_NSINESTEDEVENTLOOPCONDITION(_to) \
56 : NS_IMETHOD IsDone(bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsDone(_retval); }
57 :
58 : #if 0
59 : /* Use the code below as a template for the implementation class for this interface. */
60 :
61 : /* Header file */
62 : class nsNestedEventLoopCondition : public nsINestedEventLoopCondition
63 : {
64 : public:
65 : NS_DECL_ISUPPORTS
66 : NS_DECL_NSINESTEDEVENTLOOPCONDITION
67 :
68 : nsNestedEventLoopCondition();
69 :
70 : private:
71 : ~nsNestedEventLoopCondition();
72 :
73 : protected:
74 : /* additional members */
75 : };
76 :
77 : /* Implementation file */
78 : NS_IMPL_ISUPPORTS(nsNestedEventLoopCondition, nsINestedEventLoopCondition)
79 :
80 : nsNestedEventLoopCondition::nsNestedEventLoopCondition()
81 : {
82 : /* member initializers and constructor code */
83 : }
84 :
85 : nsNestedEventLoopCondition::~nsNestedEventLoopCondition()
86 : {
87 : /* destructor code */
88 : }
89 :
90 : /* bool isDone (); */
91 : NS_IMETHODIMP nsNestedEventLoopCondition::IsDone(bool *_retval)
92 : {
93 : return NS_ERROR_NOT_IMPLEMENTED;
94 : }
95 :
96 : /* End of implementation class template. */
97 : #endif
98 :
99 :
100 : /* starting interface: nsIThreadManager */
101 : #define NS_ITHREADMANAGER_IID_STR "1be89eca-e2f7-453b-8d38-c11ba247f6f3"
102 :
103 : #define NS_ITHREADMANAGER_IID \
104 : {0x1be89eca, 0xe2f7, 0x453b, \
105 : { 0x8d, 0x38, 0xc1, 0x1b, 0xa2, 0x47, 0xf6, 0xf3 }}
106 :
107 3 : class NS_NO_VTABLE nsIThreadManager : public nsISupports {
108 : public:
109 :
110 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITHREADMANAGER_IID)
111 :
112 : enum {
113 : DEFAULT_STACK_SIZE = 0U
114 : };
115 :
116 : /* nsIThread newThread (in unsigned long creationFlags, [optional] in unsigned long stackSize); */
117 : NS_IMETHOD NewThread(uint32_t creationFlags, uint32_t stackSize, nsIThread * *_retval) = 0;
118 :
119 : /* [noscript] nsIThread newNamedThread (in ACString name, [optional] in unsigned long stackSize); */
120 : NS_IMETHOD NewNamedThread(const nsACString & name, uint32_t stackSize, nsIThread * *_retval) = 0;
121 :
122 : /* [noscript] nsIThread getThreadFromPRThread (in PRThread prthread); */
123 : NS_IMETHOD GetThreadFromPRThread(PRThread *prthread, nsIThread * *_retval) = 0;
124 :
125 : /* readonly attribute nsIThread mainThread; */
126 : NS_IMETHOD GetMainThread(nsIThread * *aMainThread) = 0;
127 :
128 : /* readonly attribute nsIThread currentThread; */
129 : NS_IMETHOD GetCurrentThread(nsIThread * *aCurrentThread) = 0;
130 :
131 : /* void dispatchToMainThread (in nsIRunnable event); */
132 : NS_IMETHOD DispatchToMainThread(nsIRunnable *event) = 0;
133 :
134 : /* void idleDispatchToMainThread (in nsIRunnable event, [optional] in uint32_t timeout); */
135 : NS_IMETHOD IdleDispatchToMainThread(nsIRunnable *event, uint32_t timeout) = 0;
136 :
137 : /* void spinEventLoopUntil (in nsINestedEventLoopCondition condition); */
138 : NS_IMETHOD SpinEventLoopUntil(nsINestedEventLoopCondition *condition) = 0;
139 :
140 : /* void spinEventLoopUntilEmpty (); */
141 : NS_IMETHOD SpinEventLoopUntilEmpty(void) = 0;
142 :
143 : };
144 :
145 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIThreadManager, NS_ITHREADMANAGER_IID)
146 :
147 : /* Use this macro when declaring classes that implement this interface. */
148 : #define NS_DECL_NSITHREADMANAGER \
149 : NS_IMETHOD NewThread(uint32_t creationFlags, uint32_t stackSize, nsIThread * *_retval) override; \
150 : NS_IMETHOD NewNamedThread(const nsACString & name, uint32_t stackSize, nsIThread * *_retval) override; \
151 : NS_IMETHOD GetThreadFromPRThread(PRThread *prthread, nsIThread * *_retval) override; \
152 : NS_IMETHOD GetMainThread(nsIThread * *aMainThread) override; \
153 : NS_IMETHOD GetCurrentThread(nsIThread * *aCurrentThread) override; \
154 : NS_IMETHOD DispatchToMainThread(nsIRunnable *event) override; \
155 : NS_IMETHOD IdleDispatchToMainThread(nsIRunnable *event, uint32_t timeout) override; \
156 : NS_IMETHOD SpinEventLoopUntil(nsINestedEventLoopCondition *condition) override; \
157 : NS_IMETHOD SpinEventLoopUntilEmpty(void) override;
158 :
159 : /* Use this macro when declaring the members of this interface when the
160 : class doesn't implement the interface. This is useful for forwarding. */
161 : #define NS_DECL_NON_VIRTUAL_NSITHREADMANAGER \
162 : nsresult NewThread(uint32_t creationFlags, uint32_t stackSize, nsIThread * *_retval); \
163 : nsresult NewNamedThread(const nsACString & name, uint32_t stackSize, nsIThread * *_retval); \
164 : nsresult GetThreadFromPRThread(PRThread *prthread, nsIThread * *_retval); \
165 : nsresult GetMainThread(nsIThread * *aMainThread); \
166 : nsresult GetCurrentThread(nsIThread * *aCurrentThread); \
167 : nsresult DispatchToMainThread(nsIRunnable *event); \
168 : nsresult IdleDispatchToMainThread(nsIRunnable *event, uint32_t timeout); \
169 : nsresult SpinEventLoopUntil(nsINestedEventLoopCondition *condition); \
170 : nsresult SpinEventLoopUntilEmpty(void);
171 :
172 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
173 : #define NS_FORWARD_NSITHREADMANAGER(_to) \
174 : NS_IMETHOD NewThread(uint32_t creationFlags, uint32_t stackSize, nsIThread * *_retval) override { return _to NewThread(creationFlags, stackSize, _retval); } \
175 : NS_IMETHOD NewNamedThread(const nsACString & name, uint32_t stackSize, nsIThread * *_retval) override { return _to NewNamedThread(name, stackSize, _retval); } \
176 : NS_IMETHOD GetThreadFromPRThread(PRThread *prthread, nsIThread * *_retval) override { return _to GetThreadFromPRThread(prthread, _retval); } \
177 : NS_IMETHOD GetMainThread(nsIThread * *aMainThread) override { return _to GetMainThread(aMainThread); } \
178 : NS_IMETHOD GetCurrentThread(nsIThread * *aCurrentThread) override { return _to GetCurrentThread(aCurrentThread); } \
179 : NS_IMETHOD DispatchToMainThread(nsIRunnable *event) override { return _to DispatchToMainThread(event); } \
180 : NS_IMETHOD IdleDispatchToMainThread(nsIRunnable *event, uint32_t timeout) override { return _to IdleDispatchToMainThread(event, timeout); } \
181 : NS_IMETHOD SpinEventLoopUntil(nsINestedEventLoopCondition *condition) override { return _to SpinEventLoopUntil(condition); } \
182 : NS_IMETHOD SpinEventLoopUntilEmpty(void) override { return _to SpinEventLoopUntilEmpty(); }
183 :
184 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
185 : #define NS_FORWARD_SAFE_NSITHREADMANAGER(_to) \
186 : NS_IMETHOD NewThread(uint32_t creationFlags, uint32_t stackSize, nsIThread * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NewThread(creationFlags, stackSize, _retval); } \
187 : NS_IMETHOD NewNamedThread(const nsACString & name, uint32_t stackSize, nsIThread * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NewNamedThread(name, stackSize, _retval); } \
188 : NS_IMETHOD GetThreadFromPRThread(PRThread *prthread, nsIThread * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetThreadFromPRThread(prthread, _retval); } \
189 : NS_IMETHOD GetMainThread(nsIThread * *aMainThread) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMainThread(aMainThread); } \
190 : NS_IMETHOD GetCurrentThread(nsIThread * *aCurrentThread) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCurrentThread(aCurrentThread); } \
191 : NS_IMETHOD DispatchToMainThread(nsIRunnable *event) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DispatchToMainThread(event); } \
192 : NS_IMETHOD IdleDispatchToMainThread(nsIRunnable *event, uint32_t timeout) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IdleDispatchToMainThread(event, timeout); } \
193 : NS_IMETHOD SpinEventLoopUntil(nsINestedEventLoopCondition *condition) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SpinEventLoopUntil(condition); } \
194 : NS_IMETHOD SpinEventLoopUntilEmpty(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SpinEventLoopUntilEmpty(); }
195 :
196 : #if 0
197 : /* Use the code below as a template for the implementation class for this interface. */
198 :
199 : /* Header file */
200 : class nsThreadManager : public nsIThreadManager
201 : {
202 : public:
203 : NS_DECL_ISUPPORTS
204 : NS_DECL_NSITHREADMANAGER
205 :
206 : nsThreadManager();
207 :
208 : private:
209 : ~nsThreadManager();
210 :
211 : protected:
212 : /* additional members */
213 : };
214 :
215 : /* Implementation file */
216 : NS_IMPL_ISUPPORTS(nsThreadManager, nsIThreadManager)
217 :
218 : nsThreadManager::nsThreadManager()
219 : {
220 : /* member initializers and constructor code */
221 : }
222 :
223 : nsThreadManager::~nsThreadManager()
224 : {
225 : /* destructor code */
226 : }
227 :
228 : /* nsIThread newThread (in unsigned long creationFlags, [optional] in unsigned long stackSize); */
229 : NS_IMETHODIMP nsThreadManager::NewThread(uint32_t creationFlags, uint32_t stackSize, nsIThread * *_retval)
230 : {
231 : return NS_ERROR_NOT_IMPLEMENTED;
232 : }
233 :
234 : /* [noscript] nsIThread newNamedThread (in ACString name, [optional] in unsigned long stackSize); */
235 : NS_IMETHODIMP nsThreadManager::NewNamedThread(const nsACString & name, uint32_t stackSize, nsIThread * *_retval)
236 : {
237 : return NS_ERROR_NOT_IMPLEMENTED;
238 : }
239 :
240 : /* [noscript] nsIThread getThreadFromPRThread (in PRThread prthread); */
241 : NS_IMETHODIMP nsThreadManager::GetThreadFromPRThread(PRThread *prthread, nsIThread * *_retval)
242 : {
243 : return NS_ERROR_NOT_IMPLEMENTED;
244 : }
245 :
246 : /* readonly attribute nsIThread mainThread; */
247 : NS_IMETHODIMP nsThreadManager::GetMainThread(nsIThread * *aMainThread)
248 : {
249 : return NS_ERROR_NOT_IMPLEMENTED;
250 : }
251 :
252 : /* readonly attribute nsIThread currentThread; */
253 : NS_IMETHODIMP nsThreadManager::GetCurrentThread(nsIThread * *aCurrentThread)
254 : {
255 : return NS_ERROR_NOT_IMPLEMENTED;
256 : }
257 :
258 : /* void dispatchToMainThread (in nsIRunnable event); */
259 : NS_IMETHODIMP nsThreadManager::DispatchToMainThread(nsIRunnable *event)
260 : {
261 : return NS_ERROR_NOT_IMPLEMENTED;
262 : }
263 :
264 : /* void idleDispatchToMainThread (in nsIRunnable event, [optional] in uint32_t timeout); */
265 : NS_IMETHODIMP nsThreadManager::IdleDispatchToMainThread(nsIRunnable *event, uint32_t timeout)
266 : {
267 : return NS_ERROR_NOT_IMPLEMENTED;
268 : }
269 :
270 : /* void spinEventLoopUntil (in nsINestedEventLoopCondition condition); */
271 : NS_IMETHODIMP nsThreadManager::SpinEventLoopUntil(nsINestedEventLoopCondition *condition)
272 : {
273 : return NS_ERROR_NOT_IMPLEMENTED;
274 : }
275 :
276 : /* void spinEventLoopUntilEmpty (); */
277 : NS_IMETHODIMP nsThreadManager::SpinEventLoopUntilEmpty()
278 : {
279 : return NS_ERROR_NOT_IMPLEMENTED;
280 : }
281 :
282 : /* End of implementation class template. */
283 : #endif
284 :
285 :
286 : #endif /* __gen_nsIThreadManager_h__ */
|