Line data Source code
1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM ../../../dist/idl/nsICycleCollectorListener.idl
3 : */
4 :
5 : #ifndef __gen_nsICycleCollectorListener_h__
6 : #define __gen_nsICycleCollectorListener_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 : #include <stdio.h>
18 : class nsCycleCollectorLogger;
19 : class nsIFile; /* forward declaration */
20 :
21 :
22 : /* starting interface: nsICycleCollectorHandler */
23 : #define NS_ICYCLECOLLECTORHANDLER_IID_STR "7f093367-1492-4b89-87af-c01dbc831246"
24 :
25 : #define NS_ICYCLECOLLECTORHANDLER_IID \
26 : {0x7f093367, 0x1492, 0x4b89, \
27 : { 0x87, 0xaf, 0xc0, 0x1d, 0xbc, 0x83, 0x12, 0x46 }}
28 :
29 : class NS_NO_VTABLE nsICycleCollectorHandler : public nsISupports {
30 : public:
31 :
32 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICYCLECOLLECTORHANDLER_IID)
33 :
34 : /* void noteRefCountedObject (in ACString aAddress, in unsigned long aRefCount, in ACString aObjectDescription); */
35 : NS_IMETHOD NoteRefCountedObject(const nsACString & aAddress, uint32_t aRefCount, const nsACString & aObjectDescription) = 0;
36 :
37 : /* void noteGCedObject (in ACString aAddress, in boolean aMarked, in ACString aObjectDescription, in ACString aCompartmentAddress); */
38 : NS_IMETHOD NoteGCedObject(const nsACString & aAddress, bool aMarked, const nsACString & aObjectDescription, const nsACString & aCompartmentAddress) = 0;
39 :
40 : /* void noteEdge (in ACString aFromAddress, in ACString aToAddress, in ACString aEdgeName); */
41 : NS_IMETHOD NoteEdge(const nsACString & aFromAddress, const nsACString & aToAddress, const nsACString & aEdgeName) = 0;
42 :
43 : /* void describeRoot (in ACString aAddress, in unsigned long aKnownEdges); */
44 : NS_IMETHOD DescribeRoot(const nsACString & aAddress, uint32_t aKnownEdges) = 0;
45 :
46 : /* void describeGarbage (in ACString aAddress); */
47 : NS_IMETHOD DescribeGarbage(const nsACString & aAddress) = 0;
48 :
49 : };
50 :
51 : NS_DEFINE_STATIC_IID_ACCESSOR(nsICycleCollectorHandler, NS_ICYCLECOLLECTORHANDLER_IID)
52 :
53 : /* Use this macro when declaring classes that implement this interface. */
54 : #define NS_DECL_NSICYCLECOLLECTORHANDLER \
55 : NS_IMETHOD NoteRefCountedObject(const nsACString & aAddress, uint32_t aRefCount, const nsACString & aObjectDescription) override; \
56 : NS_IMETHOD NoteGCedObject(const nsACString & aAddress, bool aMarked, const nsACString & aObjectDescription, const nsACString & aCompartmentAddress) override; \
57 : NS_IMETHOD NoteEdge(const nsACString & aFromAddress, const nsACString & aToAddress, const nsACString & aEdgeName) override; \
58 : NS_IMETHOD DescribeRoot(const nsACString & aAddress, uint32_t aKnownEdges) override; \
59 : NS_IMETHOD DescribeGarbage(const nsACString & aAddress) override;
60 :
61 : /* Use this macro when declaring the members of this interface when the
62 : class doesn't implement the interface. This is useful for forwarding. */
63 : #define NS_DECL_NON_VIRTUAL_NSICYCLECOLLECTORHANDLER \
64 : nsresult NoteRefCountedObject(const nsACString & aAddress, uint32_t aRefCount, const nsACString & aObjectDescription); \
65 : nsresult NoteGCedObject(const nsACString & aAddress, bool aMarked, const nsACString & aObjectDescription, const nsACString & aCompartmentAddress); \
66 : nsresult NoteEdge(const nsACString & aFromAddress, const nsACString & aToAddress, const nsACString & aEdgeName); \
67 : nsresult DescribeRoot(const nsACString & aAddress, uint32_t aKnownEdges); \
68 : nsresult DescribeGarbage(const nsACString & aAddress);
69 :
70 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
71 : #define NS_FORWARD_NSICYCLECOLLECTORHANDLER(_to) \
72 : NS_IMETHOD NoteRefCountedObject(const nsACString & aAddress, uint32_t aRefCount, const nsACString & aObjectDescription) override { return _to NoteRefCountedObject(aAddress, aRefCount, aObjectDescription); } \
73 : NS_IMETHOD NoteGCedObject(const nsACString & aAddress, bool aMarked, const nsACString & aObjectDescription, const nsACString & aCompartmentAddress) override { return _to NoteGCedObject(aAddress, aMarked, aObjectDescription, aCompartmentAddress); } \
74 : NS_IMETHOD NoteEdge(const nsACString & aFromAddress, const nsACString & aToAddress, const nsACString & aEdgeName) override { return _to NoteEdge(aFromAddress, aToAddress, aEdgeName); } \
75 : NS_IMETHOD DescribeRoot(const nsACString & aAddress, uint32_t aKnownEdges) override { return _to DescribeRoot(aAddress, aKnownEdges); } \
76 : NS_IMETHOD DescribeGarbage(const nsACString & aAddress) override { return _to DescribeGarbage(aAddress); }
77 :
78 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
79 : #define NS_FORWARD_SAFE_NSICYCLECOLLECTORHANDLER(_to) \
80 : NS_IMETHOD NoteRefCountedObject(const nsACString & aAddress, uint32_t aRefCount, const nsACString & aObjectDescription) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NoteRefCountedObject(aAddress, aRefCount, aObjectDescription); } \
81 : NS_IMETHOD NoteGCedObject(const nsACString & aAddress, bool aMarked, const nsACString & aObjectDescription, const nsACString & aCompartmentAddress) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NoteGCedObject(aAddress, aMarked, aObjectDescription, aCompartmentAddress); } \
82 : NS_IMETHOD NoteEdge(const nsACString & aFromAddress, const nsACString & aToAddress, const nsACString & aEdgeName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NoteEdge(aFromAddress, aToAddress, aEdgeName); } \
83 : NS_IMETHOD DescribeRoot(const nsACString & aAddress, uint32_t aKnownEdges) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DescribeRoot(aAddress, aKnownEdges); } \
84 : NS_IMETHOD DescribeGarbage(const nsACString & aAddress) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DescribeGarbage(aAddress); }
85 :
86 : #if 0
87 : /* Use the code below as a template for the implementation class for this interface. */
88 :
89 : /* Header file */
90 : class nsCycleCollectorHandler : public nsICycleCollectorHandler
91 : {
92 : public:
93 : NS_DECL_ISUPPORTS
94 : NS_DECL_NSICYCLECOLLECTORHANDLER
95 :
96 : nsCycleCollectorHandler();
97 :
98 : private:
99 : ~nsCycleCollectorHandler();
100 :
101 : protected:
102 : /* additional members */
103 : };
104 :
105 : /* Implementation file */
106 : NS_IMPL_ISUPPORTS(nsCycleCollectorHandler, nsICycleCollectorHandler)
107 :
108 : nsCycleCollectorHandler::nsCycleCollectorHandler()
109 : {
110 : /* member initializers and constructor code */
111 : }
112 :
113 : nsCycleCollectorHandler::~nsCycleCollectorHandler()
114 : {
115 : /* destructor code */
116 : }
117 :
118 : /* void noteRefCountedObject (in ACString aAddress, in unsigned long aRefCount, in ACString aObjectDescription); */
119 : NS_IMETHODIMP nsCycleCollectorHandler::NoteRefCountedObject(const nsACString & aAddress, uint32_t aRefCount, const nsACString & aObjectDescription)
120 : {
121 : return NS_ERROR_NOT_IMPLEMENTED;
122 : }
123 :
124 : /* void noteGCedObject (in ACString aAddress, in boolean aMarked, in ACString aObjectDescription, in ACString aCompartmentAddress); */
125 : NS_IMETHODIMP nsCycleCollectorHandler::NoteGCedObject(const nsACString & aAddress, bool aMarked, const nsACString & aObjectDescription, const nsACString & aCompartmentAddress)
126 : {
127 : return NS_ERROR_NOT_IMPLEMENTED;
128 : }
129 :
130 : /* void noteEdge (in ACString aFromAddress, in ACString aToAddress, in ACString aEdgeName); */
131 : NS_IMETHODIMP nsCycleCollectorHandler::NoteEdge(const nsACString & aFromAddress, const nsACString & aToAddress, const nsACString & aEdgeName)
132 : {
133 : return NS_ERROR_NOT_IMPLEMENTED;
134 : }
135 :
136 : /* void describeRoot (in ACString aAddress, in unsigned long aKnownEdges); */
137 : NS_IMETHODIMP nsCycleCollectorHandler::DescribeRoot(const nsACString & aAddress, uint32_t aKnownEdges)
138 : {
139 : return NS_ERROR_NOT_IMPLEMENTED;
140 : }
141 :
142 : /* void describeGarbage (in ACString aAddress); */
143 : NS_IMETHODIMP nsCycleCollectorHandler::DescribeGarbage(const nsACString & aAddress)
144 : {
145 : return NS_ERROR_NOT_IMPLEMENTED;
146 : }
147 :
148 : /* End of implementation class template. */
149 : #endif
150 :
151 :
152 : /* starting interface: nsICycleCollectorLogSink */
153 : #define NS_ICYCLECOLLECTORLOGSINK_IID_STR "3ad9875f-d0e4-4ac2-87e3-f127f6c02ce1"
154 :
155 : #define NS_ICYCLECOLLECTORLOGSINK_IID \
156 : {0x3ad9875f, 0xd0e4, 0x4ac2, \
157 : { 0x87, 0xe3, 0xf1, 0x27, 0xf6, 0xc0, 0x2c, 0xe1 }}
158 :
159 0 : class NS_NO_VTABLE nsICycleCollectorLogSink : public nsISupports {
160 : public:
161 :
162 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICYCLECOLLECTORLOGSINK_IID)
163 :
164 : /* [noscript] void open (out FILE aGCLog, out FILE aCCLog); */
165 : NS_IMETHOD Open(FILE **aGCLog, FILE **aCCLog) = 0;
166 :
167 : /* void closeGCLog (); */
168 : NS_IMETHOD CloseGCLog(void) = 0;
169 :
170 : /* void closeCCLog (); */
171 : NS_IMETHOD CloseCCLog(void) = 0;
172 :
173 : /* attribute AString filenameIdentifier; */
174 : NS_IMETHOD GetFilenameIdentifier(nsAString & aFilenameIdentifier) = 0;
175 : NS_IMETHOD SetFilenameIdentifier(const nsAString & aFilenameIdentifier) = 0;
176 :
177 : /* attribute int32_t processIdentifier; */
178 : NS_IMETHOD GetProcessIdentifier(int32_t *aProcessIdentifier) = 0;
179 : NS_IMETHOD SetProcessIdentifier(int32_t aProcessIdentifier) = 0;
180 :
181 : /* readonly attribute nsIFile gcLog; */
182 : NS_IMETHOD GetGcLog(nsIFile * *aGcLog) = 0;
183 :
184 : /* readonly attribute nsIFile ccLog; */
185 : NS_IMETHOD GetCcLog(nsIFile * *aCcLog) = 0;
186 :
187 : };
188 :
189 : NS_DEFINE_STATIC_IID_ACCESSOR(nsICycleCollectorLogSink, NS_ICYCLECOLLECTORLOGSINK_IID)
190 :
191 : /* Use this macro when declaring classes that implement this interface. */
192 : #define NS_DECL_NSICYCLECOLLECTORLOGSINK \
193 : NS_IMETHOD Open(FILE **aGCLog, FILE **aCCLog) override; \
194 : NS_IMETHOD CloseGCLog(void) override; \
195 : NS_IMETHOD CloseCCLog(void) override; \
196 : NS_IMETHOD GetFilenameIdentifier(nsAString & aFilenameIdentifier) override; \
197 : NS_IMETHOD SetFilenameIdentifier(const nsAString & aFilenameIdentifier) override; \
198 : NS_IMETHOD GetProcessIdentifier(int32_t *aProcessIdentifier) override; \
199 : NS_IMETHOD SetProcessIdentifier(int32_t aProcessIdentifier) override; \
200 : NS_IMETHOD GetGcLog(nsIFile * *aGcLog) override; \
201 : NS_IMETHOD GetCcLog(nsIFile * *aCcLog) override;
202 :
203 : /* Use this macro when declaring the members of this interface when the
204 : class doesn't implement the interface. This is useful for forwarding. */
205 : #define NS_DECL_NON_VIRTUAL_NSICYCLECOLLECTORLOGSINK \
206 : nsresult Open(FILE **aGCLog, FILE **aCCLog); \
207 : nsresult CloseGCLog(void); \
208 : nsresult CloseCCLog(void); \
209 : nsresult GetFilenameIdentifier(nsAString & aFilenameIdentifier); \
210 : nsresult SetFilenameIdentifier(const nsAString & aFilenameIdentifier); \
211 : nsresult GetProcessIdentifier(int32_t *aProcessIdentifier); \
212 : nsresult SetProcessIdentifier(int32_t aProcessIdentifier); \
213 : nsresult GetGcLog(nsIFile * *aGcLog); \
214 : nsresult GetCcLog(nsIFile * *aCcLog);
215 :
216 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
217 : #define NS_FORWARD_NSICYCLECOLLECTORLOGSINK(_to) \
218 : NS_IMETHOD Open(FILE **aGCLog, FILE **aCCLog) override { return _to Open(aGCLog, aCCLog); } \
219 : NS_IMETHOD CloseGCLog(void) override { return _to CloseGCLog(); } \
220 : NS_IMETHOD CloseCCLog(void) override { return _to CloseCCLog(); } \
221 : NS_IMETHOD GetFilenameIdentifier(nsAString & aFilenameIdentifier) override { return _to GetFilenameIdentifier(aFilenameIdentifier); } \
222 : NS_IMETHOD SetFilenameIdentifier(const nsAString & aFilenameIdentifier) override { return _to SetFilenameIdentifier(aFilenameIdentifier); } \
223 : NS_IMETHOD GetProcessIdentifier(int32_t *aProcessIdentifier) override { return _to GetProcessIdentifier(aProcessIdentifier); } \
224 : NS_IMETHOD SetProcessIdentifier(int32_t aProcessIdentifier) override { return _to SetProcessIdentifier(aProcessIdentifier); } \
225 : NS_IMETHOD GetGcLog(nsIFile * *aGcLog) override { return _to GetGcLog(aGcLog); } \
226 : NS_IMETHOD GetCcLog(nsIFile * *aCcLog) override { return _to GetCcLog(aCcLog); }
227 :
228 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
229 : #define NS_FORWARD_SAFE_NSICYCLECOLLECTORLOGSINK(_to) \
230 : NS_IMETHOD Open(FILE **aGCLog, FILE **aCCLog) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Open(aGCLog, aCCLog); } \
231 : NS_IMETHOD CloseGCLog(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CloseGCLog(); } \
232 : NS_IMETHOD CloseCCLog(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CloseCCLog(); } \
233 : NS_IMETHOD GetFilenameIdentifier(nsAString & aFilenameIdentifier) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFilenameIdentifier(aFilenameIdentifier); } \
234 : NS_IMETHOD SetFilenameIdentifier(const nsAString & aFilenameIdentifier) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFilenameIdentifier(aFilenameIdentifier); } \
235 : NS_IMETHOD GetProcessIdentifier(int32_t *aProcessIdentifier) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProcessIdentifier(aProcessIdentifier); } \
236 : NS_IMETHOD SetProcessIdentifier(int32_t aProcessIdentifier) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetProcessIdentifier(aProcessIdentifier); } \
237 : NS_IMETHOD GetGcLog(nsIFile * *aGcLog) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGcLog(aGcLog); } \
238 : NS_IMETHOD GetCcLog(nsIFile * *aCcLog) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCcLog(aCcLog); }
239 :
240 : #if 0
241 : /* Use the code below as a template for the implementation class for this interface. */
242 :
243 : /* Header file */
244 : class nsCycleCollectorLogSink : public nsICycleCollectorLogSink
245 : {
246 : public:
247 : NS_DECL_ISUPPORTS
248 : NS_DECL_NSICYCLECOLLECTORLOGSINK
249 :
250 : nsCycleCollectorLogSink();
251 :
252 : private:
253 : ~nsCycleCollectorLogSink();
254 :
255 : protected:
256 : /* additional members */
257 : };
258 :
259 : /* Implementation file */
260 : NS_IMPL_ISUPPORTS(nsCycleCollectorLogSink, nsICycleCollectorLogSink)
261 :
262 : nsCycleCollectorLogSink::nsCycleCollectorLogSink()
263 : {
264 : /* member initializers and constructor code */
265 : }
266 :
267 : nsCycleCollectorLogSink::~nsCycleCollectorLogSink()
268 : {
269 : /* destructor code */
270 : }
271 :
272 : /* [noscript] void open (out FILE aGCLog, out FILE aCCLog); */
273 : NS_IMETHODIMP nsCycleCollectorLogSink::Open(FILE **aGCLog, FILE **aCCLog)
274 : {
275 : return NS_ERROR_NOT_IMPLEMENTED;
276 : }
277 :
278 : /* void closeGCLog (); */
279 : NS_IMETHODIMP nsCycleCollectorLogSink::CloseGCLog()
280 : {
281 : return NS_ERROR_NOT_IMPLEMENTED;
282 : }
283 :
284 : /* void closeCCLog (); */
285 : NS_IMETHODIMP nsCycleCollectorLogSink::CloseCCLog()
286 : {
287 : return NS_ERROR_NOT_IMPLEMENTED;
288 : }
289 :
290 : /* attribute AString filenameIdentifier; */
291 : NS_IMETHODIMP nsCycleCollectorLogSink::GetFilenameIdentifier(nsAString & aFilenameIdentifier)
292 : {
293 : return NS_ERROR_NOT_IMPLEMENTED;
294 : }
295 : NS_IMETHODIMP nsCycleCollectorLogSink::SetFilenameIdentifier(const nsAString & aFilenameIdentifier)
296 : {
297 : return NS_ERROR_NOT_IMPLEMENTED;
298 : }
299 :
300 : /* attribute int32_t processIdentifier; */
301 : NS_IMETHODIMP nsCycleCollectorLogSink::GetProcessIdentifier(int32_t *aProcessIdentifier)
302 : {
303 : return NS_ERROR_NOT_IMPLEMENTED;
304 : }
305 : NS_IMETHODIMP nsCycleCollectorLogSink::SetProcessIdentifier(int32_t aProcessIdentifier)
306 : {
307 : return NS_ERROR_NOT_IMPLEMENTED;
308 : }
309 :
310 : /* readonly attribute nsIFile gcLog; */
311 : NS_IMETHODIMP nsCycleCollectorLogSink::GetGcLog(nsIFile * *aGcLog)
312 : {
313 : return NS_ERROR_NOT_IMPLEMENTED;
314 : }
315 :
316 : /* readonly attribute nsIFile ccLog; */
317 : NS_IMETHODIMP nsCycleCollectorLogSink::GetCcLog(nsIFile * *aCcLog)
318 : {
319 : return NS_ERROR_NOT_IMPLEMENTED;
320 : }
321 :
322 : /* End of implementation class template. */
323 : #endif
324 :
325 :
326 : /* starting interface: nsICycleCollectorListener */
327 : #define NS_ICYCLECOLLECTORLISTENER_IID_STR "703b53b6-24f6-40c6-9ea9-aeb2dc53d170"
328 :
329 : #define NS_ICYCLECOLLECTORLISTENER_IID \
330 : {0x703b53b6, 0x24f6, 0x40c6, \
331 : { 0x9e, 0xa9, 0xae, 0xb2, 0xdc, 0x53, 0xd1, 0x70 }}
332 :
333 0 : class NS_NO_VTABLE nsICycleCollectorListener : public nsISupports {
334 : public:
335 :
336 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICYCLECOLLECTORLISTENER_IID)
337 :
338 : /* nsICycleCollectorListener allTraces (); */
339 : NS_IMETHOD AllTraces(nsICycleCollectorListener * *_retval) = 0;
340 :
341 : /* readonly attribute boolean wantAllTraces; */
342 : NS_IMETHOD GetWantAllTraces(bool *aWantAllTraces) = 0;
343 :
344 : /* attribute boolean disableLog; */
345 : NS_IMETHOD GetDisableLog(bool *aDisableLog) = 0;
346 : NS_IMETHOD SetDisableLog(bool aDisableLog) = 0;
347 :
348 : /* attribute nsICycleCollectorLogSink logSink; */
349 : NS_IMETHOD GetLogSink(nsICycleCollectorLogSink * *aLogSink) = 0;
350 : NS_IMETHOD SetLogSink(nsICycleCollectorLogSink *aLogSink) = 0;
351 :
352 : /* attribute boolean wantAfterProcessing; */
353 : NS_IMETHOD GetWantAfterProcessing(bool *aWantAfterProcessing) = 0;
354 : NS_IMETHOD SetWantAfterProcessing(bool aWantAfterProcessing) = 0;
355 :
356 : /* boolean processNext (in nsICycleCollectorHandler aHandler); */
357 : NS_IMETHOD ProcessNext(nsICycleCollectorHandler *aHandler, bool *_retval) = 0;
358 :
359 : /* [noscript] nsCycleCollectorLoggerPtr asLogger (); */
360 : NS_IMETHOD AsLogger(nsCycleCollectorLogger **_retval) = 0;
361 :
362 : };
363 :
364 : NS_DEFINE_STATIC_IID_ACCESSOR(nsICycleCollectorListener, NS_ICYCLECOLLECTORLISTENER_IID)
365 :
366 : /* Use this macro when declaring classes that implement this interface. */
367 : #define NS_DECL_NSICYCLECOLLECTORLISTENER \
368 : NS_IMETHOD AllTraces(nsICycleCollectorListener * *_retval) override; \
369 : NS_IMETHOD GetWantAllTraces(bool *aWantAllTraces) override; \
370 : NS_IMETHOD GetDisableLog(bool *aDisableLog) override; \
371 : NS_IMETHOD SetDisableLog(bool aDisableLog) override; \
372 : NS_IMETHOD GetLogSink(nsICycleCollectorLogSink * *aLogSink) override; \
373 : NS_IMETHOD SetLogSink(nsICycleCollectorLogSink *aLogSink) override; \
374 : NS_IMETHOD GetWantAfterProcessing(bool *aWantAfterProcessing) override; \
375 : NS_IMETHOD SetWantAfterProcessing(bool aWantAfterProcessing) override; \
376 : NS_IMETHOD ProcessNext(nsICycleCollectorHandler *aHandler, bool *_retval) override; \
377 : NS_IMETHOD AsLogger(nsCycleCollectorLogger **_retval) override;
378 :
379 : /* Use this macro when declaring the members of this interface when the
380 : class doesn't implement the interface. This is useful for forwarding. */
381 : #define NS_DECL_NON_VIRTUAL_NSICYCLECOLLECTORLISTENER \
382 : nsresult AllTraces(nsICycleCollectorListener * *_retval); \
383 : nsresult GetWantAllTraces(bool *aWantAllTraces); \
384 : nsresult GetDisableLog(bool *aDisableLog); \
385 : nsresult SetDisableLog(bool aDisableLog); \
386 : nsresult GetLogSink(nsICycleCollectorLogSink * *aLogSink); \
387 : nsresult SetLogSink(nsICycleCollectorLogSink *aLogSink); \
388 : nsresult GetWantAfterProcessing(bool *aWantAfterProcessing); \
389 : nsresult SetWantAfterProcessing(bool aWantAfterProcessing); \
390 : nsresult ProcessNext(nsICycleCollectorHandler *aHandler, bool *_retval); \
391 : nsresult AsLogger(nsCycleCollectorLogger **_retval);
392 :
393 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
394 : #define NS_FORWARD_NSICYCLECOLLECTORLISTENER(_to) \
395 : NS_IMETHOD AllTraces(nsICycleCollectorListener * *_retval) override { return _to AllTraces(_retval); } \
396 : NS_IMETHOD GetWantAllTraces(bool *aWantAllTraces) override { return _to GetWantAllTraces(aWantAllTraces); } \
397 : NS_IMETHOD GetDisableLog(bool *aDisableLog) override { return _to GetDisableLog(aDisableLog); } \
398 : NS_IMETHOD SetDisableLog(bool aDisableLog) override { return _to SetDisableLog(aDisableLog); } \
399 : NS_IMETHOD GetLogSink(nsICycleCollectorLogSink * *aLogSink) override { return _to GetLogSink(aLogSink); } \
400 : NS_IMETHOD SetLogSink(nsICycleCollectorLogSink *aLogSink) override { return _to SetLogSink(aLogSink); } \
401 : NS_IMETHOD GetWantAfterProcessing(bool *aWantAfterProcessing) override { return _to GetWantAfterProcessing(aWantAfterProcessing); } \
402 : NS_IMETHOD SetWantAfterProcessing(bool aWantAfterProcessing) override { return _to SetWantAfterProcessing(aWantAfterProcessing); } \
403 : NS_IMETHOD ProcessNext(nsICycleCollectorHandler *aHandler, bool *_retval) override { return _to ProcessNext(aHandler, _retval); } \
404 : NS_IMETHOD AsLogger(nsCycleCollectorLogger **_retval) override { return _to AsLogger(_retval); }
405 :
406 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
407 : #define NS_FORWARD_SAFE_NSICYCLECOLLECTORLISTENER(_to) \
408 : NS_IMETHOD AllTraces(nsICycleCollectorListener * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AllTraces(_retval); } \
409 : NS_IMETHOD GetWantAllTraces(bool *aWantAllTraces) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWantAllTraces(aWantAllTraces); } \
410 : NS_IMETHOD GetDisableLog(bool *aDisableLog) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDisableLog(aDisableLog); } \
411 : NS_IMETHOD SetDisableLog(bool aDisableLog) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDisableLog(aDisableLog); } \
412 : NS_IMETHOD GetLogSink(nsICycleCollectorLogSink * *aLogSink) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLogSink(aLogSink); } \
413 : NS_IMETHOD SetLogSink(nsICycleCollectorLogSink *aLogSink) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLogSink(aLogSink); } \
414 : NS_IMETHOD GetWantAfterProcessing(bool *aWantAfterProcessing) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWantAfterProcessing(aWantAfterProcessing); } \
415 : NS_IMETHOD SetWantAfterProcessing(bool aWantAfterProcessing) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetWantAfterProcessing(aWantAfterProcessing); } \
416 : NS_IMETHOD ProcessNext(nsICycleCollectorHandler *aHandler, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ProcessNext(aHandler, _retval); } \
417 : NS_IMETHOD AsLogger(nsCycleCollectorLogger **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AsLogger(_retval); }
418 :
419 : #if 0
420 : /* Use the code below as a template for the implementation class for this interface. */
421 :
422 : /* Header file */
423 : class nsCycleCollectorListener : public nsICycleCollectorListener
424 : {
425 : public:
426 : NS_DECL_ISUPPORTS
427 : NS_DECL_NSICYCLECOLLECTORLISTENER
428 :
429 : nsCycleCollectorListener();
430 :
431 : private:
432 : ~nsCycleCollectorListener();
433 :
434 : protected:
435 : /* additional members */
436 : };
437 :
438 : /* Implementation file */
439 : NS_IMPL_ISUPPORTS(nsCycleCollectorListener, nsICycleCollectorListener)
440 :
441 : nsCycleCollectorListener::nsCycleCollectorListener()
442 : {
443 : /* member initializers and constructor code */
444 : }
445 :
446 : nsCycleCollectorListener::~nsCycleCollectorListener()
447 : {
448 : /* destructor code */
449 : }
450 :
451 : /* nsICycleCollectorListener allTraces (); */
452 : NS_IMETHODIMP nsCycleCollectorListener::AllTraces(nsICycleCollectorListener * *_retval)
453 : {
454 : return NS_ERROR_NOT_IMPLEMENTED;
455 : }
456 :
457 : /* readonly attribute boolean wantAllTraces; */
458 : NS_IMETHODIMP nsCycleCollectorListener::GetWantAllTraces(bool *aWantAllTraces)
459 : {
460 : return NS_ERROR_NOT_IMPLEMENTED;
461 : }
462 :
463 : /* attribute boolean disableLog; */
464 : NS_IMETHODIMP nsCycleCollectorListener::GetDisableLog(bool *aDisableLog)
465 : {
466 : return NS_ERROR_NOT_IMPLEMENTED;
467 : }
468 : NS_IMETHODIMP nsCycleCollectorListener::SetDisableLog(bool aDisableLog)
469 : {
470 : return NS_ERROR_NOT_IMPLEMENTED;
471 : }
472 :
473 : /* attribute nsICycleCollectorLogSink logSink; */
474 : NS_IMETHODIMP nsCycleCollectorListener::GetLogSink(nsICycleCollectorLogSink * *aLogSink)
475 : {
476 : return NS_ERROR_NOT_IMPLEMENTED;
477 : }
478 : NS_IMETHODIMP nsCycleCollectorListener::SetLogSink(nsICycleCollectorLogSink *aLogSink)
479 : {
480 : return NS_ERROR_NOT_IMPLEMENTED;
481 : }
482 :
483 : /* attribute boolean wantAfterProcessing; */
484 : NS_IMETHODIMP nsCycleCollectorListener::GetWantAfterProcessing(bool *aWantAfterProcessing)
485 : {
486 : return NS_ERROR_NOT_IMPLEMENTED;
487 : }
488 : NS_IMETHODIMP nsCycleCollectorListener::SetWantAfterProcessing(bool aWantAfterProcessing)
489 : {
490 : return NS_ERROR_NOT_IMPLEMENTED;
491 : }
492 :
493 : /* boolean processNext (in nsICycleCollectorHandler aHandler); */
494 : NS_IMETHODIMP nsCycleCollectorListener::ProcessNext(nsICycleCollectorHandler *aHandler, bool *_retval)
495 : {
496 : return NS_ERROR_NOT_IMPLEMENTED;
497 : }
498 :
499 : /* [noscript] nsCycleCollectorLoggerPtr asLogger (); */
500 : NS_IMETHODIMP nsCycleCollectorListener::AsLogger(nsCycleCollectorLogger **_retval)
501 : {
502 : return NS_ERROR_NOT_IMPLEMENTED;
503 : }
504 :
505 : /* End of implementation class template. */
506 : #endif
507 :
508 :
509 : #endif /* __gen_nsICycleCollectorListener_h__ */
|