1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM /builds/slave/m-beta-lnx-codecoverage/build/js/jsd/idl/jsdIDebuggerService.idl
3 : */
4 :
5 : #ifndef __gen_jsdIDebuggerService_h__
6 : #define __gen_jsdIDebuggerService_h__
7 :
8 :
9 : #ifndef __gen_nsISupports_h__
10 : #include "nsISupports.h"
11 : #endif
12 :
13 : #include "jspubtd.h"
14 :
15 : /* For IDL files that don't want to include root IDL files. */
16 : #ifndef NS_NO_VTABLE
17 : #define NS_NO_VTABLE
18 : #endif
19 : #include "jsdebug.h"
20 : #include "nsAString.h"
21 : class jsdIDebuggerService; /* forward declaration */
22 :
23 : class jsdIFilter; /* forward declaration */
24 :
25 : class jsdINestCallback; /* forward declaration */
26 :
27 : class jsdIFilterEnumerator; /* forward declaration */
28 :
29 : class jsdIContextEnumerator; /* forward declaration */
30 :
31 : class jsdIScriptEnumerator; /* forward declaration */
32 :
33 : class jsdIScriptHook; /* forward declaration */
34 :
35 : class jsdIErrorHook; /* forward declaration */
36 :
37 : class jsdIExecutionHook; /* forward declaration */
38 :
39 : class jsdICallHook; /* forward declaration */
40 :
41 : class jsdIEphemeral; /* forward declaration */
42 :
43 : class jsdIContext; /* forward declaration */
44 :
45 : class jsdIStackFrame; /* forward declaration */
46 :
47 : class jsdIScript; /* forward declaration */
48 :
49 : class jsdIValue; /* forward declaration */
50 :
51 : class jsdIObject; /* forward declaration */
52 :
53 : class jsdIProperty; /* forward declaration */
54 :
55 : class jsdIActivationCallback; /* forward declaration */
56 :
57 :
58 : /* starting interface: jsdIDebuggerService */
59 : #define JSDIDEBUGGERSERVICE_IID_STR "9be5b327-6818-464d-9695-f33885fd8377"
60 :
61 : #define JSDIDEBUGGERSERVICE_IID \
62 : {0x9be5b327, 0x6818, 0x464d, \
63 : { 0x96, 0x95, 0xf3, 0x38, 0x85, 0xfd, 0x83, 0x77 }}
64 :
65 280 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIDebuggerService : public nsISupports {
66 : public:
67 :
68 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIDEBUGGERSERVICE_IID)
69 :
70 : /* [noscript] readonly attribute JSDContext JSDContext; */
71 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) = 0;
72 :
73 : /* attribute jsdIErrorHook errorHook; */
74 : NS_SCRIPTABLE NS_IMETHOD GetErrorHook(jsdIErrorHook * *aErrorHook) = 0;
75 : NS_SCRIPTABLE NS_IMETHOD SetErrorHook(jsdIErrorHook *aErrorHook) = 0;
76 :
77 : /* attribute jsdIScriptHook scriptHook; */
78 : NS_SCRIPTABLE NS_IMETHOD GetScriptHook(jsdIScriptHook * *aScriptHook) = 0;
79 : NS_SCRIPTABLE NS_IMETHOD SetScriptHook(jsdIScriptHook *aScriptHook) = 0;
80 :
81 : /* attribute jsdIExecutionHook breakpointHook; */
82 : NS_SCRIPTABLE NS_IMETHOD GetBreakpointHook(jsdIExecutionHook * *aBreakpointHook) = 0;
83 : NS_SCRIPTABLE NS_IMETHOD SetBreakpointHook(jsdIExecutionHook *aBreakpointHook) = 0;
84 :
85 : /* attribute jsdIExecutionHook debuggerHook; */
86 : NS_SCRIPTABLE NS_IMETHOD GetDebuggerHook(jsdIExecutionHook * *aDebuggerHook) = 0;
87 : NS_SCRIPTABLE NS_IMETHOD SetDebuggerHook(jsdIExecutionHook *aDebuggerHook) = 0;
88 :
89 : /* attribute jsdIExecutionHook debugHook; */
90 : NS_SCRIPTABLE NS_IMETHOD GetDebugHook(jsdIExecutionHook * *aDebugHook) = 0;
91 : NS_SCRIPTABLE NS_IMETHOD SetDebugHook(jsdIExecutionHook *aDebugHook) = 0;
92 :
93 : /* attribute jsdIExecutionHook interruptHook; */
94 : NS_SCRIPTABLE NS_IMETHOD GetInterruptHook(jsdIExecutionHook * *aInterruptHook) = 0;
95 : NS_SCRIPTABLE NS_IMETHOD SetInterruptHook(jsdIExecutionHook *aInterruptHook) = 0;
96 :
97 : /* attribute jsdIExecutionHook throwHook; */
98 : NS_SCRIPTABLE NS_IMETHOD GetThrowHook(jsdIExecutionHook * *aThrowHook) = 0;
99 : NS_SCRIPTABLE NS_IMETHOD SetThrowHook(jsdIExecutionHook *aThrowHook) = 0;
100 :
101 : /* attribute jsdICallHook topLevelHook; */
102 : NS_SCRIPTABLE NS_IMETHOD GetTopLevelHook(jsdICallHook * *aTopLevelHook) = 0;
103 : NS_SCRIPTABLE NS_IMETHOD SetTopLevelHook(jsdICallHook *aTopLevelHook) = 0;
104 :
105 : /* attribute jsdICallHook functionHook; */
106 : NS_SCRIPTABLE NS_IMETHOD GetFunctionHook(jsdICallHook * *aFunctionHook) = 0;
107 : NS_SCRIPTABLE NS_IMETHOD SetFunctionHook(jsdICallHook *aFunctionHook) = 0;
108 :
109 : enum {
110 : VERSION_1_0 = 100,
111 : VERSION_1_1 = 110,
112 : VERSION_1_2 = 120,
113 : VERSION_1_3 = 130,
114 : VERSION_1_4 = 140,
115 : VERSION_1_5 = 150,
116 : VERSION_DEFAULT = 0,
117 : VERSION_UNKNOWN = -1,
118 : ENABLE_NATIVE_FRAMES = 1U,
119 : PROFILE_WHEN_SET = 2U,
120 : DEBUG_WHEN_SET = 4U,
121 : COLLECT_PROFILE_DATA = 8U,
122 : HIDE_DISABLED_FRAMES = 16U,
123 : MASK_TOP_FRAME_ONLY = 32U,
124 : DISABLE_OBJECT_TRACE_RETIRED = 64U
125 : };
126 :
127 : /* attribute unsigned long flags; */
128 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) = 0;
129 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) = 0;
130 :
131 : /* readonly attribute unsigned long implementationMajor; */
132 : NS_SCRIPTABLE NS_IMETHOD GetImplementationMajor(PRUint32 *aImplementationMajor) = 0;
133 :
134 : /* readonly attribute unsigned long implementationMinor; */
135 : NS_SCRIPTABLE NS_IMETHOD GetImplementationMinor(PRUint32 *aImplementationMinor) = 0;
136 :
137 : /* readonly attribute AUTF8String implementationString; */
138 : NS_SCRIPTABLE NS_IMETHOD GetImplementationString(nsACString & aImplementationString) = 0;
139 :
140 : /* readonly attribute boolean isOn; */
141 : NS_SCRIPTABLE NS_IMETHOD GetIsOn(bool *aIsOn) = 0;
142 :
143 : /* void on (); */
144 : NS_SCRIPTABLE NS_IMETHOD On(void) = 0;
145 :
146 : /* void asyncOn (in jsdIActivationCallback callback); */
147 : NS_SCRIPTABLE NS_IMETHOD AsyncOn(jsdIActivationCallback *callback) = 0;
148 :
149 : /* [noscript] void activateDebugger (in JSRuntime rt); */
150 : NS_IMETHOD ActivateDebugger(JSRuntime *rt) = 0;
151 :
152 : /* [noscript] void deactivateDebugger (); */
153 : NS_IMETHOD DeactivateDebugger(void) = 0;
154 :
155 : /* [noscript] void recompileForDebugMode (in JSContext cx, in JSCompartment comp, in boolean mode); */
156 : NS_IMETHOD RecompileForDebugMode(JSContext *cx, JSCompartment *comp, bool mode) = 0;
157 :
158 : /* void off (); */
159 : NS_SCRIPTABLE NS_IMETHOD Off(void) = 0;
160 :
161 : /* readonly attribute unsigned long pauseDepth; */
162 : NS_SCRIPTABLE NS_IMETHOD GetPauseDepth(PRUint32 *aPauseDepth) = 0;
163 :
164 : /* unsigned long pause (); */
165 : NS_SCRIPTABLE NS_IMETHOD Pause(PRUint32 *_retval NS_OUTPARAM) = 0;
166 :
167 : /* unsigned long unPause (); */
168 : NS_SCRIPTABLE NS_IMETHOD UnPause(PRUint32 *_retval NS_OUTPARAM) = 0;
169 :
170 : /* void GC (); */
171 : NS_SCRIPTABLE NS_IMETHOD GC(void) = 0;
172 :
173 : /* void clearProfileData (); */
174 : NS_SCRIPTABLE NS_IMETHOD ClearProfileData(void) = 0;
175 :
176 : /* void insertFilter (in jsdIFilter filter, in jsdIFilter after); */
177 : NS_SCRIPTABLE NS_IMETHOD InsertFilter(jsdIFilter *filter, jsdIFilter *after) = 0;
178 :
179 : /* void appendFilter (in jsdIFilter filter); */
180 : NS_SCRIPTABLE NS_IMETHOD AppendFilter(jsdIFilter *filter) = 0;
181 :
182 : /* void removeFilter (in jsdIFilter filter); */
183 : NS_SCRIPTABLE NS_IMETHOD RemoveFilter(jsdIFilter *filter) = 0;
184 :
185 : /* void swapFilters (in jsdIFilter filter_a, in jsdIFilter filter_b); */
186 : NS_SCRIPTABLE NS_IMETHOD SwapFilters(jsdIFilter *filter_a, jsdIFilter *filter_b) = 0;
187 :
188 : /* void enumerateFilters (in jsdIFilterEnumerator enumerator); */
189 : NS_SCRIPTABLE NS_IMETHOD EnumerateFilters(jsdIFilterEnumerator *enumerator) = 0;
190 :
191 : /* void refreshFilters (); */
192 : NS_SCRIPTABLE NS_IMETHOD RefreshFilters(void) = 0;
193 :
194 : /* void clearFilters (); */
195 : NS_SCRIPTABLE NS_IMETHOD ClearFilters(void) = 0;
196 :
197 : /* void enumerateContexts (in jsdIContextEnumerator enumerator); */
198 : NS_SCRIPTABLE NS_IMETHOD EnumerateContexts(jsdIContextEnumerator *enumerator) = 0;
199 :
200 : /* void enumerateScripts (in jsdIScriptEnumerator enumerator); */
201 : NS_SCRIPTABLE NS_IMETHOD EnumerateScripts(jsdIScriptEnumerator *enumerator) = 0;
202 :
203 : /* void clearAllBreakpoints (); */
204 : NS_SCRIPTABLE NS_IMETHOD ClearAllBreakpoints(void) = 0;
205 :
206 : /* jsdIValue wrapValue (in jsval value); */
207 : NS_SCRIPTABLE NS_IMETHOD WrapValue(const JS::Value & value, jsdIValue * *_retval NS_OUTPARAM) = 0;
208 :
209 : /* unsigned long enterNestedEventLoop (in jsdINestCallback callback); */
210 : NS_SCRIPTABLE NS_IMETHOD EnterNestedEventLoop(jsdINestCallback *callback, PRUint32 *_retval NS_OUTPARAM) = 0;
211 :
212 : /* unsigned long exitNestedEventLoop (); */
213 : NS_SCRIPTABLE NS_IMETHOD ExitNestedEventLoop(PRUint32 *_retval NS_OUTPARAM) = 0;
214 :
215 : /* void dumpHeap (in AUTF8String fileName); */
216 : NS_SCRIPTABLE NS_IMETHOD DumpHeap(const nsACString & fileName) = 0;
217 :
218 : };
219 :
220 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIDebuggerService, JSDIDEBUGGERSERVICE_IID)
221 :
222 : /* Use this macro when declaring classes that implement this interface. */
223 : #define NS_DECL_JSDIDEBUGGERSERVICE \
224 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext); \
225 : NS_SCRIPTABLE NS_IMETHOD GetErrorHook(jsdIErrorHook * *aErrorHook); \
226 : NS_SCRIPTABLE NS_IMETHOD SetErrorHook(jsdIErrorHook *aErrorHook); \
227 : NS_SCRIPTABLE NS_IMETHOD GetScriptHook(jsdIScriptHook * *aScriptHook); \
228 : NS_SCRIPTABLE NS_IMETHOD SetScriptHook(jsdIScriptHook *aScriptHook); \
229 : NS_SCRIPTABLE NS_IMETHOD GetBreakpointHook(jsdIExecutionHook * *aBreakpointHook); \
230 : NS_SCRIPTABLE NS_IMETHOD SetBreakpointHook(jsdIExecutionHook *aBreakpointHook); \
231 : NS_SCRIPTABLE NS_IMETHOD GetDebuggerHook(jsdIExecutionHook * *aDebuggerHook); \
232 : NS_SCRIPTABLE NS_IMETHOD SetDebuggerHook(jsdIExecutionHook *aDebuggerHook); \
233 : NS_SCRIPTABLE NS_IMETHOD GetDebugHook(jsdIExecutionHook * *aDebugHook); \
234 : NS_SCRIPTABLE NS_IMETHOD SetDebugHook(jsdIExecutionHook *aDebugHook); \
235 : NS_SCRIPTABLE NS_IMETHOD GetInterruptHook(jsdIExecutionHook * *aInterruptHook); \
236 : NS_SCRIPTABLE NS_IMETHOD SetInterruptHook(jsdIExecutionHook *aInterruptHook); \
237 : NS_SCRIPTABLE NS_IMETHOD GetThrowHook(jsdIExecutionHook * *aThrowHook); \
238 : NS_SCRIPTABLE NS_IMETHOD SetThrowHook(jsdIExecutionHook *aThrowHook); \
239 : NS_SCRIPTABLE NS_IMETHOD GetTopLevelHook(jsdICallHook * *aTopLevelHook); \
240 : NS_SCRIPTABLE NS_IMETHOD SetTopLevelHook(jsdICallHook *aTopLevelHook); \
241 : NS_SCRIPTABLE NS_IMETHOD GetFunctionHook(jsdICallHook * *aFunctionHook); \
242 : NS_SCRIPTABLE NS_IMETHOD SetFunctionHook(jsdICallHook *aFunctionHook); \
243 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags); \
244 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags); \
245 : NS_SCRIPTABLE NS_IMETHOD GetImplementationMajor(PRUint32 *aImplementationMajor); \
246 : NS_SCRIPTABLE NS_IMETHOD GetImplementationMinor(PRUint32 *aImplementationMinor); \
247 : NS_SCRIPTABLE NS_IMETHOD GetImplementationString(nsACString & aImplementationString); \
248 : NS_SCRIPTABLE NS_IMETHOD GetIsOn(bool *aIsOn); \
249 : NS_SCRIPTABLE NS_IMETHOD On(void); \
250 : NS_SCRIPTABLE NS_IMETHOD AsyncOn(jsdIActivationCallback *callback); \
251 : NS_IMETHOD ActivateDebugger(JSRuntime *rt); \
252 : NS_IMETHOD DeactivateDebugger(void); \
253 : NS_IMETHOD RecompileForDebugMode(JSContext *cx, JSCompartment *comp, bool mode); \
254 : NS_SCRIPTABLE NS_IMETHOD Off(void); \
255 : NS_SCRIPTABLE NS_IMETHOD GetPauseDepth(PRUint32 *aPauseDepth); \
256 : NS_SCRIPTABLE NS_IMETHOD Pause(PRUint32 *_retval NS_OUTPARAM); \
257 : NS_SCRIPTABLE NS_IMETHOD UnPause(PRUint32 *_retval NS_OUTPARAM); \
258 : NS_SCRIPTABLE NS_IMETHOD GC(void); \
259 : NS_SCRIPTABLE NS_IMETHOD ClearProfileData(void); \
260 : NS_SCRIPTABLE NS_IMETHOD InsertFilter(jsdIFilter *filter, jsdIFilter *after); \
261 : NS_SCRIPTABLE NS_IMETHOD AppendFilter(jsdIFilter *filter); \
262 : NS_SCRIPTABLE NS_IMETHOD RemoveFilter(jsdIFilter *filter); \
263 : NS_SCRIPTABLE NS_IMETHOD SwapFilters(jsdIFilter *filter_a, jsdIFilter *filter_b); \
264 : NS_SCRIPTABLE NS_IMETHOD EnumerateFilters(jsdIFilterEnumerator *enumerator); \
265 : NS_SCRIPTABLE NS_IMETHOD RefreshFilters(void); \
266 : NS_SCRIPTABLE NS_IMETHOD ClearFilters(void); \
267 : NS_SCRIPTABLE NS_IMETHOD EnumerateContexts(jsdIContextEnumerator *enumerator); \
268 : NS_SCRIPTABLE NS_IMETHOD EnumerateScripts(jsdIScriptEnumerator *enumerator); \
269 : NS_SCRIPTABLE NS_IMETHOD ClearAllBreakpoints(void); \
270 : NS_SCRIPTABLE NS_IMETHOD WrapValue(const JS::Value & value, jsdIValue * *_retval NS_OUTPARAM); \
271 : NS_SCRIPTABLE NS_IMETHOD EnterNestedEventLoop(jsdINestCallback *callback, PRUint32 *_retval NS_OUTPARAM); \
272 : NS_SCRIPTABLE NS_IMETHOD ExitNestedEventLoop(PRUint32 *_retval NS_OUTPARAM); \
273 : NS_SCRIPTABLE NS_IMETHOD DumpHeap(const nsACString & fileName);
274 :
275 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
276 : #define NS_FORWARD_JSDIDEBUGGERSERVICE(_to) \
277 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return _to GetJSDContext(aJSDContext); } \
278 : NS_SCRIPTABLE NS_IMETHOD GetErrorHook(jsdIErrorHook * *aErrorHook) { return _to GetErrorHook(aErrorHook); } \
279 : NS_SCRIPTABLE NS_IMETHOD SetErrorHook(jsdIErrorHook *aErrorHook) { return _to SetErrorHook(aErrorHook); } \
280 : NS_SCRIPTABLE NS_IMETHOD GetScriptHook(jsdIScriptHook * *aScriptHook) { return _to GetScriptHook(aScriptHook); } \
281 : NS_SCRIPTABLE NS_IMETHOD SetScriptHook(jsdIScriptHook *aScriptHook) { return _to SetScriptHook(aScriptHook); } \
282 : NS_SCRIPTABLE NS_IMETHOD GetBreakpointHook(jsdIExecutionHook * *aBreakpointHook) { return _to GetBreakpointHook(aBreakpointHook); } \
283 : NS_SCRIPTABLE NS_IMETHOD SetBreakpointHook(jsdIExecutionHook *aBreakpointHook) { return _to SetBreakpointHook(aBreakpointHook); } \
284 : NS_SCRIPTABLE NS_IMETHOD GetDebuggerHook(jsdIExecutionHook * *aDebuggerHook) { return _to GetDebuggerHook(aDebuggerHook); } \
285 : NS_SCRIPTABLE NS_IMETHOD SetDebuggerHook(jsdIExecutionHook *aDebuggerHook) { return _to SetDebuggerHook(aDebuggerHook); } \
286 : NS_SCRIPTABLE NS_IMETHOD GetDebugHook(jsdIExecutionHook * *aDebugHook) { return _to GetDebugHook(aDebugHook); } \
287 : NS_SCRIPTABLE NS_IMETHOD SetDebugHook(jsdIExecutionHook *aDebugHook) { return _to SetDebugHook(aDebugHook); } \
288 : NS_SCRIPTABLE NS_IMETHOD GetInterruptHook(jsdIExecutionHook * *aInterruptHook) { return _to GetInterruptHook(aInterruptHook); } \
289 : NS_SCRIPTABLE NS_IMETHOD SetInterruptHook(jsdIExecutionHook *aInterruptHook) { return _to SetInterruptHook(aInterruptHook); } \
290 : NS_SCRIPTABLE NS_IMETHOD GetThrowHook(jsdIExecutionHook * *aThrowHook) { return _to GetThrowHook(aThrowHook); } \
291 : NS_SCRIPTABLE NS_IMETHOD SetThrowHook(jsdIExecutionHook *aThrowHook) { return _to SetThrowHook(aThrowHook); } \
292 : NS_SCRIPTABLE NS_IMETHOD GetTopLevelHook(jsdICallHook * *aTopLevelHook) { return _to GetTopLevelHook(aTopLevelHook); } \
293 : NS_SCRIPTABLE NS_IMETHOD SetTopLevelHook(jsdICallHook *aTopLevelHook) { return _to SetTopLevelHook(aTopLevelHook); } \
294 : NS_SCRIPTABLE NS_IMETHOD GetFunctionHook(jsdICallHook * *aFunctionHook) { return _to GetFunctionHook(aFunctionHook); } \
295 : NS_SCRIPTABLE NS_IMETHOD SetFunctionHook(jsdICallHook *aFunctionHook) { return _to SetFunctionHook(aFunctionHook); } \
296 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return _to GetFlags(aFlags); } \
297 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) { return _to SetFlags(aFlags); } \
298 : NS_SCRIPTABLE NS_IMETHOD GetImplementationMajor(PRUint32 *aImplementationMajor) { return _to GetImplementationMajor(aImplementationMajor); } \
299 : NS_SCRIPTABLE NS_IMETHOD GetImplementationMinor(PRUint32 *aImplementationMinor) { return _to GetImplementationMinor(aImplementationMinor); } \
300 : NS_SCRIPTABLE NS_IMETHOD GetImplementationString(nsACString & aImplementationString) { return _to GetImplementationString(aImplementationString); } \
301 : NS_SCRIPTABLE NS_IMETHOD GetIsOn(bool *aIsOn) { return _to GetIsOn(aIsOn); } \
302 : NS_SCRIPTABLE NS_IMETHOD On(void) { return _to On(); } \
303 : NS_SCRIPTABLE NS_IMETHOD AsyncOn(jsdIActivationCallback *callback) { return _to AsyncOn(callback); } \
304 : NS_IMETHOD ActivateDebugger(JSRuntime *rt) { return _to ActivateDebugger(rt); } \
305 : NS_IMETHOD DeactivateDebugger(void) { return _to DeactivateDebugger(); } \
306 : NS_IMETHOD RecompileForDebugMode(JSContext *cx, JSCompartment *comp, bool mode) { return _to RecompileForDebugMode(cx, comp, mode); } \
307 : NS_SCRIPTABLE NS_IMETHOD Off(void) { return _to Off(); } \
308 : NS_SCRIPTABLE NS_IMETHOD GetPauseDepth(PRUint32 *aPauseDepth) { return _to GetPauseDepth(aPauseDepth); } \
309 : NS_SCRIPTABLE NS_IMETHOD Pause(PRUint32 *_retval NS_OUTPARAM) { return _to Pause(_retval); } \
310 : NS_SCRIPTABLE NS_IMETHOD UnPause(PRUint32 *_retval NS_OUTPARAM) { return _to UnPause(_retval); } \
311 : NS_SCRIPTABLE NS_IMETHOD GC(void) { return _to GC(); } \
312 : NS_SCRIPTABLE NS_IMETHOD ClearProfileData(void) { return _to ClearProfileData(); } \
313 : NS_SCRIPTABLE NS_IMETHOD InsertFilter(jsdIFilter *filter, jsdIFilter *after) { return _to InsertFilter(filter, after); } \
314 : NS_SCRIPTABLE NS_IMETHOD AppendFilter(jsdIFilter *filter) { return _to AppendFilter(filter); } \
315 : NS_SCRIPTABLE NS_IMETHOD RemoveFilter(jsdIFilter *filter) { return _to RemoveFilter(filter); } \
316 : NS_SCRIPTABLE NS_IMETHOD SwapFilters(jsdIFilter *filter_a, jsdIFilter *filter_b) { return _to SwapFilters(filter_a, filter_b); } \
317 : NS_SCRIPTABLE NS_IMETHOD EnumerateFilters(jsdIFilterEnumerator *enumerator) { return _to EnumerateFilters(enumerator); } \
318 : NS_SCRIPTABLE NS_IMETHOD RefreshFilters(void) { return _to RefreshFilters(); } \
319 : NS_SCRIPTABLE NS_IMETHOD ClearFilters(void) { return _to ClearFilters(); } \
320 : NS_SCRIPTABLE NS_IMETHOD EnumerateContexts(jsdIContextEnumerator *enumerator) { return _to EnumerateContexts(enumerator); } \
321 : NS_SCRIPTABLE NS_IMETHOD EnumerateScripts(jsdIScriptEnumerator *enumerator) { return _to EnumerateScripts(enumerator); } \
322 : NS_SCRIPTABLE NS_IMETHOD ClearAllBreakpoints(void) { return _to ClearAllBreakpoints(); } \
323 : NS_SCRIPTABLE NS_IMETHOD WrapValue(const JS::Value & value, jsdIValue * *_retval NS_OUTPARAM) { return _to WrapValue(value, _retval); } \
324 : NS_SCRIPTABLE NS_IMETHOD EnterNestedEventLoop(jsdINestCallback *callback, PRUint32 *_retval NS_OUTPARAM) { return _to EnterNestedEventLoop(callback, _retval); } \
325 : NS_SCRIPTABLE NS_IMETHOD ExitNestedEventLoop(PRUint32 *_retval NS_OUTPARAM) { return _to ExitNestedEventLoop(_retval); } \
326 : NS_SCRIPTABLE NS_IMETHOD DumpHeap(const nsACString & fileName) { return _to DumpHeap(fileName); }
327 :
328 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
329 : #define NS_FORWARD_SAFE_JSDIDEBUGGERSERVICE(_to) \
330 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDContext(aJSDContext); } \
331 : NS_SCRIPTABLE NS_IMETHOD GetErrorHook(jsdIErrorHook * *aErrorHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetErrorHook(aErrorHook); } \
332 : NS_SCRIPTABLE NS_IMETHOD SetErrorHook(jsdIErrorHook *aErrorHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetErrorHook(aErrorHook); } \
333 : NS_SCRIPTABLE NS_IMETHOD GetScriptHook(jsdIScriptHook * *aScriptHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScriptHook(aScriptHook); } \
334 : NS_SCRIPTABLE NS_IMETHOD SetScriptHook(jsdIScriptHook *aScriptHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetScriptHook(aScriptHook); } \
335 : NS_SCRIPTABLE NS_IMETHOD GetBreakpointHook(jsdIExecutionHook * *aBreakpointHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBreakpointHook(aBreakpointHook); } \
336 : NS_SCRIPTABLE NS_IMETHOD SetBreakpointHook(jsdIExecutionHook *aBreakpointHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBreakpointHook(aBreakpointHook); } \
337 : NS_SCRIPTABLE NS_IMETHOD GetDebuggerHook(jsdIExecutionHook * *aDebuggerHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDebuggerHook(aDebuggerHook); } \
338 : NS_SCRIPTABLE NS_IMETHOD SetDebuggerHook(jsdIExecutionHook *aDebuggerHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDebuggerHook(aDebuggerHook); } \
339 : NS_SCRIPTABLE NS_IMETHOD GetDebugHook(jsdIExecutionHook * *aDebugHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDebugHook(aDebugHook); } \
340 : NS_SCRIPTABLE NS_IMETHOD SetDebugHook(jsdIExecutionHook *aDebugHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDebugHook(aDebugHook); } \
341 : NS_SCRIPTABLE NS_IMETHOD GetInterruptHook(jsdIExecutionHook * *aInterruptHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInterruptHook(aInterruptHook); } \
342 : NS_SCRIPTABLE NS_IMETHOD SetInterruptHook(jsdIExecutionHook *aInterruptHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetInterruptHook(aInterruptHook); } \
343 : NS_SCRIPTABLE NS_IMETHOD GetThrowHook(jsdIExecutionHook * *aThrowHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetThrowHook(aThrowHook); } \
344 : NS_SCRIPTABLE NS_IMETHOD SetThrowHook(jsdIExecutionHook *aThrowHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetThrowHook(aThrowHook); } \
345 : NS_SCRIPTABLE NS_IMETHOD GetTopLevelHook(jsdICallHook * *aTopLevelHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTopLevelHook(aTopLevelHook); } \
346 : NS_SCRIPTABLE NS_IMETHOD SetTopLevelHook(jsdICallHook *aTopLevelHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTopLevelHook(aTopLevelHook); } \
347 : NS_SCRIPTABLE NS_IMETHOD GetFunctionHook(jsdICallHook * *aFunctionHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFunctionHook(aFunctionHook); } \
348 : NS_SCRIPTABLE NS_IMETHOD SetFunctionHook(jsdICallHook *aFunctionHook) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFunctionHook(aFunctionHook); } \
349 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFlags(aFlags); } \
350 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFlags(aFlags); } \
351 : NS_SCRIPTABLE NS_IMETHOD GetImplementationMajor(PRUint32 *aImplementationMajor) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetImplementationMajor(aImplementationMajor); } \
352 : NS_SCRIPTABLE NS_IMETHOD GetImplementationMinor(PRUint32 *aImplementationMinor) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetImplementationMinor(aImplementationMinor); } \
353 : NS_SCRIPTABLE NS_IMETHOD GetImplementationString(nsACString & aImplementationString) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetImplementationString(aImplementationString); } \
354 : NS_SCRIPTABLE NS_IMETHOD GetIsOn(bool *aIsOn) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsOn(aIsOn); } \
355 : NS_SCRIPTABLE NS_IMETHOD On(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->On(); } \
356 : NS_SCRIPTABLE NS_IMETHOD AsyncOn(jsdIActivationCallback *callback) { return !_to ? NS_ERROR_NULL_POINTER : _to->AsyncOn(callback); } \
357 : NS_IMETHOD ActivateDebugger(JSRuntime *rt) { return !_to ? NS_ERROR_NULL_POINTER : _to->ActivateDebugger(rt); } \
358 : NS_IMETHOD DeactivateDebugger(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->DeactivateDebugger(); } \
359 : NS_IMETHOD RecompileForDebugMode(JSContext *cx, JSCompartment *comp, bool mode) { return !_to ? NS_ERROR_NULL_POINTER : _to->RecompileForDebugMode(cx, comp, mode); } \
360 : NS_SCRIPTABLE NS_IMETHOD Off(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Off(); } \
361 : NS_SCRIPTABLE NS_IMETHOD GetPauseDepth(PRUint32 *aPauseDepth) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPauseDepth(aPauseDepth); } \
362 : NS_SCRIPTABLE NS_IMETHOD Pause(PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Pause(_retval); } \
363 : NS_SCRIPTABLE NS_IMETHOD UnPause(PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->UnPause(_retval); } \
364 : NS_SCRIPTABLE NS_IMETHOD GC(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->GC(); } \
365 : NS_SCRIPTABLE NS_IMETHOD ClearProfileData(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearProfileData(); } \
366 : NS_SCRIPTABLE NS_IMETHOD InsertFilter(jsdIFilter *filter, jsdIFilter *after) { return !_to ? NS_ERROR_NULL_POINTER : _to->InsertFilter(filter, after); } \
367 : NS_SCRIPTABLE NS_IMETHOD AppendFilter(jsdIFilter *filter) { return !_to ? NS_ERROR_NULL_POINTER : _to->AppendFilter(filter); } \
368 : NS_SCRIPTABLE NS_IMETHOD RemoveFilter(jsdIFilter *filter) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveFilter(filter); } \
369 : NS_SCRIPTABLE NS_IMETHOD SwapFilters(jsdIFilter *filter_a, jsdIFilter *filter_b) { return !_to ? NS_ERROR_NULL_POINTER : _to->SwapFilters(filter_a, filter_b); } \
370 : NS_SCRIPTABLE NS_IMETHOD EnumerateFilters(jsdIFilterEnumerator *enumerator) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateFilters(enumerator); } \
371 : NS_SCRIPTABLE NS_IMETHOD RefreshFilters(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->RefreshFilters(); } \
372 : NS_SCRIPTABLE NS_IMETHOD ClearFilters(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearFilters(); } \
373 : NS_SCRIPTABLE NS_IMETHOD EnumerateContexts(jsdIContextEnumerator *enumerator) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateContexts(enumerator); } \
374 : NS_SCRIPTABLE NS_IMETHOD EnumerateScripts(jsdIScriptEnumerator *enumerator) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateScripts(enumerator); } \
375 : NS_SCRIPTABLE NS_IMETHOD ClearAllBreakpoints(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearAllBreakpoints(); } \
376 : NS_SCRIPTABLE NS_IMETHOD WrapValue(const JS::Value & value, jsdIValue * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->WrapValue(value, _retval); } \
377 : NS_SCRIPTABLE NS_IMETHOD EnterNestedEventLoop(jsdINestCallback *callback, PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnterNestedEventLoop(callback, _retval); } \
378 : NS_SCRIPTABLE NS_IMETHOD ExitNestedEventLoop(PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->ExitNestedEventLoop(_retval); } \
379 : NS_SCRIPTABLE NS_IMETHOD DumpHeap(const nsACString & fileName) { return !_to ? NS_ERROR_NULL_POINTER : _to->DumpHeap(fileName); }
380 :
381 : #if 0
382 : /* Use the code below as a template for the implementation class for this interface. */
383 :
384 : /* Header file */
385 : class _MYCLASS_ : public jsdIDebuggerService
386 : {
387 : public:
388 : NS_DECL_ISUPPORTS
389 : NS_DECL_JSDIDEBUGGERSERVICE
390 :
391 : _MYCLASS_();
392 :
393 : private:
394 : ~_MYCLASS_();
395 :
396 : protected:
397 : /* additional members */
398 : };
399 :
400 : /* Implementation file */
401 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIDebuggerService)
402 :
403 : _MYCLASS_::_MYCLASS_()
404 : {
405 : /* member initializers and constructor code */
406 : }
407 :
408 : _MYCLASS_::~_MYCLASS_()
409 : {
410 : /* destructor code */
411 : }
412 :
413 : /* [noscript] readonly attribute JSDContext JSDContext; */
414 : NS_IMETHODIMP _MYCLASS_::GetJSDContext(JSDContext **aJSDContext)
415 : {
416 : return NS_ERROR_NOT_IMPLEMENTED;
417 : }
418 :
419 : /* attribute jsdIErrorHook errorHook; */
420 : NS_IMETHODIMP _MYCLASS_::GetErrorHook(jsdIErrorHook * *aErrorHook)
421 : {
422 : return NS_ERROR_NOT_IMPLEMENTED;
423 : }
424 : NS_IMETHODIMP _MYCLASS_::SetErrorHook(jsdIErrorHook *aErrorHook)
425 : {
426 : return NS_ERROR_NOT_IMPLEMENTED;
427 : }
428 :
429 : /* attribute jsdIScriptHook scriptHook; */
430 : NS_IMETHODIMP _MYCLASS_::GetScriptHook(jsdIScriptHook * *aScriptHook)
431 : {
432 : return NS_ERROR_NOT_IMPLEMENTED;
433 : }
434 : NS_IMETHODIMP _MYCLASS_::SetScriptHook(jsdIScriptHook *aScriptHook)
435 : {
436 : return NS_ERROR_NOT_IMPLEMENTED;
437 : }
438 :
439 : /* attribute jsdIExecutionHook breakpointHook; */
440 : NS_IMETHODIMP _MYCLASS_::GetBreakpointHook(jsdIExecutionHook * *aBreakpointHook)
441 : {
442 : return NS_ERROR_NOT_IMPLEMENTED;
443 : }
444 : NS_IMETHODIMP _MYCLASS_::SetBreakpointHook(jsdIExecutionHook *aBreakpointHook)
445 : {
446 : return NS_ERROR_NOT_IMPLEMENTED;
447 : }
448 :
449 : /* attribute jsdIExecutionHook debuggerHook; */
450 : NS_IMETHODIMP _MYCLASS_::GetDebuggerHook(jsdIExecutionHook * *aDebuggerHook)
451 : {
452 : return NS_ERROR_NOT_IMPLEMENTED;
453 : }
454 : NS_IMETHODIMP _MYCLASS_::SetDebuggerHook(jsdIExecutionHook *aDebuggerHook)
455 : {
456 : return NS_ERROR_NOT_IMPLEMENTED;
457 : }
458 :
459 : /* attribute jsdIExecutionHook debugHook; */
460 : NS_IMETHODIMP _MYCLASS_::GetDebugHook(jsdIExecutionHook * *aDebugHook)
461 : {
462 : return NS_ERROR_NOT_IMPLEMENTED;
463 : }
464 : NS_IMETHODIMP _MYCLASS_::SetDebugHook(jsdIExecutionHook *aDebugHook)
465 : {
466 : return NS_ERROR_NOT_IMPLEMENTED;
467 : }
468 :
469 : /* attribute jsdIExecutionHook interruptHook; */
470 : NS_IMETHODIMP _MYCLASS_::GetInterruptHook(jsdIExecutionHook * *aInterruptHook)
471 : {
472 : return NS_ERROR_NOT_IMPLEMENTED;
473 : }
474 : NS_IMETHODIMP _MYCLASS_::SetInterruptHook(jsdIExecutionHook *aInterruptHook)
475 : {
476 : return NS_ERROR_NOT_IMPLEMENTED;
477 : }
478 :
479 : /* attribute jsdIExecutionHook throwHook; */
480 : NS_IMETHODIMP _MYCLASS_::GetThrowHook(jsdIExecutionHook * *aThrowHook)
481 : {
482 : return NS_ERROR_NOT_IMPLEMENTED;
483 : }
484 : NS_IMETHODIMP _MYCLASS_::SetThrowHook(jsdIExecutionHook *aThrowHook)
485 : {
486 : return NS_ERROR_NOT_IMPLEMENTED;
487 : }
488 :
489 : /* attribute jsdICallHook topLevelHook; */
490 : NS_IMETHODIMP _MYCLASS_::GetTopLevelHook(jsdICallHook * *aTopLevelHook)
491 : {
492 : return NS_ERROR_NOT_IMPLEMENTED;
493 : }
494 : NS_IMETHODIMP _MYCLASS_::SetTopLevelHook(jsdICallHook *aTopLevelHook)
495 : {
496 : return NS_ERROR_NOT_IMPLEMENTED;
497 : }
498 :
499 : /* attribute jsdICallHook functionHook; */
500 : NS_IMETHODIMP _MYCLASS_::GetFunctionHook(jsdICallHook * *aFunctionHook)
501 : {
502 : return NS_ERROR_NOT_IMPLEMENTED;
503 : }
504 : NS_IMETHODIMP _MYCLASS_::SetFunctionHook(jsdICallHook *aFunctionHook)
505 : {
506 : return NS_ERROR_NOT_IMPLEMENTED;
507 : }
508 :
509 : /* attribute unsigned long flags; */
510 : NS_IMETHODIMP _MYCLASS_::GetFlags(PRUint32 *aFlags)
511 : {
512 : return NS_ERROR_NOT_IMPLEMENTED;
513 : }
514 : NS_IMETHODIMP _MYCLASS_::SetFlags(PRUint32 aFlags)
515 : {
516 : return NS_ERROR_NOT_IMPLEMENTED;
517 : }
518 :
519 : /* readonly attribute unsigned long implementationMajor; */
520 : NS_IMETHODIMP _MYCLASS_::GetImplementationMajor(PRUint32 *aImplementationMajor)
521 : {
522 : return NS_ERROR_NOT_IMPLEMENTED;
523 : }
524 :
525 : /* readonly attribute unsigned long implementationMinor; */
526 : NS_IMETHODIMP _MYCLASS_::GetImplementationMinor(PRUint32 *aImplementationMinor)
527 : {
528 : return NS_ERROR_NOT_IMPLEMENTED;
529 : }
530 :
531 : /* readonly attribute AUTF8String implementationString; */
532 : NS_IMETHODIMP _MYCLASS_::GetImplementationString(nsACString & aImplementationString)
533 : {
534 : return NS_ERROR_NOT_IMPLEMENTED;
535 : }
536 :
537 : /* readonly attribute boolean isOn; */
538 : NS_IMETHODIMP _MYCLASS_::GetIsOn(bool *aIsOn)
539 : {
540 : return NS_ERROR_NOT_IMPLEMENTED;
541 : }
542 :
543 : /* void on (); */
544 : NS_IMETHODIMP _MYCLASS_::On()
545 : {
546 : return NS_ERROR_NOT_IMPLEMENTED;
547 : }
548 :
549 : /* void asyncOn (in jsdIActivationCallback callback); */
550 : NS_IMETHODIMP _MYCLASS_::AsyncOn(jsdIActivationCallback *callback)
551 : {
552 : return NS_ERROR_NOT_IMPLEMENTED;
553 : }
554 :
555 : /* [noscript] void activateDebugger (in JSRuntime rt); */
556 : NS_IMETHODIMP _MYCLASS_::ActivateDebugger(JSRuntime *rt)
557 : {
558 : return NS_ERROR_NOT_IMPLEMENTED;
559 : }
560 :
561 : /* [noscript] void deactivateDebugger (); */
562 : NS_IMETHODIMP _MYCLASS_::DeactivateDebugger()
563 : {
564 : return NS_ERROR_NOT_IMPLEMENTED;
565 : }
566 :
567 : /* [noscript] void recompileForDebugMode (in JSContext cx, in JSCompartment comp, in boolean mode); */
568 : NS_IMETHODIMP _MYCLASS_::RecompileForDebugMode(JSContext *cx, JSCompartment *comp, bool mode)
569 : {
570 : return NS_ERROR_NOT_IMPLEMENTED;
571 : }
572 :
573 : /* void off (); */
574 : NS_IMETHODIMP _MYCLASS_::Off()
575 : {
576 : return NS_ERROR_NOT_IMPLEMENTED;
577 : }
578 :
579 : /* readonly attribute unsigned long pauseDepth; */
580 : NS_IMETHODIMP _MYCLASS_::GetPauseDepth(PRUint32 *aPauseDepth)
581 : {
582 : return NS_ERROR_NOT_IMPLEMENTED;
583 : }
584 :
585 : /* unsigned long pause (); */
586 : NS_IMETHODIMP _MYCLASS_::Pause(PRUint32 *_retval NS_OUTPARAM)
587 : {
588 : return NS_ERROR_NOT_IMPLEMENTED;
589 : }
590 :
591 : /* unsigned long unPause (); */
592 : NS_IMETHODIMP _MYCLASS_::UnPause(PRUint32 *_retval NS_OUTPARAM)
593 : {
594 : return NS_ERROR_NOT_IMPLEMENTED;
595 : }
596 :
597 : /* void GC (); */
598 : NS_IMETHODIMP _MYCLASS_::GC()
599 : {
600 : return NS_ERROR_NOT_IMPLEMENTED;
601 : }
602 :
603 : /* void clearProfileData (); */
604 : NS_IMETHODIMP _MYCLASS_::ClearProfileData()
605 : {
606 : return NS_ERROR_NOT_IMPLEMENTED;
607 : }
608 :
609 : /* void insertFilter (in jsdIFilter filter, in jsdIFilter after); */
610 : NS_IMETHODIMP _MYCLASS_::InsertFilter(jsdIFilter *filter, jsdIFilter *after)
611 : {
612 : return NS_ERROR_NOT_IMPLEMENTED;
613 : }
614 :
615 : /* void appendFilter (in jsdIFilter filter); */
616 : NS_IMETHODIMP _MYCLASS_::AppendFilter(jsdIFilter *filter)
617 : {
618 : return NS_ERROR_NOT_IMPLEMENTED;
619 : }
620 :
621 : /* void removeFilter (in jsdIFilter filter); */
622 : NS_IMETHODIMP _MYCLASS_::RemoveFilter(jsdIFilter *filter)
623 : {
624 : return NS_ERROR_NOT_IMPLEMENTED;
625 : }
626 :
627 : /* void swapFilters (in jsdIFilter filter_a, in jsdIFilter filter_b); */
628 : NS_IMETHODIMP _MYCLASS_::SwapFilters(jsdIFilter *filter_a, jsdIFilter *filter_b)
629 : {
630 : return NS_ERROR_NOT_IMPLEMENTED;
631 : }
632 :
633 : /* void enumerateFilters (in jsdIFilterEnumerator enumerator); */
634 : NS_IMETHODIMP _MYCLASS_::EnumerateFilters(jsdIFilterEnumerator *enumerator)
635 : {
636 : return NS_ERROR_NOT_IMPLEMENTED;
637 : }
638 :
639 : /* void refreshFilters (); */
640 : NS_IMETHODIMP _MYCLASS_::RefreshFilters()
641 : {
642 : return NS_ERROR_NOT_IMPLEMENTED;
643 : }
644 :
645 : /* void clearFilters (); */
646 : NS_IMETHODIMP _MYCLASS_::ClearFilters()
647 : {
648 : return NS_ERROR_NOT_IMPLEMENTED;
649 : }
650 :
651 : /* void enumerateContexts (in jsdIContextEnumerator enumerator); */
652 : NS_IMETHODIMP _MYCLASS_::EnumerateContexts(jsdIContextEnumerator *enumerator)
653 : {
654 : return NS_ERROR_NOT_IMPLEMENTED;
655 : }
656 :
657 : /* void enumerateScripts (in jsdIScriptEnumerator enumerator); */
658 : NS_IMETHODIMP _MYCLASS_::EnumerateScripts(jsdIScriptEnumerator *enumerator)
659 : {
660 : return NS_ERROR_NOT_IMPLEMENTED;
661 : }
662 :
663 : /* void clearAllBreakpoints (); */
664 : NS_IMETHODIMP _MYCLASS_::ClearAllBreakpoints()
665 : {
666 : return NS_ERROR_NOT_IMPLEMENTED;
667 : }
668 :
669 : /* jsdIValue wrapValue (in jsval value); */
670 : NS_IMETHODIMP _MYCLASS_::WrapValue(const JS::Value & value, jsdIValue * *_retval NS_OUTPARAM)
671 : {
672 : return NS_ERROR_NOT_IMPLEMENTED;
673 : }
674 :
675 : /* unsigned long enterNestedEventLoop (in jsdINestCallback callback); */
676 : NS_IMETHODIMP _MYCLASS_::EnterNestedEventLoop(jsdINestCallback *callback, PRUint32 *_retval NS_OUTPARAM)
677 : {
678 : return NS_ERROR_NOT_IMPLEMENTED;
679 : }
680 :
681 : /* unsigned long exitNestedEventLoop (); */
682 : NS_IMETHODIMP _MYCLASS_::ExitNestedEventLoop(PRUint32 *_retval NS_OUTPARAM)
683 : {
684 : return NS_ERROR_NOT_IMPLEMENTED;
685 : }
686 :
687 : /* void dumpHeap (in AUTF8String fileName); */
688 : NS_IMETHODIMP _MYCLASS_::DumpHeap(const nsACString & fileName)
689 : {
690 : return NS_ERROR_NOT_IMPLEMENTED;
691 : }
692 :
693 : /* End of implementation class template. */
694 : #endif
695 :
696 :
697 : /* starting interface: jsdIFilter */
698 : #define JSDIFILTER_IID_STR "0c9189d9-4287-47a4-bca6-6ed65aaf737f"
699 :
700 : #define JSDIFILTER_IID \
701 : {0x0c9189d9, 0x4287, 0x47a4, \
702 : { 0xbc, 0xa6, 0x6e, 0xd6, 0x5a, 0xaf, 0x73, 0x7f }}
703 :
704 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIFilter : public nsISupports {
705 : public:
706 :
707 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIFILTER_IID)
708 :
709 : enum {
710 : FLAG_RESERVED_MASK = 255U,
711 : FLAG_ENABLED = 1U,
712 : FLAG_PASS = 2U
713 : };
714 :
715 : /* attribute unsigned long flags; */
716 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) = 0;
717 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) = 0;
718 :
719 : /* attribute nsISupports globalObject; */
720 : NS_SCRIPTABLE NS_IMETHOD GetGlobalObject(nsISupports * *aGlobalObject) = 0;
721 : NS_SCRIPTABLE NS_IMETHOD SetGlobalObject(nsISupports *aGlobalObject) = 0;
722 :
723 : /* attribute AUTF8String urlPattern; */
724 : NS_SCRIPTABLE NS_IMETHOD GetUrlPattern(nsACString & aUrlPattern) = 0;
725 : NS_SCRIPTABLE NS_IMETHOD SetUrlPattern(const nsACString & aUrlPattern) = 0;
726 :
727 : /* attribute unsigned long startLine; */
728 : NS_SCRIPTABLE NS_IMETHOD GetStartLine(PRUint32 *aStartLine) = 0;
729 : NS_SCRIPTABLE NS_IMETHOD SetStartLine(PRUint32 aStartLine) = 0;
730 :
731 : /* attribute unsigned long endLine; */
732 : NS_SCRIPTABLE NS_IMETHOD GetEndLine(PRUint32 *aEndLine) = 0;
733 : NS_SCRIPTABLE NS_IMETHOD SetEndLine(PRUint32 aEndLine) = 0;
734 :
735 : };
736 :
737 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIFilter, JSDIFILTER_IID)
738 :
739 : /* Use this macro when declaring classes that implement this interface. */
740 : #define NS_DECL_JSDIFILTER \
741 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags); \
742 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags); \
743 : NS_SCRIPTABLE NS_IMETHOD GetGlobalObject(nsISupports * *aGlobalObject); \
744 : NS_SCRIPTABLE NS_IMETHOD SetGlobalObject(nsISupports *aGlobalObject); \
745 : NS_SCRIPTABLE NS_IMETHOD GetUrlPattern(nsACString & aUrlPattern); \
746 : NS_SCRIPTABLE NS_IMETHOD SetUrlPattern(const nsACString & aUrlPattern); \
747 : NS_SCRIPTABLE NS_IMETHOD GetStartLine(PRUint32 *aStartLine); \
748 : NS_SCRIPTABLE NS_IMETHOD SetStartLine(PRUint32 aStartLine); \
749 : NS_SCRIPTABLE NS_IMETHOD GetEndLine(PRUint32 *aEndLine); \
750 : NS_SCRIPTABLE NS_IMETHOD SetEndLine(PRUint32 aEndLine);
751 :
752 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
753 : #define NS_FORWARD_JSDIFILTER(_to) \
754 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return _to GetFlags(aFlags); } \
755 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) { return _to SetFlags(aFlags); } \
756 : NS_SCRIPTABLE NS_IMETHOD GetGlobalObject(nsISupports * *aGlobalObject) { return _to GetGlobalObject(aGlobalObject); } \
757 : NS_SCRIPTABLE NS_IMETHOD SetGlobalObject(nsISupports *aGlobalObject) { return _to SetGlobalObject(aGlobalObject); } \
758 : NS_SCRIPTABLE NS_IMETHOD GetUrlPattern(nsACString & aUrlPattern) { return _to GetUrlPattern(aUrlPattern); } \
759 : NS_SCRIPTABLE NS_IMETHOD SetUrlPattern(const nsACString & aUrlPattern) { return _to SetUrlPattern(aUrlPattern); } \
760 : NS_SCRIPTABLE NS_IMETHOD GetStartLine(PRUint32 *aStartLine) { return _to GetStartLine(aStartLine); } \
761 : NS_SCRIPTABLE NS_IMETHOD SetStartLine(PRUint32 aStartLine) { return _to SetStartLine(aStartLine); } \
762 : NS_SCRIPTABLE NS_IMETHOD GetEndLine(PRUint32 *aEndLine) { return _to GetEndLine(aEndLine); } \
763 : NS_SCRIPTABLE NS_IMETHOD SetEndLine(PRUint32 aEndLine) { return _to SetEndLine(aEndLine); }
764 :
765 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
766 : #define NS_FORWARD_SAFE_JSDIFILTER(_to) \
767 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFlags(aFlags); } \
768 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFlags(aFlags); } \
769 : NS_SCRIPTABLE NS_IMETHOD GetGlobalObject(nsISupports * *aGlobalObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGlobalObject(aGlobalObject); } \
770 : NS_SCRIPTABLE NS_IMETHOD SetGlobalObject(nsISupports *aGlobalObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetGlobalObject(aGlobalObject); } \
771 : NS_SCRIPTABLE NS_IMETHOD GetUrlPattern(nsACString & aUrlPattern) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUrlPattern(aUrlPattern); } \
772 : NS_SCRIPTABLE NS_IMETHOD SetUrlPattern(const nsACString & aUrlPattern) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUrlPattern(aUrlPattern); } \
773 : NS_SCRIPTABLE NS_IMETHOD GetStartLine(PRUint32 *aStartLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStartLine(aStartLine); } \
774 : NS_SCRIPTABLE NS_IMETHOD SetStartLine(PRUint32 aStartLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStartLine(aStartLine); } \
775 : NS_SCRIPTABLE NS_IMETHOD GetEndLine(PRUint32 *aEndLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEndLine(aEndLine); } \
776 : NS_SCRIPTABLE NS_IMETHOD SetEndLine(PRUint32 aEndLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEndLine(aEndLine); }
777 :
778 : #if 0
779 : /* Use the code below as a template for the implementation class for this interface. */
780 :
781 : /* Header file */
782 : class _MYCLASS_ : public jsdIFilter
783 : {
784 : public:
785 : NS_DECL_ISUPPORTS
786 : NS_DECL_JSDIFILTER
787 :
788 : _MYCLASS_();
789 :
790 : private:
791 : ~_MYCLASS_();
792 :
793 : protected:
794 : /* additional members */
795 : };
796 :
797 : /* Implementation file */
798 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIFilter)
799 :
800 : _MYCLASS_::_MYCLASS_()
801 : {
802 : /* member initializers and constructor code */
803 : }
804 :
805 : _MYCLASS_::~_MYCLASS_()
806 : {
807 : /* destructor code */
808 : }
809 :
810 : /* attribute unsigned long flags; */
811 : NS_IMETHODIMP _MYCLASS_::GetFlags(PRUint32 *aFlags)
812 : {
813 : return NS_ERROR_NOT_IMPLEMENTED;
814 : }
815 : NS_IMETHODIMP _MYCLASS_::SetFlags(PRUint32 aFlags)
816 : {
817 : return NS_ERROR_NOT_IMPLEMENTED;
818 : }
819 :
820 : /* attribute nsISupports globalObject; */
821 : NS_IMETHODIMP _MYCLASS_::GetGlobalObject(nsISupports * *aGlobalObject)
822 : {
823 : return NS_ERROR_NOT_IMPLEMENTED;
824 : }
825 : NS_IMETHODIMP _MYCLASS_::SetGlobalObject(nsISupports *aGlobalObject)
826 : {
827 : return NS_ERROR_NOT_IMPLEMENTED;
828 : }
829 :
830 : /* attribute AUTF8String urlPattern; */
831 : NS_IMETHODIMP _MYCLASS_::GetUrlPattern(nsACString & aUrlPattern)
832 : {
833 : return NS_ERROR_NOT_IMPLEMENTED;
834 : }
835 : NS_IMETHODIMP _MYCLASS_::SetUrlPattern(const nsACString & aUrlPattern)
836 : {
837 : return NS_ERROR_NOT_IMPLEMENTED;
838 : }
839 :
840 : /* attribute unsigned long startLine; */
841 : NS_IMETHODIMP _MYCLASS_::GetStartLine(PRUint32 *aStartLine)
842 : {
843 : return NS_ERROR_NOT_IMPLEMENTED;
844 : }
845 : NS_IMETHODIMP _MYCLASS_::SetStartLine(PRUint32 aStartLine)
846 : {
847 : return NS_ERROR_NOT_IMPLEMENTED;
848 : }
849 :
850 : /* attribute unsigned long endLine; */
851 : NS_IMETHODIMP _MYCLASS_::GetEndLine(PRUint32 *aEndLine)
852 : {
853 : return NS_ERROR_NOT_IMPLEMENTED;
854 : }
855 : NS_IMETHODIMP _MYCLASS_::SetEndLine(PRUint32 aEndLine)
856 : {
857 : return NS_ERROR_NOT_IMPLEMENTED;
858 : }
859 :
860 : /* End of implementation class template. */
861 : #endif
862 :
863 :
864 : /* starting interface: jsdIActivationCallback */
865 : #define JSDIACTIVATIONCALLBACK_IID_STR "6da7f5fb-3a84-4abe-9e23-8b2045960732"
866 :
867 : #define JSDIACTIVATIONCALLBACK_IID \
868 : {0x6da7f5fb, 0x3a84, 0x4abe, \
869 : { 0x9e, 0x23, 0x8b, 0x20, 0x45, 0x96, 0x07, 0x32 }}
870 :
871 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIActivationCallback : public nsISupports {
872 : public:
873 :
874 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIACTIVATIONCALLBACK_IID)
875 :
876 : /* void onDebuggerActivated (); */
877 : NS_SCRIPTABLE NS_IMETHOD OnDebuggerActivated(void) = 0;
878 :
879 : };
880 :
881 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIActivationCallback, JSDIACTIVATIONCALLBACK_IID)
882 :
883 : /* Use this macro when declaring classes that implement this interface. */
884 : #define NS_DECL_JSDIACTIVATIONCALLBACK \
885 : NS_SCRIPTABLE NS_IMETHOD OnDebuggerActivated(void);
886 :
887 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
888 : #define NS_FORWARD_JSDIACTIVATIONCALLBACK(_to) \
889 : NS_SCRIPTABLE NS_IMETHOD OnDebuggerActivated(void) { return _to OnDebuggerActivated(); }
890 :
891 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
892 : #define NS_FORWARD_SAFE_JSDIACTIVATIONCALLBACK(_to) \
893 : NS_SCRIPTABLE NS_IMETHOD OnDebuggerActivated(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnDebuggerActivated(); }
894 :
895 : #if 0
896 : /* Use the code below as a template for the implementation class for this interface. */
897 :
898 : /* Header file */
899 : class _MYCLASS_ : public jsdIActivationCallback
900 : {
901 : public:
902 : NS_DECL_ISUPPORTS
903 : NS_DECL_JSDIACTIVATIONCALLBACK
904 :
905 : _MYCLASS_();
906 :
907 : private:
908 : ~_MYCLASS_();
909 :
910 : protected:
911 : /* additional members */
912 : };
913 :
914 : /* Implementation file */
915 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIActivationCallback)
916 :
917 : _MYCLASS_::_MYCLASS_()
918 : {
919 : /* member initializers and constructor code */
920 : }
921 :
922 : _MYCLASS_::~_MYCLASS_()
923 : {
924 : /* destructor code */
925 : }
926 :
927 : /* void onDebuggerActivated (); */
928 : NS_IMETHODIMP _MYCLASS_::OnDebuggerActivated()
929 : {
930 : return NS_ERROR_NOT_IMPLEMENTED;
931 : }
932 :
933 : /* End of implementation class template. */
934 : #endif
935 :
936 :
937 : /* starting interface: jsdINestCallback */
938 : #define JSDINESTCALLBACK_IID_STR "88bea60f-9b5d-4b39-b08b-1c3a278782c6"
939 :
940 : #define JSDINESTCALLBACK_IID \
941 : {0x88bea60f, 0x9b5d, 0x4b39, \
942 : { 0xb0, 0x8b, 0x1c, 0x3a, 0x27, 0x87, 0x82, 0xc6 }}
943 :
944 : class NS_NO_VTABLE NS_SCRIPTABLE jsdINestCallback : public nsISupports {
945 : public:
946 :
947 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDINESTCALLBACK_IID)
948 :
949 : /* void onNest (); */
950 : NS_SCRIPTABLE NS_IMETHOD OnNest(void) = 0;
951 :
952 : };
953 :
954 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdINestCallback, JSDINESTCALLBACK_IID)
955 :
956 : /* Use this macro when declaring classes that implement this interface. */
957 : #define NS_DECL_JSDINESTCALLBACK \
958 : NS_SCRIPTABLE NS_IMETHOD OnNest(void);
959 :
960 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
961 : #define NS_FORWARD_JSDINESTCALLBACK(_to) \
962 : NS_SCRIPTABLE NS_IMETHOD OnNest(void) { return _to OnNest(); }
963 :
964 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
965 : #define NS_FORWARD_SAFE_JSDINESTCALLBACK(_to) \
966 : NS_SCRIPTABLE NS_IMETHOD OnNest(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnNest(); }
967 :
968 : #if 0
969 : /* Use the code below as a template for the implementation class for this interface. */
970 :
971 : /* Header file */
972 : class _MYCLASS_ : public jsdINestCallback
973 : {
974 : public:
975 : NS_DECL_ISUPPORTS
976 : NS_DECL_JSDINESTCALLBACK
977 :
978 : _MYCLASS_();
979 :
980 : private:
981 : ~_MYCLASS_();
982 :
983 : protected:
984 : /* additional members */
985 : };
986 :
987 : /* Implementation file */
988 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdINestCallback)
989 :
990 : _MYCLASS_::_MYCLASS_()
991 : {
992 : /* member initializers and constructor code */
993 : }
994 :
995 : _MYCLASS_::~_MYCLASS_()
996 : {
997 : /* destructor code */
998 : }
999 :
1000 : /* void onNest (); */
1001 : NS_IMETHODIMP _MYCLASS_::OnNest()
1002 : {
1003 : return NS_ERROR_NOT_IMPLEMENTED;
1004 : }
1005 :
1006 : /* End of implementation class template. */
1007 : #endif
1008 :
1009 :
1010 : /* starting interface: jsdIFilterEnumerator */
1011 : #define JSDIFILTERENUMERATOR_IID_STR "e391ba85-9379-4762-b387-558e38db730f"
1012 :
1013 : #define JSDIFILTERENUMERATOR_IID \
1014 : {0xe391ba85, 0x9379, 0x4762, \
1015 : { 0xb3, 0x87, 0x55, 0x8e, 0x38, 0xdb, 0x73, 0x0f }}
1016 :
1017 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIFilterEnumerator : public nsISupports {
1018 : public:
1019 :
1020 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIFILTERENUMERATOR_IID)
1021 :
1022 : /* void enumerateFilter (in jsdIFilter filter); */
1023 : NS_SCRIPTABLE NS_IMETHOD EnumerateFilter(jsdIFilter *filter) = 0;
1024 :
1025 : };
1026 :
1027 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIFilterEnumerator, JSDIFILTERENUMERATOR_IID)
1028 :
1029 : /* Use this macro when declaring classes that implement this interface. */
1030 : #define NS_DECL_JSDIFILTERENUMERATOR \
1031 : NS_SCRIPTABLE NS_IMETHOD EnumerateFilter(jsdIFilter *filter);
1032 :
1033 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1034 : #define NS_FORWARD_JSDIFILTERENUMERATOR(_to) \
1035 : NS_SCRIPTABLE NS_IMETHOD EnumerateFilter(jsdIFilter *filter) { return _to EnumerateFilter(filter); }
1036 :
1037 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1038 : #define NS_FORWARD_SAFE_JSDIFILTERENUMERATOR(_to) \
1039 : NS_SCRIPTABLE NS_IMETHOD EnumerateFilter(jsdIFilter *filter) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateFilter(filter); }
1040 :
1041 : #if 0
1042 : /* Use the code below as a template for the implementation class for this interface. */
1043 :
1044 : /* Header file */
1045 : class _MYCLASS_ : public jsdIFilterEnumerator
1046 : {
1047 : public:
1048 : NS_DECL_ISUPPORTS
1049 : NS_DECL_JSDIFILTERENUMERATOR
1050 :
1051 : _MYCLASS_();
1052 :
1053 : private:
1054 : ~_MYCLASS_();
1055 :
1056 : protected:
1057 : /* additional members */
1058 : };
1059 :
1060 : /* Implementation file */
1061 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIFilterEnumerator)
1062 :
1063 : _MYCLASS_::_MYCLASS_()
1064 : {
1065 : /* member initializers and constructor code */
1066 : }
1067 :
1068 : _MYCLASS_::~_MYCLASS_()
1069 : {
1070 : /* destructor code */
1071 : }
1072 :
1073 : /* void enumerateFilter (in jsdIFilter filter); */
1074 : NS_IMETHODIMP _MYCLASS_::EnumerateFilter(jsdIFilter *filter)
1075 : {
1076 : return NS_ERROR_NOT_IMPLEMENTED;
1077 : }
1078 :
1079 : /* End of implementation class template. */
1080 : #endif
1081 :
1082 :
1083 : /* starting interface: jsdIScriptEnumerator */
1084 : #define JSDISCRIPTENUMERATOR_IID_STR "4eef60c2-9bbc-48fa-b196-646a832c6c81"
1085 :
1086 : #define JSDISCRIPTENUMERATOR_IID \
1087 : {0x4eef60c2, 0x9bbc, 0x48fa, \
1088 : { 0xb1, 0x96, 0x64, 0x6a, 0x83, 0x2c, 0x6c, 0x81 }}
1089 :
1090 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIScriptEnumerator : public nsISupports {
1091 : public:
1092 :
1093 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDISCRIPTENUMERATOR_IID)
1094 :
1095 : /* void enumerateScript (in jsdIScript script); */
1096 : NS_SCRIPTABLE NS_IMETHOD EnumerateScript(jsdIScript *script) = 0;
1097 :
1098 : };
1099 :
1100 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIScriptEnumerator, JSDISCRIPTENUMERATOR_IID)
1101 :
1102 : /* Use this macro when declaring classes that implement this interface. */
1103 : #define NS_DECL_JSDISCRIPTENUMERATOR \
1104 : NS_SCRIPTABLE NS_IMETHOD EnumerateScript(jsdIScript *script);
1105 :
1106 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1107 : #define NS_FORWARD_JSDISCRIPTENUMERATOR(_to) \
1108 : NS_SCRIPTABLE NS_IMETHOD EnumerateScript(jsdIScript *script) { return _to EnumerateScript(script); }
1109 :
1110 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1111 : #define NS_FORWARD_SAFE_JSDISCRIPTENUMERATOR(_to) \
1112 : NS_SCRIPTABLE NS_IMETHOD EnumerateScript(jsdIScript *script) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateScript(script); }
1113 :
1114 : #if 0
1115 : /* Use the code below as a template for the implementation class for this interface. */
1116 :
1117 : /* Header file */
1118 : class _MYCLASS_ : public jsdIScriptEnumerator
1119 : {
1120 : public:
1121 : NS_DECL_ISUPPORTS
1122 : NS_DECL_JSDISCRIPTENUMERATOR
1123 :
1124 : _MYCLASS_();
1125 :
1126 : private:
1127 : ~_MYCLASS_();
1128 :
1129 : protected:
1130 : /* additional members */
1131 : };
1132 :
1133 : /* Implementation file */
1134 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIScriptEnumerator)
1135 :
1136 : _MYCLASS_::_MYCLASS_()
1137 : {
1138 : /* member initializers and constructor code */
1139 : }
1140 :
1141 : _MYCLASS_::~_MYCLASS_()
1142 : {
1143 : /* destructor code */
1144 : }
1145 :
1146 : /* void enumerateScript (in jsdIScript script); */
1147 : NS_IMETHODIMP _MYCLASS_::EnumerateScript(jsdIScript *script)
1148 : {
1149 : return NS_ERROR_NOT_IMPLEMENTED;
1150 : }
1151 :
1152 : /* End of implementation class template. */
1153 : #endif
1154 :
1155 :
1156 : /* starting interface: jsdIContextEnumerator */
1157 : #define JSDICONTEXTENUMERATOR_IID_STR "57d18286-550c-4ca9-ac33-56f12ebba91e"
1158 :
1159 : #define JSDICONTEXTENUMERATOR_IID \
1160 : {0x57d18286, 0x550c, 0x4ca9, \
1161 : { 0xac, 0x33, 0x56, 0xf1, 0x2e, 0xbb, 0xa9, 0x1e }}
1162 :
1163 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIContextEnumerator : public nsISupports {
1164 : public:
1165 :
1166 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDICONTEXTENUMERATOR_IID)
1167 :
1168 : /* void enumerateContext (in jsdIContext executionContext); */
1169 : NS_SCRIPTABLE NS_IMETHOD EnumerateContext(jsdIContext *executionContext) = 0;
1170 :
1171 : };
1172 :
1173 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIContextEnumerator, JSDICONTEXTENUMERATOR_IID)
1174 :
1175 : /* Use this macro when declaring classes that implement this interface. */
1176 : #define NS_DECL_JSDICONTEXTENUMERATOR \
1177 : NS_SCRIPTABLE NS_IMETHOD EnumerateContext(jsdIContext *executionContext);
1178 :
1179 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1180 : #define NS_FORWARD_JSDICONTEXTENUMERATOR(_to) \
1181 : NS_SCRIPTABLE NS_IMETHOD EnumerateContext(jsdIContext *executionContext) { return _to EnumerateContext(executionContext); }
1182 :
1183 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1184 : #define NS_FORWARD_SAFE_JSDICONTEXTENUMERATOR(_to) \
1185 : NS_SCRIPTABLE NS_IMETHOD EnumerateContext(jsdIContext *executionContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateContext(executionContext); }
1186 :
1187 : #if 0
1188 : /* Use the code below as a template for the implementation class for this interface. */
1189 :
1190 : /* Header file */
1191 : class _MYCLASS_ : public jsdIContextEnumerator
1192 : {
1193 : public:
1194 : NS_DECL_ISUPPORTS
1195 : NS_DECL_JSDICONTEXTENUMERATOR
1196 :
1197 : _MYCLASS_();
1198 :
1199 : private:
1200 : ~_MYCLASS_();
1201 :
1202 : protected:
1203 : /* additional members */
1204 : };
1205 :
1206 : /* Implementation file */
1207 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIContextEnumerator)
1208 :
1209 : _MYCLASS_::_MYCLASS_()
1210 : {
1211 : /* member initializers and constructor code */
1212 : }
1213 :
1214 : _MYCLASS_::~_MYCLASS_()
1215 : {
1216 : /* destructor code */
1217 : }
1218 :
1219 : /* void enumerateContext (in jsdIContext executionContext); */
1220 : NS_IMETHODIMP _MYCLASS_::EnumerateContext(jsdIContext *executionContext)
1221 : {
1222 : return NS_ERROR_NOT_IMPLEMENTED;
1223 : }
1224 :
1225 : /* End of implementation class template. */
1226 : #endif
1227 :
1228 :
1229 : /* starting interface: jsdIScriptHook */
1230 : #define JSDISCRIPTHOOK_IID_STR "d030d1a2-a58a-4f19-b9e3-96da4e2cdd09"
1231 :
1232 : #define JSDISCRIPTHOOK_IID \
1233 : {0xd030d1a2, 0xa58a, 0x4f19, \
1234 : { 0xb9, 0xe3, 0x96, 0xda, 0x4e, 0x2c, 0xdd, 0x09 }}
1235 :
1236 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIScriptHook : public nsISupports {
1237 : public:
1238 :
1239 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDISCRIPTHOOK_IID)
1240 :
1241 : /* void onScriptCreated (in jsdIScript script); */
1242 : NS_SCRIPTABLE NS_IMETHOD OnScriptCreated(jsdIScript *script) = 0;
1243 :
1244 : /* void onScriptDestroyed (in jsdIScript script); */
1245 : NS_SCRIPTABLE NS_IMETHOD OnScriptDestroyed(jsdIScript *script) = 0;
1246 :
1247 : };
1248 :
1249 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIScriptHook, JSDISCRIPTHOOK_IID)
1250 :
1251 : /* Use this macro when declaring classes that implement this interface. */
1252 : #define NS_DECL_JSDISCRIPTHOOK \
1253 : NS_SCRIPTABLE NS_IMETHOD OnScriptCreated(jsdIScript *script); \
1254 : NS_SCRIPTABLE NS_IMETHOD OnScriptDestroyed(jsdIScript *script);
1255 :
1256 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1257 : #define NS_FORWARD_JSDISCRIPTHOOK(_to) \
1258 : NS_SCRIPTABLE NS_IMETHOD OnScriptCreated(jsdIScript *script) { return _to OnScriptCreated(script); } \
1259 : NS_SCRIPTABLE NS_IMETHOD OnScriptDestroyed(jsdIScript *script) { return _to OnScriptDestroyed(script); }
1260 :
1261 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1262 : #define NS_FORWARD_SAFE_JSDISCRIPTHOOK(_to) \
1263 : NS_SCRIPTABLE NS_IMETHOD OnScriptCreated(jsdIScript *script) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnScriptCreated(script); } \
1264 : NS_SCRIPTABLE NS_IMETHOD OnScriptDestroyed(jsdIScript *script) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnScriptDestroyed(script); }
1265 :
1266 : #if 0
1267 : /* Use the code below as a template for the implementation class for this interface. */
1268 :
1269 : /* Header file */
1270 : class _MYCLASS_ : public jsdIScriptHook
1271 : {
1272 : public:
1273 : NS_DECL_ISUPPORTS
1274 : NS_DECL_JSDISCRIPTHOOK
1275 :
1276 : _MYCLASS_();
1277 :
1278 : private:
1279 : ~_MYCLASS_();
1280 :
1281 : protected:
1282 : /* additional members */
1283 : };
1284 :
1285 : /* Implementation file */
1286 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIScriptHook)
1287 :
1288 : _MYCLASS_::_MYCLASS_()
1289 : {
1290 : /* member initializers and constructor code */
1291 : }
1292 :
1293 : _MYCLASS_::~_MYCLASS_()
1294 : {
1295 : /* destructor code */
1296 : }
1297 :
1298 : /* void onScriptCreated (in jsdIScript script); */
1299 : NS_IMETHODIMP _MYCLASS_::OnScriptCreated(jsdIScript *script)
1300 : {
1301 : return NS_ERROR_NOT_IMPLEMENTED;
1302 : }
1303 :
1304 : /* void onScriptDestroyed (in jsdIScript script); */
1305 : NS_IMETHODIMP _MYCLASS_::OnScriptDestroyed(jsdIScript *script)
1306 : {
1307 : return NS_ERROR_NOT_IMPLEMENTED;
1308 : }
1309 :
1310 : /* End of implementation class template. */
1311 : #endif
1312 :
1313 :
1314 : /* starting interface: jsdICallHook */
1315 : #define JSDICALLHOOK_IID_STR "3eff1314-7ae3-4cf8-833b-c33c24a55633"
1316 :
1317 : #define JSDICALLHOOK_IID \
1318 : {0x3eff1314, 0x7ae3, 0x4cf8, \
1319 : { 0x83, 0x3b, 0xc3, 0x3c, 0x24, 0xa5, 0x56, 0x33 }}
1320 :
1321 : class NS_NO_VTABLE NS_SCRIPTABLE jsdICallHook : public nsISupports {
1322 : public:
1323 :
1324 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDICALLHOOK_IID)
1325 :
1326 : enum {
1327 : TYPE_TOPLEVEL_START = 0U,
1328 : TYPE_TOPLEVEL_END = 1U,
1329 : TYPE_FUNCTION_CALL = 2U,
1330 : TYPE_FUNCTION_RETURN = 3U
1331 : };
1332 :
1333 : /* void onCall (in jsdIStackFrame frame, in unsigned long type); */
1334 : NS_SCRIPTABLE NS_IMETHOD OnCall(jsdIStackFrame *frame, PRUint32 type) = 0;
1335 :
1336 : };
1337 :
1338 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdICallHook, JSDICALLHOOK_IID)
1339 :
1340 : /* Use this macro when declaring classes that implement this interface. */
1341 : #define NS_DECL_JSDICALLHOOK \
1342 : NS_SCRIPTABLE NS_IMETHOD OnCall(jsdIStackFrame *frame, PRUint32 type);
1343 :
1344 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1345 : #define NS_FORWARD_JSDICALLHOOK(_to) \
1346 : NS_SCRIPTABLE NS_IMETHOD OnCall(jsdIStackFrame *frame, PRUint32 type) { return _to OnCall(frame, type); }
1347 :
1348 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1349 : #define NS_FORWARD_SAFE_JSDICALLHOOK(_to) \
1350 : NS_SCRIPTABLE NS_IMETHOD OnCall(jsdIStackFrame *frame, PRUint32 type) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnCall(frame, type); }
1351 :
1352 : #if 0
1353 : /* Use the code below as a template for the implementation class for this interface. */
1354 :
1355 : /* Header file */
1356 : class _MYCLASS_ : public jsdICallHook
1357 : {
1358 : public:
1359 : NS_DECL_ISUPPORTS
1360 : NS_DECL_JSDICALLHOOK
1361 :
1362 : _MYCLASS_();
1363 :
1364 : private:
1365 : ~_MYCLASS_();
1366 :
1367 : protected:
1368 : /* additional members */
1369 : };
1370 :
1371 : /* Implementation file */
1372 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdICallHook)
1373 :
1374 : _MYCLASS_::_MYCLASS_()
1375 : {
1376 : /* member initializers and constructor code */
1377 : }
1378 :
1379 : _MYCLASS_::~_MYCLASS_()
1380 : {
1381 : /* destructor code */
1382 : }
1383 :
1384 : /* void onCall (in jsdIStackFrame frame, in unsigned long type); */
1385 : NS_IMETHODIMP _MYCLASS_::OnCall(jsdIStackFrame *frame, PRUint32 type)
1386 : {
1387 : return NS_ERROR_NOT_IMPLEMENTED;
1388 : }
1389 :
1390 : /* End of implementation class template. */
1391 : #endif
1392 :
1393 :
1394 : /* starting interface: jsdIErrorHook */
1395 : #define JSDIERRORHOOK_IID_STR "e6b45eee-d974-4d85-9d9e-f5a67218deb4"
1396 :
1397 : #define JSDIERRORHOOK_IID \
1398 : {0xe6b45eee, 0xd974, 0x4d85, \
1399 : { 0x9d, 0x9e, 0xf5, 0xa6, 0x72, 0x18, 0xde, 0xb4 }}
1400 :
1401 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIErrorHook : public nsISupports {
1402 : public:
1403 :
1404 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIERRORHOOK_IID)
1405 :
1406 : enum {
1407 : REPORT_ERROR = 0U,
1408 : REPORT_WARNING = 1U,
1409 : REPORT_EXCEPTION = 2U,
1410 : REPORT_STRICT = 4U
1411 : };
1412 :
1413 : /* boolean onError (in AUTF8String message, in AUTF8String fileName, in unsigned long line, in unsigned long pos, in unsigned long flags, in unsigned long errnum, in jsdIValue exc); */
1414 : NS_SCRIPTABLE NS_IMETHOD OnError(const nsACString & message, const nsACString & fileName, PRUint32 line, PRUint32 pos, PRUint32 flags, PRUint32 errnum, jsdIValue *exc, bool *_retval NS_OUTPARAM) = 0;
1415 :
1416 : };
1417 :
1418 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIErrorHook, JSDIERRORHOOK_IID)
1419 :
1420 : /* Use this macro when declaring classes that implement this interface. */
1421 : #define NS_DECL_JSDIERRORHOOK \
1422 : NS_SCRIPTABLE NS_IMETHOD OnError(const nsACString & message, const nsACString & fileName, PRUint32 line, PRUint32 pos, PRUint32 flags, PRUint32 errnum, jsdIValue *exc, bool *_retval NS_OUTPARAM);
1423 :
1424 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1425 : #define NS_FORWARD_JSDIERRORHOOK(_to) \
1426 : NS_SCRIPTABLE NS_IMETHOD OnError(const nsACString & message, const nsACString & fileName, PRUint32 line, PRUint32 pos, PRUint32 flags, PRUint32 errnum, jsdIValue *exc, bool *_retval NS_OUTPARAM) { return _to OnError(message, fileName, line, pos, flags, errnum, exc, _retval); }
1427 :
1428 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1429 : #define NS_FORWARD_SAFE_JSDIERRORHOOK(_to) \
1430 : NS_SCRIPTABLE NS_IMETHOD OnError(const nsACString & message, const nsACString & fileName, PRUint32 line, PRUint32 pos, PRUint32 flags, PRUint32 errnum, jsdIValue *exc, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnError(message, fileName, line, pos, flags, errnum, exc, _retval); }
1431 :
1432 : #if 0
1433 : /* Use the code below as a template for the implementation class for this interface. */
1434 :
1435 : /* Header file */
1436 : class _MYCLASS_ : public jsdIErrorHook
1437 : {
1438 : public:
1439 : NS_DECL_ISUPPORTS
1440 : NS_DECL_JSDIERRORHOOK
1441 :
1442 : _MYCLASS_();
1443 :
1444 : private:
1445 : ~_MYCLASS_();
1446 :
1447 : protected:
1448 : /* additional members */
1449 : };
1450 :
1451 : /* Implementation file */
1452 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIErrorHook)
1453 :
1454 : _MYCLASS_::_MYCLASS_()
1455 : {
1456 : /* member initializers and constructor code */
1457 : }
1458 :
1459 : _MYCLASS_::~_MYCLASS_()
1460 : {
1461 : /* destructor code */
1462 : }
1463 :
1464 : /* boolean onError (in AUTF8String message, in AUTF8String fileName, in unsigned long line, in unsigned long pos, in unsigned long flags, in unsigned long errnum, in jsdIValue exc); */
1465 : NS_IMETHODIMP _MYCLASS_::OnError(const nsACString & message, const nsACString & fileName, PRUint32 line, PRUint32 pos, PRUint32 flags, PRUint32 errnum, jsdIValue *exc, bool *_retval NS_OUTPARAM)
1466 : {
1467 : return NS_ERROR_NOT_IMPLEMENTED;
1468 : }
1469 :
1470 : /* End of implementation class template. */
1471 : #endif
1472 :
1473 :
1474 : /* starting interface: jsdIExecutionHook */
1475 : #define JSDIEXECUTIONHOOK_IID_STR "3a722496-9d78-4f0a-a797-293d9e8cb8d2"
1476 :
1477 : #define JSDIEXECUTIONHOOK_IID \
1478 : {0x3a722496, 0x9d78, 0x4f0a, \
1479 : { 0xa7, 0x97, 0x29, 0x3d, 0x9e, 0x8c, 0xb8, 0xd2 }}
1480 :
1481 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIExecutionHook : public nsISupports {
1482 : public:
1483 :
1484 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIEXECUTIONHOOK_IID)
1485 :
1486 : enum {
1487 : TYPE_INTERRUPTED = 0U,
1488 : TYPE_BREAKPOINT = 1U,
1489 : TYPE_DEBUG_REQUESTED = 2U,
1490 : TYPE_DEBUGGER_KEYWORD = 3U,
1491 : TYPE_THROW = 4U,
1492 : RETURN_HOOK_ERROR = 0U,
1493 : RETURN_CONTINUE = 1U,
1494 : RETURN_ABORT = 2U,
1495 : RETURN_RET_WITH_VAL = 3U,
1496 : RETURN_THROW_WITH_VAL = 4U,
1497 : RETURN_CONTINUE_THROW = 5U
1498 : };
1499 :
1500 : /* unsigned long onExecute (in jsdIStackFrame frame, in unsigned long type, inout jsdIValue val); */
1501 : NS_SCRIPTABLE NS_IMETHOD OnExecute(jsdIStackFrame *frame, PRUint32 type, jsdIValue * *val NS_INOUTPARAM, PRUint32 *_retval NS_OUTPARAM) = 0;
1502 :
1503 : };
1504 :
1505 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIExecutionHook, JSDIEXECUTIONHOOK_IID)
1506 :
1507 : /* Use this macro when declaring classes that implement this interface. */
1508 : #define NS_DECL_JSDIEXECUTIONHOOK \
1509 : NS_SCRIPTABLE NS_IMETHOD OnExecute(jsdIStackFrame *frame, PRUint32 type, jsdIValue * *val NS_INOUTPARAM, PRUint32 *_retval NS_OUTPARAM);
1510 :
1511 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1512 : #define NS_FORWARD_JSDIEXECUTIONHOOK(_to) \
1513 : NS_SCRIPTABLE NS_IMETHOD OnExecute(jsdIStackFrame *frame, PRUint32 type, jsdIValue * *val NS_INOUTPARAM, PRUint32 *_retval NS_OUTPARAM) { return _to OnExecute(frame, type, val, _retval); }
1514 :
1515 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1516 : #define NS_FORWARD_SAFE_JSDIEXECUTIONHOOK(_to) \
1517 : NS_SCRIPTABLE NS_IMETHOD OnExecute(jsdIStackFrame *frame, PRUint32 type, jsdIValue * *val NS_INOUTPARAM, PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->OnExecute(frame, type, val, _retval); }
1518 :
1519 : #if 0
1520 : /* Use the code below as a template for the implementation class for this interface. */
1521 :
1522 : /* Header file */
1523 : class _MYCLASS_ : public jsdIExecutionHook
1524 : {
1525 : public:
1526 : NS_DECL_ISUPPORTS
1527 : NS_DECL_JSDIEXECUTIONHOOK
1528 :
1529 : _MYCLASS_();
1530 :
1531 : private:
1532 : ~_MYCLASS_();
1533 :
1534 : protected:
1535 : /* additional members */
1536 : };
1537 :
1538 : /* Implementation file */
1539 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIExecutionHook)
1540 :
1541 : _MYCLASS_::_MYCLASS_()
1542 : {
1543 : /* member initializers and constructor code */
1544 : }
1545 :
1546 : _MYCLASS_::~_MYCLASS_()
1547 : {
1548 : /* destructor code */
1549 : }
1550 :
1551 : /* unsigned long onExecute (in jsdIStackFrame frame, in unsigned long type, inout jsdIValue val); */
1552 : NS_IMETHODIMP _MYCLASS_::OnExecute(jsdIStackFrame *frame, PRUint32 type, jsdIValue * *val NS_INOUTPARAM, PRUint32 *_retval NS_OUTPARAM)
1553 : {
1554 : return NS_ERROR_NOT_IMPLEMENTED;
1555 : }
1556 :
1557 : /* End of implementation class template. */
1558 : #endif
1559 :
1560 :
1561 : /* starting interface: jsdIEphemeral */
1562 : #define JSDIEPHEMERAL_IID_STR "46f1e23e-1dd2-11b2-9ceb-8285f2e95e69"
1563 :
1564 : #define JSDIEPHEMERAL_IID \
1565 : {0x46f1e23e, 0x1dd2, 0x11b2, \
1566 : { 0x9c, 0xeb, 0x82, 0x85, 0xf2, 0xe9, 0x5e, 0x69 }}
1567 :
1568 9 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIEphemeral : public nsISupports {
1569 : public:
1570 :
1571 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIEPHEMERAL_IID)
1572 :
1573 : /* readonly attribute boolean isValid; */
1574 : NS_SCRIPTABLE NS_IMETHOD GetIsValid(bool *aIsValid) = 0;
1575 :
1576 : /* [noscript] void invalidate (); */
1577 : NS_IMETHOD Invalidate(void) = 0;
1578 :
1579 : };
1580 :
1581 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIEphemeral, JSDIEPHEMERAL_IID)
1582 :
1583 : /* Use this macro when declaring classes that implement this interface. */
1584 : #define NS_DECL_JSDIEPHEMERAL \
1585 : NS_SCRIPTABLE NS_IMETHOD GetIsValid(bool *aIsValid); \
1586 : NS_IMETHOD Invalidate(void);
1587 :
1588 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1589 : #define NS_FORWARD_JSDIEPHEMERAL(_to) \
1590 : NS_SCRIPTABLE NS_IMETHOD GetIsValid(bool *aIsValid) { return _to GetIsValid(aIsValid); } \
1591 : NS_IMETHOD Invalidate(void) { return _to Invalidate(); }
1592 :
1593 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1594 : #define NS_FORWARD_SAFE_JSDIEPHEMERAL(_to) \
1595 : NS_SCRIPTABLE NS_IMETHOD GetIsValid(bool *aIsValid) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsValid(aIsValid); } \
1596 : NS_IMETHOD Invalidate(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Invalidate(); }
1597 :
1598 : #if 0
1599 : /* Use the code below as a template for the implementation class for this interface. */
1600 :
1601 : /* Header file */
1602 : class _MYCLASS_ : public jsdIEphemeral
1603 : {
1604 : public:
1605 : NS_DECL_ISUPPORTS
1606 : NS_DECL_JSDIEPHEMERAL
1607 :
1608 : _MYCLASS_();
1609 :
1610 : private:
1611 : ~_MYCLASS_();
1612 :
1613 : protected:
1614 : /* additional members */
1615 : };
1616 :
1617 : /* Implementation file */
1618 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIEphemeral)
1619 :
1620 : _MYCLASS_::_MYCLASS_()
1621 : {
1622 : /* member initializers and constructor code */
1623 : }
1624 :
1625 : _MYCLASS_::~_MYCLASS_()
1626 : {
1627 : /* destructor code */
1628 : }
1629 :
1630 : /* readonly attribute boolean isValid; */
1631 : NS_IMETHODIMP _MYCLASS_::GetIsValid(bool *aIsValid)
1632 : {
1633 : return NS_ERROR_NOT_IMPLEMENTED;
1634 : }
1635 :
1636 : /* [noscript] void invalidate (); */
1637 : NS_IMETHODIMP _MYCLASS_::Invalidate()
1638 : {
1639 : return NS_ERROR_NOT_IMPLEMENTED;
1640 : }
1641 :
1642 : /* End of implementation class template. */
1643 : #endif
1644 :
1645 :
1646 : /* starting interface: jsdIContext */
1647 : #define JSDICONTEXT_IID_STR "3e5c934d-6863-4d81-96f5-76a3b962fc2b"
1648 :
1649 : #define JSDICONTEXT_IID \
1650 : {0x3e5c934d, 0x6863, 0x4d81, \
1651 : { 0x96, 0xf5, 0x76, 0xa3, 0xb9, 0x62, 0xfc, 0x2b }}
1652 :
1653 0 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIContext : public jsdIEphemeral {
1654 : public:
1655 :
1656 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDICONTEXT_IID)
1657 :
1658 : /* [noscript] readonly attribute JSContext JSContext; */
1659 : NS_IMETHOD GetJSContext(JSContext **aJSContext) = 0;
1660 :
1661 : enum {
1662 : OPT_STRICT = 1,
1663 : OPT_WERR = 2,
1664 : OPT_VAROBJFIX = 4,
1665 : OPT_ISUPPORTS = 8
1666 : };
1667 :
1668 : /* attribute unsigned long options; */
1669 : NS_SCRIPTABLE NS_IMETHOD GetOptions(PRUint32 *aOptions) = 0;
1670 : NS_SCRIPTABLE NS_IMETHOD SetOptions(PRUint32 aOptions) = 0;
1671 :
1672 : /* attribute long version; */
1673 : NS_SCRIPTABLE NS_IMETHOD GetVersion(PRInt32 *aVersion) = 0;
1674 : NS_SCRIPTABLE NS_IMETHOD SetVersion(PRInt32 aVersion) = 0;
1675 :
1676 : /* readonly attribute unsigned long tag; */
1677 : NS_SCRIPTABLE NS_IMETHOD GetTag(PRUint32 *aTag) = 0;
1678 :
1679 : /* readonly attribute nsISupports privateData; */
1680 : NS_SCRIPTABLE NS_IMETHOD GetPrivateData(nsISupports * *aPrivateData) = 0;
1681 :
1682 : /* readonly attribute nsISupports wrappedContext; */
1683 : NS_SCRIPTABLE NS_IMETHOD GetWrappedContext(nsISupports * *aWrappedContext) = 0;
1684 :
1685 : /* readonly attribute jsdIValue globalObject; */
1686 : NS_SCRIPTABLE NS_IMETHOD GetGlobalObject(jsdIValue * *aGlobalObject) = 0;
1687 :
1688 : /* attribute boolean scriptsEnabled; */
1689 : NS_SCRIPTABLE NS_IMETHOD GetScriptsEnabled(bool *aScriptsEnabled) = 0;
1690 : NS_SCRIPTABLE NS_IMETHOD SetScriptsEnabled(bool aScriptsEnabled) = 0;
1691 :
1692 : };
1693 :
1694 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIContext, JSDICONTEXT_IID)
1695 :
1696 : /* Use this macro when declaring classes that implement this interface. */
1697 : #define NS_DECL_JSDICONTEXT \
1698 : NS_IMETHOD GetJSContext(JSContext **aJSContext); \
1699 : NS_SCRIPTABLE NS_IMETHOD GetOptions(PRUint32 *aOptions); \
1700 : NS_SCRIPTABLE NS_IMETHOD SetOptions(PRUint32 aOptions); \
1701 : NS_SCRIPTABLE NS_IMETHOD GetVersion(PRInt32 *aVersion); \
1702 : NS_SCRIPTABLE NS_IMETHOD SetVersion(PRInt32 aVersion); \
1703 : NS_SCRIPTABLE NS_IMETHOD GetTag(PRUint32 *aTag); \
1704 : NS_SCRIPTABLE NS_IMETHOD GetPrivateData(nsISupports * *aPrivateData); \
1705 : NS_SCRIPTABLE NS_IMETHOD GetWrappedContext(nsISupports * *aWrappedContext); \
1706 : NS_SCRIPTABLE NS_IMETHOD GetGlobalObject(jsdIValue * *aGlobalObject); \
1707 : NS_SCRIPTABLE NS_IMETHOD GetScriptsEnabled(bool *aScriptsEnabled); \
1708 : NS_SCRIPTABLE NS_IMETHOD SetScriptsEnabled(bool aScriptsEnabled);
1709 :
1710 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1711 : #define NS_FORWARD_JSDICONTEXT(_to) \
1712 : NS_IMETHOD GetJSContext(JSContext **aJSContext) { return _to GetJSContext(aJSContext); } \
1713 : NS_SCRIPTABLE NS_IMETHOD GetOptions(PRUint32 *aOptions) { return _to GetOptions(aOptions); } \
1714 : NS_SCRIPTABLE NS_IMETHOD SetOptions(PRUint32 aOptions) { return _to SetOptions(aOptions); } \
1715 : NS_SCRIPTABLE NS_IMETHOD GetVersion(PRInt32 *aVersion) { return _to GetVersion(aVersion); } \
1716 : NS_SCRIPTABLE NS_IMETHOD SetVersion(PRInt32 aVersion) { return _to SetVersion(aVersion); } \
1717 : NS_SCRIPTABLE NS_IMETHOD GetTag(PRUint32 *aTag) { return _to GetTag(aTag); } \
1718 : NS_SCRIPTABLE NS_IMETHOD GetPrivateData(nsISupports * *aPrivateData) { return _to GetPrivateData(aPrivateData); } \
1719 : NS_SCRIPTABLE NS_IMETHOD GetWrappedContext(nsISupports * *aWrappedContext) { return _to GetWrappedContext(aWrappedContext); } \
1720 : NS_SCRIPTABLE NS_IMETHOD GetGlobalObject(jsdIValue * *aGlobalObject) { return _to GetGlobalObject(aGlobalObject); } \
1721 : NS_SCRIPTABLE NS_IMETHOD GetScriptsEnabled(bool *aScriptsEnabled) { return _to GetScriptsEnabled(aScriptsEnabled); } \
1722 : NS_SCRIPTABLE NS_IMETHOD SetScriptsEnabled(bool aScriptsEnabled) { return _to SetScriptsEnabled(aScriptsEnabled); }
1723 :
1724 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1725 : #define NS_FORWARD_SAFE_JSDICONTEXT(_to) \
1726 : NS_IMETHOD GetJSContext(JSContext **aJSContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSContext(aJSContext); } \
1727 : NS_SCRIPTABLE NS_IMETHOD GetOptions(PRUint32 *aOptions) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOptions(aOptions); } \
1728 : NS_SCRIPTABLE NS_IMETHOD SetOptions(PRUint32 aOptions) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOptions(aOptions); } \
1729 : NS_SCRIPTABLE NS_IMETHOD GetVersion(PRInt32 *aVersion) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetVersion(aVersion); } \
1730 : NS_SCRIPTABLE NS_IMETHOD SetVersion(PRInt32 aVersion) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetVersion(aVersion); } \
1731 : NS_SCRIPTABLE NS_IMETHOD GetTag(PRUint32 *aTag) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTag(aTag); } \
1732 : NS_SCRIPTABLE NS_IMETHOD GetPrivateData(nsISupports * *aPrivateData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPrivateData(aPrivateData); } \
1733 : NS_SCRIPTABLE NS_IMETHOD GetWrappedContext(nsISupports * *aWrappedContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWrappedContext(aWrappedContext); } \
1734 : NS_SCRIPTABLE NS_IMETHOD GetGlobalObject(jsdIValue * *aGlobalObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGlobalObject(aGlobalObject); } \
1735 : NS_SCRIPTABLE NS_IMETHOD GetScriptsEnabled(bool *aScriptsEnabled) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScriptsEnabled(aScriptsEnabled); } \
1736 : NS_SCRIPTABLE NS_IMETHOD SetScriptsEnabled(bool aScriptsEnabled) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetScriptsEnabled(aScriptsEnabled); }
1737 :
1738 : #if 0
1739 : /* Use the code below as a template for the implementation class for this interface. */
1740 :
1741 : /* Header file */
1742 : class _MYCLASS_ : public jsdIContext
1743 : {
1744 : public:
1745 : NS_DECL_ISUPPORTS
1746 : NS_DECL_JSDICONTEXT
1747 :
1748 : _MYCLASS_();
1749 :
1750 : private:
1751 : ~_MYCLASS_();
1752 :
1753 : protected:
1754 : /* additional members */
1755 : };
1756 :
1757 : /* Implementation file */
1758 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIContext)
1759 :
1760 : _MYCLASS_::_MYCLASS_()
1761 : {
1762 : /* member initializers and constructor code */
1763 : }
1764 :
1765 : _MYCLASS_::~_MYCLASS_()
1766 : {
1767 : /* destructor code */
1768 : }
1769 :
1770 : /* [noscript] readonly attribute JSContext JSContext; */
1771 : NS_IMETHODIMP _MYCLASS_::GetJSContext(JSContext **aJSContext)
1772 : {
1773 : return NS_ERROR_NOT_IMPLEMENTED;
1774 : }
1775 :
1776 : /* attribute unsigned long options; */
1777 : NS_IMETHODIMP _MYCLASS_::GetOptions(PRUint32 *aOptions)
1778 : {
1779 : return NS_ERROR_NOT_IMPLEMENTED;
1780 : }
1781 : NS_IMETHODIMP _MYCLASS_::SetOptions(PRUint32 aOptions)
1782 : {
1783 : return NS_ERROR_NOT_IMPLEMENTED;
1784 : }
1785 :
1786 : /* attribute long version; */
1787 : NS_IMETHODIMP _MYCLASS_::GetVersion(PRInt32 *aVersion)
1788 : {
1789 : return NS_ERROR_NOT_IMPLEMENTED;
1790 : }
1791 : NS_IMETHODIMP _MYCLASS_::SetVersion(PRInt32 aVersion)
1792 : {
1793 : return NS_ERROR_NOT_IMPLEMENTED;
1794 : }
1795 :
1796 : /* readonly attribute unsigned long tag; */
1797 : NS_IMETHODIMP _MYCLASS_::GetTag(PRUint32 *aTag)
1798 : {
1799 : return NS_ERROR_NOT_IMPLEMENTED;
1800 : }
1801 :
1802 : /* readonly attribute nsISupports privateData; */
1803 : NS_IMETHODIMP _MYCLASS_::GetPrivateData(nsISupports * *aPrivateData)
1804 : {
1805 : return NS_ERROR_NOT_IMPLEMENTED;
1806 : }
1807 :
1808 : /* readonly attribute nsISupports wrappedContext; */
1809 : NS_IMETHODIMP _MYCLASS_::GetWrappedContext(nsISupports * *aWrappedContext)
1810 : {
1811 : return NS_ERROR_NOT_IMPLEMENTED;
1812 : }
1813 :
1814 : /* readonly attribute jsdIValue globalObject; */
1815 : NS_IMETHODIMP _MYCLASS_::GetGlobalObject(jsdIValue * *aGlobalObject)
1816 : {
1817 : return NS_ERROR_NOT_IMPLEMENTED;
1818 : }
1819 :
1820 : /* attribute boolean scriptsEnabled; */
1821 : NS_IMETHODIMP _MYCLASS_::GetScriptsEnabled(bool *aScriptsEnabled)
1822 : {
1823 : return NS_ERROR_NOT_IMPLEMENTED;
1824 : }
1825 : NS_IMETHODIMP _MYCLASS_::SetScriptsEnabled(bool aScriptsEnabled)
1826 : {
1827 : return NS_ERROR_NOT_IMPLEMENTED;
1828 : }
1829 :
1830 : /* End of implementation class template. */
1831 : #endif
1832 :
1833 :
1834 : /* starting interface: jsdIStackFrame */
1835 : #define JSDISTACKFRAME_IID_STR "7c95422c-7579-4a6f-8ef7-e5b391552ee5"
1836 :
1837 : #define JSDISTACKFRAME_IID \
1838 : {0x7c95422c, 0x7579, 0x4a6f, \
1839 : { 0x8e, 0xf7, 0xe5, 0xb3, 0x91, 0x55, 0x2e, 0xe5 }}
1840 :
1841 1 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIStackFrame : public jsdIEphemeral {
1842 : public:
1843 :
1844 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDISTACKFRAME_IID)
1845 :
1846 : /* [noscript] readonly attribute JSDContext JSDContext; */
1847 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) = 0;
1848 :
1849 : /* [noscript] readonly attribute JSDThreadState JSDThreadState; */
1850 : NS_IMETHOD GetJSDThreadState(JSDThreadState **aJSDThreadState) = 0;
1851 :
1852 : /* [noscript] readonly attribute JSDStackFrameInfo JSDStackFrameInfo; */
1853 : NS_IMETHOD GetJSDStackFrameInfo(JSDStackFrameInfo **aJSDStackFrameInfo) = 0;
1854 :
1855 : /* readonly attribute boolean isDebugger; */
1856 : NS_SCRIPTABLE NS_IMETHOD GetIsDebugger(bool *aIsDebugger) = 0;
1857 :
1858 : /* readonly attribute boolean isConstructing; */
1859 : NS_SCRIPTABLE NS_IMETHOD GetIsConstructing(bool *aIsConstructing) = 0;
1860 :
1861 : /* readonly attribute jsdIStackFrame callingFrame; */
1862 : NS_SCRIPTABLE NS_IMETHOD GetCallingFrame(jsdIStackFrame * *aCallingFrame) = 0;
1863 :
1864 : /* readonly attribute jsdIContext executionContext; */
1865 : NS_SCRIPTABLE NS_IMETHOD GetExecutionContext(jsdIContext * *aExecutionContext) = 0;
1866 :
1867 : /* readonly attribute AUTF8String functionName; */
1868 : NS_SCRIPTABLE NS_IMETHOD GetFunctionName(nsACString & aFunctionName) = 0;
1869 :
1870 : /* readonly attribute jsdIScript script; */
1871 : NS_SCRIPTABLE NS_IMETHOD GetScript(jsdIScript * *aScript) = 0;
1872 :
1873 : /* readonly attribute unsigned long pc; */
1874 : NS_SCRIPTABLE NS_IMETHOD GetPc(PRUint32 *aPc) = 0;
1875 :
1876 : /* readonly attribute unsigned long line; */
1877 : NS_SCRIPTABLE NS_IMETHOD GetLine(PRUint32 *aLine) = 0;
1878 :
1879 : /* readonly attribute jsdIValue callee; */
1880 : NS_SCRIPTABLE NS_IMETHOD GetCallee(jsdIValue * *aCallee) = 0;
1881 :
1882 : /* readonly attribute jsdIValue scope; */
1883 : NS_SCRIPTABLE NS_IMETHOD GetScope(jsdIValue * *aScope) = 0;
1884 :
1885 : /* readonly attribute jsdIValue thisValue; */
1886 : NS_SCRIPTABLE NS_IMETHOD GetThisValue(jsdIValue * *aThisValue) = 0;
1887 :
1888 : /* boolean eval (in AString bytes, in AUTF8String fileName, in unsigned long line, out jsdIValue result); */
1889 : NS_SCRIPTABLE NS_IMETHOD Eval(const nsAString & bytes, const nsACString & fileName, PRUint32 line, jsdIValue * *result NS_OUTPARAM, bool *_retval NS_OUTPARAM) = 0;
1890 :
1891 : };
1892 :
1893 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIStackFrame, JSDISTACKFRAME_IID)
1894 :
1895 : /* Use this macro when declaring classes that implement this interface. */
1896 : #define NS_DECL_JSDISTACKFRAME \
1897 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext); \
1898 : NS_IMETHOD GetJSDThreadState(JSDThreadState **aJSDThreadState); \
1899 : NS_IMETHOD GetJSDStackFrameInfo(JSDStackFrameInfo **aJSDStackFrameInfo); \
1900 : NS_SCRIPTABLE NS_IMETHOD GetIsDebugger(bool *aIsDebugger); \
1901 : NS_SCRIPTABLE NS_IMETHOD GetIsConstructing(bool *aIsConstructing); \
1902 : NS_SCRIPTABLE NS_IMETHOD GetCallingFrame(jsdIStackFrame * *aCallingFrame); \
1903 : NS_SCRIPTABLE NS_IMETHOD GetExecutionContext(jsdIContext * *aExecutionContext); \
1904 : NS_SCRIPTABLE NS_IMETHOD GetFunctionName(nsACString & aFunctionName); \
1905 : NS_SCRIPTABLE NS_IMETHOD GetScript(jsdIScript * *aScript); \
1906 : NS_SCRIPTABLE NS_IMETHOD GetPc(PRUint32 *aPc); \
1907 : NS_SCRIPTABLE NS_IMETHOD GetLine(PRUint32 *aLine); \
1908 : NS_SCRIPTABLE NS_IMETHOD GetCallee(jsdIValue * *aCallee); \
1909 : NS_SCRIPTABLE NS_IMETHOD GetScope(jsdIValue * *aScope); \
1910 : NS_SCRIPTABLE NS_IMETHOD GetThisValue(jsdIValue * *aThisValue); \
1911 : NS_SCRIPTABLE NS_IMETHOD Eval(const nsAString & bytes, const nsACString & fileName, PRUint32 line, jsdIValue * *result NS_OUTPARAM, bool *_retval NS_OUTPARAM);
1912 :
1913 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
1914 : #define NS_FORWARD_JSDISTACKFRAME(_to) \
1915 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return _to GetJSDContext(aJSDContext); } \
1916 : NS_IMETHOD GetJSDThreadState(JSDThreadState **aJSDThreadState) { return _to GetJSDThreadState(aJSDThreadState); } \
1917 : NS_IMETHOD GetJSDStackFrameInfo(JSDStackFrameInfo **aJSDStackFrameInfo) { return _to GetJSDStackFrameInfo(aJSDStackFrameInfo); } \
1918 : NS_SCRIPTABLE NS_IMETHOD GetIsDebugger(bool *aIsDebugger) { return _to GetIsDebugger(aIsDebugger); } \
1919 : NS_SCRIPTABLE NS_IMETHOD GetIsConstructing(bool *aIsConstructing) { return _to GetIsConstructing(aIsConstructing); } \
1920 : NS_SCRIPTABLE NS_IMETHOD GetCallingFrame(jsdIStackFrame * *aCallingFrame) { return _to GetCallingFrame(aCallingFrame); } \
1921 : NS_SCRIPTABLE NS_IMETHOD GetExecutionContext(jsdIContext * *aExecutionContext) { return _to GetExecutionContext(aExecutionContext); } \
1922 : NS_SCRIPTABLE NS_IMETHOD GetFunctionName(nsACString & aFunctionName) { return _to GetFunctionName(aFunctionName); } \
1923 : NS_SCRIPTABLE NS_IMETHOD GetScript(jsdIScript * *aScript) { return _to GetScript(aScript); } \
1924 : NS_SCRIPTABLE NS_IMETHOD GetPc(PRUint32 *aPc) { return _to GetPc(aPc); } \
1925 : NS_SCRIPTABLE NS_IMETHOD GetLine(PRUint32 *aLine) { return _to GetLine(aLine); } \
1926 : NS_SCRIPTABLE NS_IMETHOD GetCallee(jsdIValue * *aCallee) { return _to GetCallee(aCallee); } \
1927 : NS_SCRIPTABLE NS_IMETHOD GetScope(jsdIValue * *aScope) { return _to GetScope(aScope); } \
1928 : NS_SCRIPTABLE NS_IMETHOD GetThisValue(jsdIValue * *aThisValue) { return _to GetThisValue(aThisValue); } \
1929 : NS_SCRIPTABLE NS_IMETHOD Eval(const nsAString & bytes, const nsACString & fileName, PRUint32 line, jsdIValue * *result NS_OUTPARAM, bool *_retval NS_OUTPARAM) { return _to Eval(bytes, fileName, line, result, _retval); }
1930 :
1931 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
1932 : #define NS_FORWARD_SAFE_JSDISTACKFRAME(_to) \
1933 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDContext(aJSDContext); } \
1934 : NS_IMETHOD GetJSDThreadState(JSDThreadState **aJSDThreadState) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDThreadState(aJSDThreadState); } \
1935 : NS_IMETHOD GetJSDStackFrameInfo(JSDStackFrameInfo **aJSDStackFrameInfo) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDStackFrameInfo(aJSDStackFrameInfo); } \
1936 : NS_SCRIPTABLE NS_IMETHOD GetIsDebugger(bool *aIsDebugger) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsDebugger(aIsDebugger); } \
1937 : NS_SCRIPTABLE NS_IMETHOD GetIsConstructing(bool *aIsConstructing) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsConstructing(aIsConstructing); } \
1938 : NS_SCRIPTABLE NS_IMETHOD GetCallingFrame(jsdIStackFrame * *aCallingFrame) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCallingFrame(aCallingFrame); } \
1939 : NS_SCRIPTABLE NS_IMETHOD GetExecutionContext(jsdIContext * *aExecutionContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetExecutionContext(aExecutionContext); } \
1940 : NS_SCRIPTABLE NS_IMETHOD GetFunctionName(nsACString & aFunctionName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFunctionName(aFunctionName); } \
1941 : NS_SCRIPTABLE NS_IMETHOD GetScript(jsdIScript * *aScript) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScript(aScript); } \
1942 : NS_SCRIPTABLE NS_IMETHOD GetPc(PRUint32 *aPc) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPc(aPc); } \
1943 : NS_SCRIPTABLE NS_IMETHOD GetLine(PRUint32 *aLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLine(aLine); } \
1944 : NS_SCRIPTABLE NS_IMETHOD GetCallee(jsdIValue * *aCallee) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCallee(aCallee); } \
1945 : NS_SCRIPTABLE NS_IMETHOD GetScope(jsdIValue * *aScope) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScope(aScope); } \
1946 : NS_SCRIPTABLE NS_IMETHOD GetThisValue(jsdIValue * *aThisValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetThisValue(aThisValue); } \
1947 : NS_SCRIPTABLE NS_IMETHOD Eval(const nsAString & bytes, const nsACString & fileName, PRUint32 line, jsdIValue * *result NS_OUTPARAM, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Eval(bytes, fileName, line, result, _retval); }
1948 :
1949 : #if 0
1950 : /* Use the code below as a template for the implementation class for this interface. */
1951 :
1952 : /* Header file */
1953 : class _MYCLASS_ : public jsdIStackFrame
1954 : {
1955 : public:
1956 : NS_DECL_ISUPPORTS
1957 : NS_DECL_JSDISTACKFRAME
1958 :
1959 : _MYCLASS_();
1960 :
1961 : private:
1962 : ~_MYCLASS_();
1963 :
1964 : protected:
1965 : /* additional members */
1966 : };
1967 :
1968 : /* Implementation file */
1969 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIStackFrame)
1970 :
1971 : _MYCLASS_::_MYCLASS_()
1972 : {
1973 : /* member initializers and constructor code */
1974 : }
1975 :
1976 : _MYCLASS_::~_MYCLASS_()
1977 : {
1978 : /* destructor code */
1979 : }
1980 :
1981 : /* [noscript] readonly attribute JSDContext JSDContext; */
1982 : NS_IMETHODIMP _MYCLASS_::GetJSDContext(JSDContext **aJSDContext)
1983 : {
1984 : return NS_ERROR_NOT_IMPLEMENTED;
1985 : }
1986 :
1987 : /* [noscript] readonly attribute JSDThreadState JSDThreadState; */
1988 : NS_IMETHODIMP _MYCLASS_::GetJSDThreadState(JSDThreadState **aJSDThreadState)
1989 : {
1990 : return NS_ERROR_NOT_IMPLEMENTED;
1991 : }
1992 :
1993 : /* [noscript] readonly attribute JSDStackFrameInfo JSDStackFrameInfo; */
1994 : NS_IMETHODIMP _MYCLASS_::GetJSDStackFrameInfo(JSDStackFrameInfo **aJSDStackFrameInfo)
1995 : {
1996 : return NS_ERROR_NOT_IMPLEMENTED;
1997 : }
1998 :
1999 : /* readonly attribute boolean isDebugger; */
2000 : NS_IMETHODIMP _MYCLASS_::GetIsDebugger(bool *aIsDebugger)
2001 : {
2002 : return NS_ERROR_NOT_IMPLEMENTED;
2003 : }
2004 :
2005 : /* readonly attribute boolean isConstructing; */
2006 : NS_IMETHODIMP _MYCLASS_::GetIsConstructing(bool *aIsConstructing)
2007 : {
2008 : return NS_ERROR_NOT_IMPLEMENTED;
2009 : }
2010 :
2011 : /* readonly attribute jsdIStackFrame callingFrame; */
2012 : NS_IMETHODIMP _MYCLASS_::GetCallingFrame(jsdIStackFrame * *aCallingFrame)
2013 : {
2014 : return NS_ERROR_NOT_IMPLEMENTED;
2015 : }
2016 :
2017 : /* readonly attribute jsdIContext executionContext; */
2018 : NS_IMETHODIMP _MYCLASS_::GetExecutionContext(jsdIContext * *aExecutionContext)
2019 : {
2020 : return NS_ERROR_NOT_IMPLEMENTED;
2021 : }
2022 :
2023 : /* readonly attribute AUTF8String functionName; */
2024 : NS_IMETHODIMP _MYCLASS_::GetFunctionName(nsACString & aFunctionName)
2025 : {
2026 : return NS_ERROR_NOT_IMPLEMENTED;
2027 : }
2028 :
2029 : /* readonly attribute jsdIScript script; */
2030 : NS_IMETHODIMP _MYCLASS_::GetScript(jsdIScript * *aScript)
2031 : {
2032 : return NS_ERROR_NOT_IMPLEMENTED;
2033 : }
2034 :
2035 : /* readonly attribute unsigned long pc; */
2036 : NS_IMETHODIMP _MYCLASS_::GetPc(PRUint32 *aPc)
2037 : {
2038 : return NS_ERROR_NOT_IMPLEMENTED;
2039 : }
2040 :
2041 : /* readonly attribute unsigned long line; */
2042 : NS_IMETHODIMP _MYCLASS_::GetLine(PRUint32 *aLine)
2043 : {
2044 : return NS_ERROR_NOT_IMPLEMENTED;
2045 : }
2046 :
2047 : /* readonly attribute jsdIValue callee; */
2048 : NS_IMETHODIMP _MYCLASS_::GetCallee(jsdIValue * *aCallee)
2049 : {
2050 : return NS_ERROR_NOT_IMPLEMENTED;
2051 : }
2052 :
2053 : /* readonly attribute jsdIValue scope; */
2054 : NS_IMETHODIMP _MYCLASS_::GetScope(jsdIValue * *aScope)
2055 : {
2056 : return NS_ERROR_NOT_IMPLEMENTED;
2057 : }
2058 :
2059 : /* readonly attribute jsdIValue thisValue; */
2060 : NS_IMETHODIMP _MYCLASS_::GetThisValue(jsdIValue * *aThisValue)
2061 : {
2062 : return NS_ERROR_NOT_IMPLEMENTED;
2063 : }
2064 :
2065 : /* boolean eval (in AString bytes, in AUTF8String fileName, in unsigned long line, out jsdIValue result); */
2066 : NS_IMETHODIMP _MYCLASS_::Eval(const nsAString & bytes, const nsACString & fileName, PRUint32 line, jsdIValue * *result NS_OUTPARAM, bool *_retval NS_OUTPARAM)
2067 : {
2068 : return NS_ERROR_NOT_IMPLEMENTED;
2069 : }
2070 :
2071 : /* End of implementation class template. */
2072 : #endif
2073 :
2074 :
2075 : /* starting interface: jsdIScript */
2076 : #define JSDISCRIPT_IID_STR "721724e0-7716-4bf4-b48f-92b78d056141"
2077 :
2078 : #define JSDISCRIPT_IID \
2079 : {0x721724e0, 0x7716, 0x4bf4, \
2080 : { 0xb4, 0x8f, 0x92, 0xb7, 0x8d, 0x05, 0x61, 0x41 }}
2081 :
2082 6 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIScript : public jsdIEphemeral {
2083 : public:
2084 :
2085 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDISCRIPT_IID)
2086 :
2087 : /* [noscript] readonly attribute JSDContext JSDContext; */
2088 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) = 0;
2089 :
2090 : /* [noscript] readonly attribute JSDScript JSDScript; */
2091 : NS_IMETHOD GetJSDScript(JSDScript **aJSDScript) = 0;
2092 :
2093 : /* readonly attribute long version; */
2094 : NS_SCRIPTABLE NS_IMETHOD GetVersion(PRInt32 *aVersion) = 0;
2095 :
2096 : /* readonly attribute unsigned long tag; */
2097 : NS_SCRIPTABLE NS_IMETHOD GetTag(PRUint32 *aTag) = 0;
2098 :
2099 : enum {
2100 : FLAG_PROFILE = 1U,
2101 : FLAG_DEBUG = 2U
2102 : };
2103 :
2104 : /* attribute unsigned long flags; */
2105 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) = 0;
2106 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) = 0;
2107 :
2108 : /* readonly attribute AUTF8String fileName; */
2109 : NS_SCRIPTABLE NS_IMETHOD GetFileName(nsACString & aFileName) = 0;
2110 :
2111 : /* readonly attribute AUTF8String functionName; */
2112 : NS_SCRIPTABLE NS_IMETHOD GetFunctionName(nsACString & aFunctionName) = 0;
2113 :
2114 : /* void getParameterNames ([optional] out unsigned long count, [array, size_is (count), retval] out wstring paramNames); */
2115 : NS_SCRIPTABLE NS_IMETHOD GetParameterNames(PRUint32 *count NS_OUTPARAM, PRUnichar * **paramNames NS_OUTPARAM) = 0;
2116 :
2117 : /* readonly attribute jsdIValue functionObject; */
2118 : NS_SCRIPTABLE NS_IMETHOD GetFunctionObject(jsdIValue * *aFunctionObject) = 0;
2119 :
2120 : /* readonly attribute AString functionSource; */
2121 : NS_SCRIPTABLE NS_IMETHOD GetFunctionSource(nsAString & aFunctionSource) = 0;
2122 :
2123 : /* readonly attribute unsigned long baseLineNumber; */
2124 : NS_SCRIPTABLE NS_IMETHOD GetBaseLineNumber(PRUint32 *aBaseLineNumber) = 0;
2125 :
2126 : /* readonly attribute unsigned long lineExtent; */
2127 : NS_SCRIPTABLE NS_IMETHOD GetLineExtent(PRUint32 *aLineExtent) = 0;
2128 :
2129 : /* readonly attribute unsigned long callCount; */
2130 : NS_SCRIPTABLE NS_IMETHOD GetCallCount(PRUint32 *aCallCount) = 0;
2131 :
2132 : /* readonly attribute unsigned long maxRecurseDepth; */
2133 : NS_SCRIPTABLE NS_IMETHOD GetMaxRecurseDepth(PRUint32 *aMaxRecurseDepth) = 0;
2134 :
2135 : /* readonly attribute double minExecutionTime; */
2136 : NS_SCRIPTABLE NS_IMETHOD GetMinExecutionTime(double *aMinExecutionTime) = 0;
2137 :
2138 : /* readonly attribute double maxExecutionTime; */
2139 : NS_SCRIPTABLE NS_IMETHOD GetMaxExecutionTime(double *aMaxExecutionTime) = 0;
2140 :
2141 : /* readonly attribute double totalExecutionTime; */
2142 : NS_SCRIPTABLE NS_IMETHOD GetTotalExecutionTime(double *aTotalExecutionTime) = 0;
2143 :
2144 : /* readonly attribute double minOwnExecutionTime; */
2145 : NS_SCRIPTABLE NS_IMETHOD GetMinOwnExecutionTime(double *aMinOwnExecutionTime) = 0;
2146 :
2147 : /* readonly attribute double maxOwnExecutionTime; */
2148 : NS_SCRIPTABLE NS_IMETHOD GetMaxOwnExecutionTime(double *aMaxOwnExecutionTime) = 0;
2149 :
2150 : /* readonly attribute double totalOwnExecutionTime; */
2151 : NS_SCRIPTABLE NS_IMETHOD GetTotalOwnExecutionTime(double *aTotalOwnExecutionTime) = 0;
2152 :
2153 : /* void clearProfileData (); */
2154 : NS_SCRIPTABLE NS_IMETHOD ClearProfileData(void) = 0;
2155 :
2156 : enum {
2157 : PCMAP_SOURCETEXT = 1U,
2158 : PCMAP_PRETTYPRINT = 2U
2159 : };
2160 :
2161 : /* unsigned long pcToLine (in unsigned long pc, in unsigned long pcmap); */
2162 : NS_SCRIPTABLE NS_IMETHOD PcToLine(PRUint32 pc, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM) = 0;
2163 :
2164 : /* unsigned long lineToPc (in unsigned long line, in unsigned long pcmap); */
2165 : NS_SCRIPTABLE NS_IMETHOD LineToPc(PRUint32 line, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM) = 0;
2166 :
2167 : /* boolean isLineExecutable (in unsigned long line, in unsigned long pcmap); */
2168 : NS_SCRIPTABLE NS_IMETHOD IsLineExecutable(PRUint32 line, PRUint32 pcmap, bool *_retval NS_OUTPARAM) = 0;
2169 :
2170 : /* void getExecutableLines (in unsigned long pcmap, in unsigned long startLine, in unsigned long maxLines, [optional] out unsigned long count, [array, size_is (count), retval] out unsigned long executableLines); */
2171 : NS_SCRIPTABLE NS_IMETHOD GetExecutableLines(PRUint32 pcmap, PRUint32 startLine, PRUint32 maxLines, PRUint32 *count NS_OUTPARAM, PRUint32 **executableLines NS_OUTPARAM) = 0;
2172 :
2173 : /* void setBreakpoint (in unsigned long pc); */
2174 : NS_SCRIPTABLE NS_IMETHOD SetBreakpoint(PRUint32 pc) = 0;
2175 :
2176 : /* void clearBreakpoint (in unsigned long pc); */
2177 : NS_SCRIPTABLE NS_IMETHOD ClearBreakpoint(PRUint32 pc) = 0;
2178 :
2179 : /* void clearAllBreakpoints (); */
2180 : NS_SCRIPTABLE NS_IMETHOD ClearAllBreakpoints(void) = 0;
2181 :
2182 : /* void enableSingleStepInterrupts (in boolean mode); */
2183 : NS_SCRIPTABLE NS_IMETHOD EnableSingleStepInterrupts(bool mode) = 0;
2184 :
2185 : };
2186 :
2187 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIScript, JSDISCRIPT_IID)
2188 :
2189 : /* Use this macro when declaring classes that implement this interface. */
2190 : #define NS_DECL_JSDISCRIPT \
2191 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext); \
2192 : NS_IMETHOD GetJSDScript(JSDScript **aJSDScript); \
2193 : NS_SCRIPTABLE NS_IMETHOD GetVersion(PRInt32 *aVersion); \
2194 : NS_SCRIPTABLE NS_IMETHOD GetTag(PRUint32 *aTag); \
2195 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags); \
2196 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags); \
2197 : NS_SCRIPTABLE NS_IMETHOD GetFileName(nsACString & aFileName); \
2198 : NS_SCRIPTABLE NS_IMETHOD GetFunctionName(nsACString & aFunctionName); \
2199 : NS_SCRIPTABLE NS_IMETHOD GetParameterNames(PRUint32 *count NS_OUTPARAM, PRUnichar * **paramNames NS_OUTPARAM); \
2200 : NS_SCRIPTABLE NS_IMETHOD GetFunctionObject(jsdIValue * *aFunctionObject); \
2201 : NS_SCRIPTABLE NS_IMETHOD GetFunctionSource(nsAString & aFunctionSource); \
2202 : NS_SCRIPTABLE NS_IMETHOD GetBaseLineNumber(PRUint32 *aBaseLineNumber); \
2203 : NS_SCRIPTABLE NS_IMETHOD GetLineExtent(PRUint32 *aLineExtent); \
2204 : NS_SCRIPTABLE NS_IMETHOD GetCallCount(PRUint32 *aCallCount); \
2205 : NS_SCRIPTABLE NS_IMETHOD GetMaxRecurseDepth(PRUint32 *aMaxRecurseDepth); \
2206 : NS_SCRIPTABLE NS_IMETHOD GetMinExecutionTime(double *aMinExecutionTime); \
2207 : NS_SCRIPTABLE NS_IMETHOD GetMaxExecutionTime(double *aMaxExecutionTime); \
2208 : NS_SCRIPTABLE NS_IMETHOD GetTotalExecutionTime(double *aTotalExecutionTime); \
2209 : NS_SCRIPTABLE NS_IMETHOD GetMinOwnExecutionTime(double *aMinOwnExecutionTime); \
2210 : NS_SCRIPTABLE NS_IMETHOD GetMaxOwnExecutionTime(double *aMaxOwnExecutionTime); \
2211 : NS_SCRIPTABLE NS_IMETHOD GetTotalOwnExecutionTime(double *aTotalOwnExecutionTime); \
2212 : NS_SCRIPTABLE NS_IMETHOD ClearProfileData(void); \
2213 : NS_SCRIPTABLE NS_IMETHOD PcToLine(PRUint32 pc, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM); \
2214 : NS_SCRIPTABLE NS_IMETHOD LineToPc(PRUint32 line, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM); \
2215 : NS_SCRIPTABLE NS_IMETHOD IsLineExecutable(PRUint32 line, PRUint32 pcmap, bool *_retval NS_OUTPARAM); \
2216 : NS_SCRIPTABLE NS_IMETHOD GetExecutableLines(PRUint32 pcmap, PRUint32 startLine, PRUint32 maxLines, PRUint32 *count NS_OUTPARAM, PRUint32 **executableLines NS_OUTPARAM); \
2217 : NS_SCRIPTABLE NS_IMETHOD SetBreakpoint(PRUint32 pc); \
2218 : NS_SCRIPTABLE NS_IMETHOD ClearBreakpoint(PRUint32 pc); \
2219 : NS_SCRIPTABLE NS_IMETHOD ClearAllBreakpoints(void); \
2220 : NS_SCRIPTABLE NS_IMETHOD EnableSingleStepInterrupts(bool mode);
2221 :
2222 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
2223 : #define NS_FORWARD_JSDISCRIPT(_to) \
2224 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return _to GetJSDContext(aJSDContext); } \
2225 : NS_IMETHOD GetJSDScript(JSDScript **aJSDScript) { return _to GetJSDScript(aJSDScript); } \
2226 : NS_SCRIPTABLE NS_IMETHOD GetVersion(PRInt32 *aVersion) { return _to GetVersion(aVersion); } \
2227 : NS_SCRIPTABLE NS_IMETHOD GetTag(PRUint32 *aTag) { return _to GetTag(aTag); } \
2228 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return _to GetFlags(aFlags); } \
2229 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) { return _to SetFlags(aFlags); } \
2230 : NS_SCRIPTABLE NS_IMETHOD GetFileName(nsACString & aFileName) { return _to GetFileName(aFileName); } \
2231 : NS_SCRIPTABLE NS_IMETHOD GetFunctionName(nsACString & aFunctionName) { return _to GetFunctionName(aFunctionName); } \
2232 : NS_SCRIPTABLE NS_IMETHOD GetParameterNames(PRUint32 *count NS_OUTPARAM, PRUnichar * **paramNames NS_OUTPARAM) { return _to GetParameterNames(count, paramNames); } \
2233 : NS_SCRIPTABLE NS_IMETHOD GetFunctionObject(jsdIValue * *aFunctionObject) { return _to GetFunctionObject(aFunctionObject); } \
2234 : NS_SCRIPTABLE NS_IMETHOD GetFunctionSource(nsAString & aFunctionSource) { return _to GetFunctionSource(aFunctionSource); } \
2235 : NS_SCRIPTABLE NS_IMETHOD GetBaseLineNumber(PRUint32 *aBaseLineNumber) { return _to GetBaseLineNumber(aBaseLineNumber); } \
2236 : NS_SCRIPTABLE NS_IMETHOD GetLineExtent(PRUint32 *aLineExtent) { return _to GetLineExtent(aLineExtent); } \
2237 : NS_SCRIPTABLE NS_IMETHOD GetCallCount(PRUint32 *aCallCount) { return _to GetCallCount(aCallCount); } \
2238 : NS_SCRIPTABLE NS_IMETHOD GetMaxRecurseDepth(PRUint32 *aMaxRecurseDepth) { return _to GetMaxRecurseDepth(aMaxRecurseDepth); } \
2239 : NS_SCRIPTABLE NS_IMETHOD GetMinExecutionTime(double *aMinExecutionTime) { return _to GetMinExecutionTime(aMinExecutionTime); } \
2240 : NS_SCRIPTABLE NS_IMETHOD GetMaxExecutionTime(double *aMaxExecutionTime) { return _to GetMaxExecutionTime(aMaxExecutionTime); } \
2241 : NS_SCRIPTABLE NS_IMETHOD GetTotalExecutionTime(double *aTotalExecutionTime) { return _to GetTotalExecutionTime(aTotalExecutionTime); } \
2242 : NS_SCRIPTABLE NS_IMETHOD GetMinOwnExecutionTime(double *aMinOwnExecutionTime) { return _to GetMinOwnExecutionTime(aMinOwnExecutionTime); } \
2243 : NS_SCRIPTABLE NS_IMETHOD GetMaxOwnExecutionTime(double *aMaxOwnExecutionTime) { return _to GetMaxOwnExecutionTime(aMaxOwnExecutionTime); } \
2244 : NS_SCRIPTABLE NS_IMETHOD GetTotalOwnExecutionTime(double *aTotalOwnExecutionTime) { return _to GetTotalOwnExecutionTime(aTotalOwnExecutionTime); } \
2245 : NS_SCRIPTABLE NS_IMETHOD ClearProfileData(void) { return _to ClearProfileData(); } \
2246 : NS_SCRIPTABLE NS_IMETHOD PcToLine(PRUint32 pc, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM) { return _to PcToLine(pc, pcmap, _retval); } \
2247 : NS_SCRIPTABLE NS_IMETHOD LineToPc(PRUint32 line, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM) { return _to LineToPc(line, pcmap, _retval); } \
2248 : NS_SCRIPTABLE NS_IMETHOD IsLineExecutable(PRUint32 line, PRUint32 pcmap, bool *_retval NS_OUTPARAM) { return _to IsLineExecutable(line, pcmap, _retval); } \
2249 : NS_SCRIPTABLE NS_IMETHOD GetExecutableLines(PRUint32 pcmap, PRUint32 startLine, PRUint32 maxLines, PRUint32 *count NS_OUTPARAM, PRUint32 **executableLines NS_OUTPARAM) { return _to GetExecutableLines(pcmap, startLine, maxLines, count, executableLines); } \
2250 : NS_SCRIPTABLE NS_IMETHOD SetBreakpoint(PRUint32 pc) { return _to SetBreakpoint(pc); } \
2251 : NS_SCRIPTABLE NS_IMETHOD ClearBreakpoint(PRUint32 pc) { return _to ClearBreakpoint(pc); } \
2252 : NS_SCRIPTABLE NS_IMETHOD ClearAllBreakpoints(void) { return _to ClearAllBreakpoints(); } \
2253 : NS_SCRIPTABLE NS_IMETHOD EnableSingleStepInterrupts(bool mode) { return _to EnableSingleStepInterrupts(mode); }
2254 :
2255 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
2256 : #define NS_FORWARD_SAFE_JSDISCRIPT(_to) \
2257 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDContext(aJSDContext); } \
2258 : NS_IMETHOD GetJSDScript(JSDScript **aJSDScript) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDScript(aJSDScript); } \
2259 : NS_SCRIPTABLE NS_IMETHOD GetVersion(PRInt32 *aVersion) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetVersion(aVersion); } \
2260 : NS_SCRIPTABLE NS_IMETHOD GetTag(PRUint32 *aTag) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTag(aTag); } \
2261 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFlags(aFlags); } \
2262 : NS_SCRIPTABLE NS_IMETHOD SetFlags(PRUint32 aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFlags(aFlags); } \
2263 : NS_SCRIPTABLE NS_IMETHOD GetFileName(nsACString & aFileName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFileName(aFileName); } \
2264 : NS_SCRIPTABLE NS_IMETHOD GetFunctionName(nsACString & aFunctionName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFunctionName(aFunctionName); } \
2265 : NS_SCRIPTABLE NS_IMETHOD GetParameterNames(PRUint32 *count NS_OUTPARAM, PRUnichar * **paramNames NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParameterNames(count, paramNames); } \
2266 : NS_SCRIPTABLE NS_IMETHOD GetFunctionObject(jsdIValue * *aFunctionObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFunctionObject(aFunctionObject); } \
2267 : NS_SCRIPTABLE NS_IMETHOD GetFunctionSource(nsAString & aFunctionSource) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFunctionSource(aFunctionSource); } \
2268 : NS_SCRIPTABLE NS_IMETHOD GetBaseLineNumber(PRUint32 *aBaseLineNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBaseLineNumber(aBaseLineNumber); } \
2269 : NS_SCRIPTABLE NS_IMETHOD GetLineExtent(PRUint32 *aLineExtent) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLineExtent(aLineExtent); } \
2270 : NS_SCRIPTABLE NS_IMETHOD GetCallCount(PRUint32 *aCallCount) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCallCount(aCallCount); } \
2271 : NS_SCRIPTABLE NS_IMETHOD GetMaxRecurseDepth(PRUint32 *aMaxRecurseDepth) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxRecurseDepth(aMaxRecurseDepth); } \
2272 : NS_SCRIPTABLE NS_IMETHOD GetMinExecutionTime(double *aMinExecutionTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMinExecutionTime(aMinExecutionTime); } \
2273 : NS_SCRIPTABLE NS_IMETHOD GetMaxExecutionTime(double *aMaxExecutionTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxExecutionTime(aMaxExecutionTime); } \
2274 : NS_SCRIPTABLE NS_IMETHOD GetTotalExecutionTime(double *aTotalExecutionTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTotalExecutionTime(aTotalExecutionTime); } \
2275 : NS_SCRIPTABLE NS_IMETHOD GetMinOwnExecutionTime(double *aMinOwnExecutionTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMinOwnExecutionTime(aMinOwnExecutionTime); } \
2276 : NS_SCRIPTABLE NS_IMETHOD GetMaxOwnExecutionTime(double *aMaxOwnExecutionTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxOwnExecutionTime(aMaxOwnExecutionTime); } \
2277 : NS_SCRIPTABLE NS_IMETHOD GetTotalOwnExecutionTime(double *aTotalOwnExecutionTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTotalOwnExecutionTime(aTotalOwnExecutionTime); } \
2278 : NS_SCRIPTABLE NS_IMETHOD ClearProfileData(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearProfileData(); } \
2279 : NS_SCRIPTABLE NS_IMETHOD PcToLine(PRUint32 pc, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->PcToLine(pc, pcmap, _retval); } \
2280 : NS_SCRIPTABLE NS_IMETHOD LineToPc(PRUint32 line, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->LineToPc(line, pcmap, _retval); } \
2281 : NS_SCRIPTABLE NS_IMETHOD IsLineExecutable(PRUint32 line, PRUint32 pcmap, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsLineExecutable(line, pcmap, _retval); } \
2282 : NS_SCRIPTABLE NS_IMETHOD GetExecutableLines(PRUint32 pcmap, PRUint32 startLine, PRUint32 maxLines, PRUint32 *count NS_OUTPARAM, PRUint32 **executableLines NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetExecutableLines(pcmap, startLine, maxLines, count, executableLines); } \
2283 : NS_SCRIPTABLE NS_IMETHOD SetBreakpoint(PRUint32 pc) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBreakpoint(pc); } \
2284 : NS_SCRIPTABLE NS_IMETHOD ClearBreakpoint(PRUint32 pc) { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearBreakpoint(pc); } \
2285 : NS_SCRIPTABLE NS_IMETHOD ClearAllBreakpoints(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearAllBreakpoints(); } \
2286 : NS_SCRIPTABLE NS_IMETHOD EnableSingleStepInterrupts(bool mode) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnableSingleStepInterrupts(mode); }
2287 :
2288 : #if 0
2289 : /* Use the code below as a template for the implementation class for this interface. */
2290 :
2291 : /* Header file */
2292 : class _MYCLASS_ : public jsdIScript
2293 : {
2294 : public:
2295 : NS_DECL_ISUPPORTS
2296 : NS_DECL_JSDISCRIPT
2297 :
2298 : _MYCLASS_();
2299 :
2300 : private:
2301 : ~_MYCLASS_();
2302 :
2303 : protected:
2304 : /* additional members */
2305 : };
2306 :
2307 : /* Implementation file */
2308 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIScript)
2309 :
2310 : _MYCLASS_::_MYCLASS_()
2311 : {
2312 : /* member initializers and constructor code */
2313 : }
2314 :
2315 : _MYCLASS_::~_MYCLASS_()
2316 : {
2317 : /* destructor code */
2318 : }
2319 :
2320 : /* [noscript] readonly attribute JSDContext JSDContext; */
2321 : NS_IMETHODIMP _MYCLASS_::GetJSDContext(JSDContext **aJSDContext)
2322 : {
2323 : return NS_ERROR_NOT_IMPLEMENTED;
2324 : }
2325 :
2326 : /* [noscript] readonly attribute JSDScript JSDScript; */
2327 : NS_IMETHODIMP _MYCLASS_::GetJSDScript(JSDScript **aJSDScript)
2328 : {
2329 : return NS_ERROR_NOT_IMPLEMENTED;
2330 : }
2331 :
2332 : /* readonly attribute long version; */
2333 : NS_IMETHODIMP _MYCLASS_::GetVersion(PRInt32 *aVersion)
2334 : {
2335 : return NS_ERROR_NOT_IMPLEMENTED;
2336 : }
2337 :
2338 : /* readonly attribute unsigned long tag; */
2339 : NS_IMETHODIMP _MYCLASS_::GetTag(PRUint32 *aTag)
2340 : {
2341 : return NS_ERROR_NOT_IMPLEMENTED;
2342 : }
2343 :
2344 : /* attribute unsigned long flags; */
2345 : NS_IMETHODIMP _MYCLASS_::GetFlags(PRUint32 *aFlags)
2346 : {
2347 : return NS_ERROR_NOT_IMPLEMENTED;
2348 : }
2349 : NS_IMETHODIMP _MYCLASS_::SetFlags(PRUint32 aFlags)
2350 : {
2351 : return NS_ERROR_NOT_IMPLEMENTED;
2352 : }
2353 :
2354 : /* readonly attribute AUTF8String fileName; */
2355 : NS_IMETHODIMP _MYCLASS_::GetFileName(nsACString & aFileName)
2356 : {
2357 : return NS_ERROR_NOT_IMPLEMENTED;
2358 : }
2359 :
2360 : /* readonly attribute AUTF8String functionName; */
2361 : NS_IMETHODIMP _MYCLASS_::GetFunctionName(nsACString & aFunctionName)
2362 : {
2363 : return NS_ERROR_NOT_IMPLEMENTED;
2364 : }
2365 :
2366 : /* void getParameterNames ([optional] out unsigned long count, [array, size_is (count), retval] out wstring paramNames); */
2367 : NS_IMETHODIMP _MYCLASS_::GetParameterNames(PRUint32 *count NS_OUTPARAM, PRUnichar * **paramNames NS_OUTPARAM)
2368 : {
2369 : return NS_ERROR_NOT_IMPLEMENTED;
2370 : }
2371 :
2372 : /* readonly attribute jsdIValue functionObject; */
2373 : NS_IMETHODIMP _MYCLASS_::GetFunctionObject(jsdIValue * *aFunctionObject)
2374 : {
2375 : return NS_ERROR_NOT_IMPLEMENTED;
2376 : }
2377 :
2378 : /* readonly attribute AString functionSource; */
2379 : NS_IMETHODIMP _MYCLASS_::GetFunctionSource(nsAString & aFunctionSource)
2380 : {
2381 : return NS_ERROR_NOT_IMPLEMENTED;
2382 : }
2383 :
2384 : /* readonly attribute unsigned long baseLineNumber; */
2385 : NS_IMETHODIMP _MYCLASS_::GetBaseLineNumber(PRUint32 *aBaseLineNumber)
2386 : {
2387 : return NS_ERROR_NOT_IMPLEMENTED;
2388 : }
2389 :
2390 : /* readonly attribute unsigned long lineExtent; */
2391 : NS_IMETHODIMP _MYCLASS_::GetLineExtent(PRUint32 *aLineExtent)
2392 : {
2393 : return NS_ERROR_NOT_IMPLEMENTED;
2394 : }
2395 :
2396 : /* readonly attribute unsigned long callCount; */
2397 : NS_IMETHODIMP _MYCLASS_::GetCallCount(PRUint32 *aCallCount)
2398 : {
2399 : return NS_ERROR_NOT_IMPLEMENTED;
2400 : }
2401 :
2402 : /* readonly attribute unsigned long maxRecurseDepth; */
2403 : NS_IMETHODIMP _MYCLASS_::GetMaxRecurseDepth(PRUint32 *aMaxRecurseDepth)
2404 : {
2405 : return NS_ERROR_NOT_IMPLEMENTED;
2406 : }
2407 :
2408 : /* readonly attribute double minExecutionTime; */
2409 : NS_IMETHODIMP _MYCLASS_::GetMinExecutionTime(double *aMinExecutionTime)
2410 : {
2411 : return NS_ERROR_NOT_IMPLEMENTED;
2412 : }
2413 :
2414 : /* readonly attribute double maxExecutionTime; */
2415 : NS_IMETHODIMP _MYCLASS_::GetMaxExecutionTime(double *aMaxExecutionTime)
2416 : {
2417 : return NS_ERROR_NOT_IMPLEMENTED;
2418 : }
2419 :
2420 : /* readonly attribute double totalExecutionTime; */
2421 : NS_IMETHODIMP _MYCLASS_::GetTotalExecutionTime(double *aTotalExecutionTime)
2422 : {
2423 : return NS_ERROR_NOT_IMPLEMENTED;
2424 : }
2425 :
2426 : /* readonly attribute double minOwnExecutionTime; */
2427 : NS_IMETHODIMP _MYCLASS_::GetMinOwnExecutionTime(double *aMinOwnExecutionTime)
2428 : {
2429 : return NS_ERROR_NOT_IMPLEMENTED;
2430 : }
2431 :
2432 : /* readonly attribute double maxOwnExecutionTime; */
2433 : NS_IMETHODIMP _MYCLASS_::GetMaxOwnExecutionTime(double *aMaxOwnExecutionTime)
2434 : {
2435 : return NS_ERROR_NOT_IMPLEMENTED;
2436 : }
2437 :
2438 : /* readonly attribute double totalOwnExecutionTime; */
2439 : NS_IMETHODIMP _MYCLASS_::GetTotalOwnExecutionTime(double *aTotalOwnExecutionTime)
2440 : {
2441 : return NS_ERROR_NOT_IMPLEMENTED;
2442 : }
2443 :
2444 : /* void clearProfileData (); */
2445 : NS_IMETHODIMP _MYCLASS_::ClearProfileData()
2446 : {
2447 : return NS_ERROR_NOT_IMPLEMENTED;
2448 : }
2449 :
2450 : /* unsigned long pcToLine (in unsigned long pc, in unsigned long pcmap); */
2451 : NS_IMETHODIMP _MYCLASS_::PcToLine(PRUint32 pc, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM)
2452 : {
2453 : return NS_ERROR_NOT_IMPLEMENTED;
2454 : }
2455 :
2456 : /* unsigned long lineToPc (in unsigned long line, in unsigned long pcmap); */
2457 : NS_IMETHODIMP _MYCLASS_::LineToPc(PRUint32 line, PRUint32 pcmap, PRUint32 *_retval NS_OUTPARAM)
2458 : {
2459 : return NS_ERROR_NOT_IMPLEMENTED;
2460 : }
2461 :
2462 : /* boolean isLineExecutable (in unsigned long line, in unsigned long pcmap); */
2463 : NS_IMETHODIMP _MYCLASS_::IsLineExecutable(PRUint32 line, PRUint32 pcmap, bool *_retval NS_OUTPARAM)
2464 : {
2465 : return NS_ERROR_NOT_IMPLEMENTED;
2466 : }
2467 :
2468 : /* void getExecutableLines (in unsigned long pcmap, in unsigned long startLine, in unsigned long maxLines, [optional] out unsigned long count, [array, size_is (count), retval] out unsigned long executableLines); */
2469 : NS_IMETHODIMP _MYCLASS_::GetExecutableLines(PRUint32 pcmap, PRUint32 startLine, PRUint32 maxLines, PRUint32 *count NS_OUTPARAM, PRUint32 **executableLines NS_OUTPARAM)
2470 : {
2471 : return NS_ERROR_NOT_IMPLEMENTED;
2472 : }
2473 :
2474 : /* void setBreakpoint (in unsigned long pc); */
2475 : NS_IMETHODIMP _MYCLASS_::SetBreakpoint(PRUint32 pc)
2476 : {
2477 : return NS_ERROR_NOT_IMPLEMENTED;
2478 : }
2479 :
2480 : /* void clearBreakpoint (in unsigned long pc); */
2481 : NS_IMETHODIMP _MYCLASS_::ClearBreakpoint(PRUint32 pc)
2482 : {
2483 : return NS_ERROR_NOT_IMPLEMENTED;
2484 : }
2485 :
2486 : /* void clearAllBreakpoints (); */
2487 : NS_IMETHODIMP _MYCLASS_::ClearAllBreakpoints()
2488 : {
2489 : return NS_ERROR_NOT_IMPLEMENTED;
2490 : }
2491 :
2492 : /* void enableSingleStepInterrupts (in boolean mode); */
2493 : NS_IMETHODIMP _MYCLASS_::EnableSingleStepInterrupts(bool mode)
2494 : {
2495 : return NS_ERROR_NOT_IMPLEMENTED;
2496 : }
2497 :
2498 : /* End of implementation class template. */
2499 : #endif
2500 :
2501 :
2502 : /* starting interface: jsdIValue */
2503 : #define JSDIVALUE_IID_STR "1cd3535b-4ddb-4202-9053-e0ec88f5c82b"
2504 :
2505 : #define JSDIVALUE_IID \
2506 : {0x1cd3535b, 0x4ddb, 0x4202, \
2507 : { 0x90, 0x53, 0xe0, 0xec, 0x88, 0xf5, 0xc8, 0x2b }}
2508 :
2509 2 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIValue : public jsdIEphemeral {
2510 : public:
2511 :
2512 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIVALUE_IID)
2513 :
2514 : /* [noscript] readonly attribute JSDContext JSDContext; */
2515 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) = 0;
2516 :
2517 : /* [noscript] readonly attribute JSDValue JSDValue; */
2518 : NS_IMETHOD GetJSDValue(JSDValue **aJSDValue) = 0;
2519 :
2520 : /* readonly attribute boolean isNative; */
2521 : NS_SCRIPTABLE NS_IMETHOD GetIsNative(bool *aIsNative) = 0;
2522 :
2523 : /* readonly attribute boolean isNumber; */
2524 : NS_SCRIPTABLE NS_IMETHOD GetIsNumber(bool *aIsNumber) = 0;
2525 :
2526 : /* readonly attribute boolean isPrimitive; */
2527 : NS_SCRIPTABLE NS_IMETHOD GetIsPrimitive(bool *aIsPrimitive) = 0;
2528 :
2529 : enum {
2530 : TYPE_BOOLEAN = 0U,
2531 : TYPE_DOUBLE = 1U,
2532 : TYPE_INT = 2U,
2533 : TYPE_FUNCTION = 3U,
2534 : TYPE_NULL = 4U,
2535 : TYPE_OBJECT = 5U,
2536 : TYPE_STRING = 6U,
2537 : TYPE_VOID = 7U
2538 : };
2539 :
2540 : /* readonly attribute unsigned long jsType; */
2541 : NS_SCRIPTABLE NS_IMETHOD GetJsType(PRUint32 *aJsType) = 0;
2542 :
2543 : /* readonly attribute jsdIValue jsPrototype; */
2544 : NS_SCRIPTABLE NS_IMETHOD GetJsPrototype(jsdIValue * *aJsPrototype) = 0;
2545 :
2546 : /* readonly attribute jsdIValue jsParent; */
2547 : NS_SCRIPTABLE NS_IMETHOD GetJsParent(jsdIValue * *aJsParent) = 0;
2548 :
2549 : /* readonly attribute AUTF8String jsClassName; */
2550 : NS_SCRIPTABLE NS_IMETHOD GetJsClassName(nsACString & aJsClassName) = 0;
2551 :
2552 : /* readonly attribute jsdIValue jsConstructor; */
2553 : NS_SCRIPTABLE NS_IMETHOD GetJsConstructor(jsdIValue * *aJsConstructor) = 0;
2554 :
2555 : /* readonly attribute AUTF8String jsFunctionName; */
2556 : NS_SCRIPTABLE NS_IMETHOD GetJsFunctionName(nsACString & aJsFunctionName) = 0;
2557 :
2558 : /* readonly attribute boolean booleanValue; */
2559 : NS_SCRIPTABLE NS_IMETHOD GetBooleanValue(bool *aBooleanValue) = 0;
2560 :
2561 : /* readonly attribute double doubleValue; */
2562 : NS_SCRIPTABLE NS_IMETHOD GetDoubleValue(double *aDoubleValue) = 0;
2563 :
2564 : /* readonly attribute long intValue; */
2565 : NS_SCRIPTABLE NS_IMETHOD GetIntValue(PRInt32 *aIntValue) = 0;
2566 :
2567 : /* readonly attribute jsdIObject objectValue; */
2568 : NS_SCRIPTABLE NS_IMETHOD GetObjectValue(jsdIObject * *aObjectValue) = 0;
2569 :
2570 : /* readonly attribute AUTF8String stringValue; */
2571 : NS_SCRIPTABLE NS_IMETHOD GetStringValue(nsACString & aStringValue) = 0;
2572 :
2573 : /* readonly attribute long propertyCount; */
2574 : NS_SCRIPTABLE NS_IMETHOD GetPropertyCount(PRInt32 *aPropertyCount) = 0;
2575 :
2576 : /* void getProperties ([array, size_is (length)] out jsdIProperty propArray, out unsigned long length); */
2577 : NS_SCRIPTABLE NS_IMETHOD GetProperties(jsdIProperty * **propArray NS_OUTPARAM, PRUint32 *length NS_OUTPARAM) = 0;
2578 :
2579 : /* jsdIProperty getProperty (in AUTF8String name); */
2580 : NS_SCRIPTABLE NS_IMETHOD GetProperty(const nsACString & name, jsdIProperty * *_retval NS_OUTPARAM) = 0;
2581 :
2582 : /* void refresh (); */
2583 : NS_SCRIPTABLE NS_IMETHOD Refresh(void) = 0;
2584 :
2585 : /* [implicit_jscontext] jsval getWrappedValue (); */
2586 : NS_SCRIPTABLE NS_IMETHOD GetWrappedValue(JSContext* cx, JS::Value *_retval NS_OUTPARAM) = 0;
2587 :
2588 : /* readonly attribute jsdIScript script; */
2589 : NS_SCRIPTABLE NS_IMETHOD GetScript(jsdIScript * *aScript) = 0;
2590 :
2591 : };
2592 :
2593 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIValue, JSDIVALUE_IID)
2594 :
2595 : /* Use this macro when declaring classes that implement this interface. */
2596 : #define NS_DECL_JSDIVALUE \
2597 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext); \
2598 : NS_IMETHOD GetJSDValue(JSDValue **aJSDValue); \
2599 : NS_SCRIPTABLE NS_IMETHOD GetIsNative(bool *aIsNative); \
2600 : NS_SCRIPTABLE NS_IMETHOD GetIsNumber(bool *aIsNumber); \
2601 : NS_SCRIPTABLE NS_IMETHOD GetIsPrimitive(bool *aIsPrimitive); \
2602 : NS_SCRIPTABLE NS_IMETHOD GetJsType(PRUint32 *aJsType); \
2603 : NS_SCRIPTABLE NS_IMETHOD GetJsPrototype(jsdIValue * *aJsPrototype); \
2604 : NS_SCRIPTABLE NS_IMETHOD GetJsParent(jsdIValue * *aJsParent); \
2605 : NS_SCRIPTABLE NS_IMETHOD GetJsClassName(nsACString & aJsClassName); \
2606 : NS_SCRIPTABLE NS_IMETHOD GetJsConstructor(jsdIValue * *aJsConstructor); \
2607 : NS_SCRIPTABLE NS_IMETHOD GetJsFunctionName(nsACString & aJsFunctionName); \
2608 : NS_SCRIPTABLE NS_IMETHOD GetBooleanValue(bool *aBooleanValue); \
2609 : NS_SCRIPTABLE NS_IMETHOD GetDoubleValue(double *aDoubleValue); \
2610 : NS_SCRIPTABLE NS_IMETHOD GetIntValue(PRInt32 *aIntValue); \
2611 : NS_SCRIPTABLE NS_IMETHOD GetObjectValue(jsdIObject * *aObjectValue); \
2612 : NS_SCRIPTABLE NS_IMETHOD GetStringValue(nsACString & aStringValue); \
2613 : NS_SCRIPTABLE NS_IMETHOD GetPropertyCount(PRInt32 *aPropertyCount); \
2614 : NS_SCRIPTABLE NS_IMETHOD GetProperties(jsdIProperty * **propArray NS_OUTPARAM, PRUint32 *length NS_OUTPARAM); \
2615 : NS_SCRIPTABLE NS_IMETHOD GetProperty(const nsACString & name, jsdIProperty * *_retval NS_OUTPARAM); \
2616 : NS_SCRIPTABLE NS_IMETHOD Refresh(void); \
2617 : NS_SCRIPTABLE NS_IMETHOD GetWrappedValue(JSContext* cx, JS::Value *_retval NS_OUTPARAM); \
2618 : NS_SCRIPTABLE NS_IMETHOD GetScript(jsdIScript * *aScript);
2619 :
2620 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
2621 : #define NS_FORWARD_JSDIVALUE(_to) \
2622 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return _to GetJSDContext(aJSDContext); } \
2623 : NS_IMETHOD GetJSDValue(JSDValue **aJSDValue) { return _to GetJSDValue(aJSDValue); } \
2624 : NS_SCRIPTABLE NS_IMETHOD GetIsNative(bool *aIsNative) { return _to GetIsNative(aIsNative); } \
2625 : NS_SCRIPTABLE NS_IMETHOD GetIsNumber(bool *aIsNumber) { return _to GetIsNumber(aIsNumber); } \
2626 : NS_SCRIPTABLE NS_IMETHOD GetIsPrimitive(bool *aIsPrimitive) { return _to GetIsPrimitive(aIsPrimitive); } \
2627 : NS_SCRIPTABLE NS_IMETHOD GetJsType(PRUint32 *aJsType) { return _to GetJsType(aJsType); } \
2628 : NS_SCRIPTABLE NS_IMETHOD GetJsPrototype(jsdIValue * *aJsPrototype) { return _to GetJsPrototype(aJsPrototype); } \
2629 : NS_SCRIPTABLE NS_IMETHOD GetJsParent(jsdIValue * *aJsParent) { return _to GetJsParent(aJsParent); } \
2630 : NS_SCRIPTABLE NS_IMETHOD GetJsClassName(nsACString & aJsClassName) { return _to GetJsClassName(aJsClassName); } \
2631 : NS_SCRIPTABLE NS_IMETHOD GetJsConstructor(jsdIValue * *aJsConstructor) { return _to GetJsConstructor(aJsConstructor); } \
2632 : NS_SCRIPTABLE NS_IMETHOD GetJsFunctionName(nsACString & aJsFunctionName) { return _to GetJsFunctionName(aJsFunctionName); } \
2633 : NS_SCRIPTABLE NS_IMETHOD GetBooleanValue(bool *aBooleanValue) { return _to GetBooleanValue(aBooleanValue); } \
2634 : NS_SCRIPTABLE NS_IMETHOD GetDoubleValue(double *aDoubleValue) { return _to GetDoubleValue(aDoubleValue); } \
2635 : NS_SCRIPTABLE NS_IMETHOD GetIntValue(PRInt32 *aIntValue) { return _to GetIntValue(aIntValue); } \
2636 : NS_SCRIPTABLE NS_IMETHOD GetObjectValue(jsdIObject * *aObjectValue) { return _to GetObjectValue(aObjectValue); } \
2637 : NS_SCRIPTABLE NS_IMETHOD GetStringValue(nsACString & aStringValue) { return _to GetStringValue(aStringValue); } \
2638 : NS_SCRIPTABLE NS_IMETHOD GetPropertyCount(PRInt32 *aPropertyCount) { return _to GetPropertyCount(aPropertyCount); } \
2639 : NS_SCRIPTABLE NS_IMETHOD GetProperties(jsdIProperty * **propArray NS_OUTPARAM, PRUint32 *length NS_OUTPARAM) { return _to GetProperties(propArray, length); } \
2640 : NS_SCRIPTABLE NS_IMETHOD GetProperty(const nsACString & name, jsdIProperty * *_retval NS_OUTPARAM) { return _to GetProperty(name, _retval); } \
2641 : NS_SCRIPTABLE NS_IMETHOD Refresh(void) { return _to Refresh(); } \
2642 : NS_SCRIPTABLE NS_IMETHOD GetWrappedValue(JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return _to GetWrappedValue(cx, _retval); } \
2643 : NS_SCRIPTABLE NS_IMETHOD GetScript(jsdIScript * *aScript) { return _to GetScript(aScript); }
2644 :
2645 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
2646 : #define NS_FORWARD_SAFE_JSDIVALUE(_to) \
2647 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDContext(aJSDContext); } \
2648 : NS_IMETHOD GetJSDValue(JSDValue **aJSDValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDValue(aJSDValue); } \
2649 : NS_SCRIPTABLE NS_IMETHOD GetIsNative(bool *aIsNative) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsNative(aIsNative); } \
2650 : NS_SCRIPTABLE NS_IMETHOD GetIsNumber(bool *aIsNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsNumber(aIsNumber); } \
2651 : NS_SCRIPTABLE NS_IMETHOD GetIsPrimitive(bool *aIsPrimitive) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsPrimitive(aIsPrimitive); } \
2652 : NS_SCRIPTABLE NS_IMETHOD GetJsType(PRUint32 *aJsType) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJsType(aJsType); } \
2653 : NS_SCRIPTABLE NS_IMETHOD GetJsPrototype(jsdIValue * *aJsPrototype) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJsPrototype(aJsPrototype); } \
2654 : NS_SCRIPTABLE NS_IMETHOD GetJsParent(jsdIValue * *aJsParent) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJsParent(aJsParent); } \
2655 : NS_SCRIPTABLE NS_IMETHOD GetJsClassName(nsACString & aJsClassName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJsClassName(aJsClassName); } \
2656 : NS_SCRIPTABLE NS_IMETHOD GetJsConstructor(jsdIValue * *aJsConstructor) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJsConstructor(aJsConstructor); } \
2657 : NS_SCRIPTABLE NS_IMETHOD GetJsFunctionName(nsACString & aJsFunctionName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJsFunctionName(aJsFunctionName); } \
2658 : NS_SCRIPTABLE NS_IMETHOD GetBooleanValue(bool *aBooleanValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBooleanValue(aBooleanValue); } \
2659 : NS_SCRIPTABLE NS_IMETHOD GetDoubleValue(double *aDoubleValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDoubleValue(aDoubleValue); } \
2660 : NS_SCRIPTABLE NS_IMETHOD GetIntValue(PRInt32 *aIntValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIntValue(aIntValue); } \
2661 : NS_SCRIPTABLE NS_IMETHOD GetObjectValue(jsdIObject * *aObjectValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetObjectValue(aObjectValue); } \
2662 : NS_SCRIPTABLE NS_IMETHOD GetStringValue(nsACString & aStringValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStringValue(aStringValue); } \
2663 : NS_SCRIPTABLE NS_IMETHOD GetPropertyCount(PRInt32 *aPropertyCount) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPropertyCount(aPropertyCount); } \
2664 : NS_SCRIPTABLE NS_IMETHOD GetProperties(jsdIProperty * **propArray NS_OUTPARAM, PRUint32 *length NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProperties(propArray, length); } \
2665 : NS_SCRIPTABLE NS_IMETHOD GetProperty(const nsACString & name, jsdIProperty * *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProperty(name, _retval); } \
2666 : NS_SCRIPTABLE NS_IMETHOD Refresh(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Refresh(); } \
2667 : NS_SCRIPTABLE NS_IMETHOD GetWrappedValue(JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWrappedValue(cx, _retval); } \
2668 : NS_SCRIPTABLE NS_IMETHOD GetScript(jsdIScript * *aScript) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScript(aScript); }
2669 :
2670 : #if 0
2671 : /* Use the code below as a template for the implementation class for this interface. */
2672 :
2673 : /* Header file */
2674 : class _MYCLASS_ : public jsdIValue
2675 : {
2676 : public:
2677 : NS_DECL_ISUPPORTS
2678 : NS_DECL_JSDIVALUE
2679 :
2680 : _MYCLASS_();
2681 :
2682 : private:
2683 : ~_MYCLASS_();
2684 :
2685 : protected:
2686 : /* additional members */
2687 : };
2688 :
2689 : /* Implementation file */
2690 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIValue)
2691 :
2692 : _MYCLASS_::_MYCLASS_()
2693 : {
2694 : /* member initializers and constructor code */
2695 : }
2696 :
2697 : _MYCLASS_::~_MYCLASS_()
2698 : {
2699 : /* destructor code */
2700 : }
2701 :
2702 : /* [noscript] readonly attribute JSDContext JSDContext; */
2703 : NS_IMETHODIMP _MYCLASS_::GetJSDContext(JSDContext **aJSDContext)
2704 : {
2705 : return NS_ERROR_NOT_IMPLEMENTED;
2706 : }
2707 :
2708 : /* [noscript] readonly attribute JSDValue JSDValue; */
2709 : NS_IMETHODIMP _MYCLASS_::GetJSDValue(JSDValue **aJSDValue)
2710 : {
2711 : return NS_ERROR_NOT_IMPLEMENTED;
2712 : }
2713 :
2714 : /* readonly attribute boolean isNative; */
2715 : NS_IMETHODIMP _MYCLASS_::GetIsNative(bool *aIsNative)
2716 : {
2717 : return NS_ERROR_NOT_IMPLEMENTED;
2718 : }
2719 :
2720 : /* readonly attribute boolean isNumber; */
2721 : NS_IMETHODIMP _MYCLASS_::GetIsNumber(bool *aIsNumber)
2722 : {
2723 : return NS_ERROR_NOT_IMPLEMENTED;
2724 : }
2725 :
2726 : /* readonly attribute boolean isPrimitive; */
2727 : NS_IMETHODIMP _MYCLASS_::GetIsPrimitive(bool *aIsPrimitive)
2728 : {
2729 : return NS_ERROR_NOT_IMPLEMENTED;
2730 : }
2731 :
2732 : /* readonly attribute unsigned long jsType; */
2733 : NS_IMETHODIMP _MYCLASS_::GetJsType(PRUint32 *aJsType)
2734 : {
2735 : return NS_ERROR_NOT_IMPLEMENTED;
2736 : }
2737 :
2738 : /* readonly attribute jsdIValue jsPrototype; */
2739 : NS_IMETHODIMP _MYCLASS_::GetJsPrototype(jsdIValue * *aJsPrototype)
2740 : {
2741 : return NS_ERROR_NOT_IMPLEMENTED;
2742 : }
2743 :
2744 : /* readonly attribute jsdIValue jsParent; */
2745 : NS_IMETHODIMP _MYCLASS_::GetJsParent(jsdIValue * *aJsParent)
2746 : {
2747 : return NS_ERROR_NOT_IMPLEMENTED;
2748 : }
2749 :
2750 : /* readonly attribute AUTF8String jsClassName; */
2751 : NS_IMETHODIMP _MYCLASS_::GetJsClassName(nsACString & aJsClassName)
2752 : {
2753 : return NS_ERROR_NOT_IMPLEMENTED;
2754 : }
2755 :
2756 : /* readonly attribute jsdIValue jsConstructor; */
2757 : NS_IMETHODIMP _MYCLASS_::GetJsConstructor(jsdIValue * *aJsConstructor)
2758 : {
2759 : return NS_ERROR_NOT_IMPLEMENTED;
2760 : }
2761 :
2762 : /* readonly attribute AUTF8String jsFunctionName; */
2763 : NS_IMETHODIMP _MYCLASS_::GetJsFunctionName(nsACString & aJsFunctionName)
2764 : {
2765 : return NS_ERROR_NOT_IMPLEMENTED;
2766 : }
2767 :
2768 : /* readonly attribute boolean booleanValue; */
2769 : NS_IMETHODIMP _MYCLASS_::GetBooleanValue(bool *aBooleanValue)
2770 : {
2771 : return NS_ERROR_NOT_IMPLEMENTED;
2772 : }
2773 :
2774 : /* readonly attribute double doubleValue; */
2775 : NS_IMETHODIMP _MYCLASS_::GetDoubleValue(double *aDoubleValue)
2776 : {
2777 : return NS_ERROR_NOT_IMPLEMENTED;
2778 : }
2779 :
2780 : /* readonly attribute long intValue; */
2781 : NS_IMETHODIMP _MYCLASS_::GetIntValue(PRInt32 *aIntValue)
2782 : {
2783 : return NS_ERROR_NOT_IMPLEMENTED;
2784 : }
2785 :
2786 : /* readonly attribute jsdIObject objectValue; */
2787 : NS_IMETHODIMP _MYCLASS_::GetObjectValue(jsdIObject * *aObjectValue)
2788 : {
2789 : return NS_ERROR_NOT_IMPLEMENTED;
2790 : }
2791 :
2792 : /* readonly attribute AUTF8String stringValue; */
2793 : NS_IMETHODIMP _MYCLASS_::GetStringValue(nsACString & aStringValue)
2794 : {
2795 : return NS_ERROR_NOT_IMPLEMENTED;
2796 : }
2797 :
2798 : /* readonly attribute long propertyCount; */
2799 : NS_IMETHODIMP _MYCLASS_::GetPropertyCount(PRInt32 *aPropertyCount)
2800 : {
2801 : return NS_ERROR_NOT_IMPLEMENTED;
2802 : }
2803 :
2804 : /* void getProperties ([array, size_is (length)] out jsdIProperty propArray, out unsigned long length); */
2805 : NS_IMETHODIMP _MYCLASS_::GetProperties(jsdIProperty * **propArray NS_OUTPARAM, PRUint32 *length NS_OUTPARAM)
2806 : {
2807 : return NS_ERROR_NOT_IMPLEMENTED;
2808 : }
2809 :
2810 : /* jsdIProperty getProperty (in AUTF8String name); */
2811 : NS_IMETHODIMP _MYCLASS_::GetProperty(const nsACString & name, jsdIProperty * *_retval NS_OUTPARAM)
2812 : {
2813 : return NS_ERROR_NOT_IMPLEMENTED;
2814 : }
2815 :
2816 : /* void refresh (); */
2817 : NS_IMETHODIMP _MYCLASS_::Refresh()
2818 : {
2819 : return NS_ERROR_NOT_IMPLEMENTED;
2820 : }
2821 :
2822 : /* [implicit_jscontext] jsval getWrappedValue (); */
2823 : NS_IMETHODIMP _MYCLASS_::GetWrappedValue(JSContext* cx, JS::Value *_retval NS_OUTPARAM)
2824 : {
2825 : return NS_ERROR_NOT_IMPLEMENTED;
2826 : }
2827 :
2828 : /* readonly attribute jsdIScript script; */
2829 : NS_IMETHODIMP _MYCLASS_::GetScript(jsdIScript * *aScript)
2830 : {
2831 : return NS_ERROR_NOT_IMPLEMENTED;
2832 : }
2833 :
2834 : /* End of implementation class template. */
2835 : #endif
2836 :
2837 :
2838 : /* starting interface: jsdIObject */
2839 : #define JSDIOBJECT_IID_STR "87d86308-7a27-4255-b23c-ce2394f02473"
2840 :
2841 : #define JSDIOBJECT_IID \
2842 : {0x87d86308, 0x7a27, 0x4255, \
2843 : { 0xb2, 0x3c, 0xce, 0x23, 0x94, 0xf0, 0x24, 0x73 }}
2844 :
2845 0 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIObject : public nsISupports {
2846 : public:
2847 :
2848 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIOBJECT_IID)
2849 :
2850 : /* [noscript] readonly attribute JSDContext JSDContext; */
2851 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) = 0;
2852 :
2853 : /* [noscript] readonly attribute JSDObject JSDObject; */
2854 : NS_IMETHOD GetJSDObject(JSDObject **aJSDObject) = 0;
2855 :
2856 : /* readonly attribute AUTF8String creatorURL; */
2857 : NS_SCRIPTABLE NS_IMETHOD GetCreatorURL(nsACString & aCreatorURL) = 0;
2858 :
2859 : /* readonly attribute unsigned long creatorLine; */
2860 : NS_SCRIPTABLE NS_IMETHOD GetCreatorLine(PRUint32 *aCreatorLine) = 0;
2861 :
2862 : /* readonly attribute AUTF8String constructorURL; */
2863 : NS_SCRIPTABLE NS_IMETHOD GetConstructorURL(nsACString & aConstructorURL) = 0;
2864 :
2865 : /* readonly attribute unsigned long constructorLine; */
2866 : NS_SCRIPTABLE NS_IMETHOD GetConstructorLine(PRUint32 *aConstructorLine) = 0;
2867 :
2868 : /* readonly attribute jsdIValue value; */
2869 : NS_SCRIPTABLE NS_IMETHOD GetValue(jsdIValue * *aValue) = 0;
2870 :
2871 : };
2872 :
2873 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIObject, JSDIOBJECT_IID)
2874 :
2875 : /* Use this macro when declaring classes that implement this interface. */
2876 : #define NS_DECL_JSDIOBJECT \
2877 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext); \
2878 : NS_IMETHOD GetJSDObject(JSDObject **aJSDObject); \
2879 : NS_SCRIPTABLE NS_IMETHOD GetCreatorURL(nsACString & aCreatorURL); \
2880 : NS_SCRIPTABLE NS_IMETHOD GetCreatorLine(PRUint32 *aCreatorLine); \
2881 : NS_SCRIPTABLE NS_IMETHOD GetConstructorURL(nsACString & aConstructorURL); \
2882 : NS_SCRIPTABLE NS_IMETHOD GetConstructorLine(PRUint32 *aConstructorLine); \
2883 : NS_SCRIPTABLE NS_IMETHOD GetValue(jsdIValue * *aValue);
2884 :
2885 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
2886 : #define NS_FORWARD_JSDIOBJECT(_to) \
2887 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return _to GetJSDContext(aJSDContext); } \
2888 : NS_IMETHOD GetJSDObject(JSDObject **aJSDObject) { return _to GetJSDObject(aJSDObject); } \
2889 : NS_SCRIPTABLE NS_IMETHOD GetCreatorURL(nsACString & aCreatorURL) { return _to GetCreatorURL(aCreatorURL); } \
2890 : NS_SCRIPTABLE NS_IMETHOD GetCreatorLine(PRUint32 *aCreatorLine) { return _to GetCreatorLine(aCreatorLine); } \
2891 : NS_SCRIPTABLE NS_IMETHOD GetConstructorURL(nsACString & aConstructorURL) { return _to GetConstructorURL(aConstructorURL); } \
2892 : NS_SCRIPTABLE NS_IMETHOD GetConstructorLine(PRUint32 *aConstructorLine) { return _to GetConstructorLine(aConstructorLine); } \
2893 : NS_SCRIPTABLE NS_IMETHOD GetValue(jsdIValue * *aValue) { return _to GetValue(aValue); }
2894 :
2895 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
2896 : #define NS_FORWARD_SAFE_JSDIOBJECT(_to) \
2897 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDContext(aJSDContext); } \
2898 : NS_IMETHOD GetJSDObject(JSDObject **aJSDObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDObject(aJSDObject); } \
2899 : NS_SCRIPTABLE NS_IMETHOD GetCreatorURL(nsACString & aCreatorURL) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCreatorURL(aCreatorURL); } \
2900 : NS_SCRIPTABLE NS_IMETHOD GetCreatorLine(PRUint32 *aCreatorLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCreatorLine(aCreatorLine); } \
2901 : NS_SCRIPTABLE NS_IMETHOD GetConstructorURL(nsACString & aConstructorURL) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetConstructorURL(aConstructorURL); } \
2902 : NS_SCRIPTABLE NS_IMETHOD GetConstructorLine(PRUint32 *aConstructorLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetConstructorLine(aConstructorLine); } \
2903 : NS_SCRIPTABLE NS_IMETHOD GetValue(jsdIValue * *aValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetValue(aValue); }
2904 :
2905 : #if 0
2906 : /* Use the code below as a template for the implementation class for this interface. */
2907 :
2908 : /* Header file */
2909 : class _MYCLASS_ : public jsdIObject
2910 : {
2911 : public:
2912 : NS_DECL_ISUPPORTS
2913 : NS_DECL_JSDIOBJECT
2914 :
2915 : _MYCLASS_();
2916 :
2917 : private:
2918 : ~_MYCLASS_();
2919 :
2920 : protected:
2921 : /* additional members */
2922 : };
2923 :
2924 : /* Implementation file */
2925 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIObject)
2926 :
2927 : _MYCLASS_::_MYCLASS_()
2928 : {
2929 : /* member initializers and constructor code */
2930 : }
2931 :
2932 : _MYCLASS_::~_MYCLASS_()
2933 : {
2934 : /* destructor code */
2935 : }
2936 :
2937 : /* [noscript] readonly attribute JSDContext JSDContext; */
2938 : NS_IMETHODIMP _MYCLASS_::GetJSDContext(JSDContext **aJSDContext)
2939 : {
2940 : return NS_ERROR_NOT_IMPLEMENTED;
2941 : }
2942 :
2943 : /* [noscript] readonly attribute JSDObject JSDObject; */
2944 : NS_IMETHODIMP _MYCLASS_::GetJSDObject(JSDObject **aJSDObject)
2945 : {
2946 : return NS_ERROR_NOT_IMPLEMENTED;
2947 : }
2948 :
2949 : /* readonly attribute AUTF8String creatorURL; */
2950 : NS_IMETHODIMP _MYCLASS_::GetCreatorURL(nsACString & aCreatorURL)
2951 : {
2952 : return NS_ERROR_NOT_IMPLEMENTED;
2953 : }
2954 :
2955 : /* readonly attribute unsigned long creatorLine; */
2956 : NS_IMETHODIMP _MYCLASS_::GetCreatorLine(PRUint32 *aCreatorLine)
2957 : {
2958 : return NS_ERROR_NOT_IMPLEMENTED;
2959 : }
2960 :
2961 : /* readonly attribute AUTF8String constructorURL; */
2962 : NS_IMETHODIMP _MYCLASS_::GetConstructorURL(nsACString & aConstructorURL)
2963 : {
2964 : return NS_ERROR_NOT_IMPLEMENTED;
2965 : }
2966 :
2967 : /* readonly attribute unsigned long constructorLine; */
2968 : NS_IMETHODIMP _MYCLASS_::GetConstructorLine(PRUint32 *aConstructorLine)
2969 : {
2970 : return NS_ERROR_NOT_IMPLEMENTED;
2971 : }
2972 :
2973 : /* readonly attribute jsdIValue value; */
2974 : NS_IMETHODIMP _MYCLASS_::GetValue(jsdIValue * *aValue)
2975 : {
2976 : return NS_ERROR_NOT_IMPLEMENTED;
2977 : }
2978 :
2979 : /* End of implementation class template. */
2980 : #endif
2981 :
2982 :
2983 : /* starting interface: jsdIProperty */
2984 : #define JSDIPROPERTY_IID_STR "09332485-1419-42bc-ba1f-070815ed4b82"
2985 :
2986 : #define JSDIPROPERTY_IID \
2987 : {0x09332485, 0x1419, 0x42bc, \
2988 : { 0xba, 0x1f, 0x07, 0x08, 0x15, 0xed, 0x4b, 0x82 }}
2989 :
2990 0 : class NS_NO_VTABLE NS_SCRIPTABLE jsdIProperty : public jsdIEphemeral {
2991 : public:
2992 :
2993 : NS_DECLARE_STATIC_IID_ACCESSOR(JSDIPROPERTY_IID)
2994 :
2995 : /* [noscript] readonly attribute JSDContext JSDContext; */
2996 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) = 0;
2997 :
2998 : /* [noscript] readonly attribute JSDProperty JSDProperty; */
2999 : NS_IMETHOD GetJSDProperty(JSDProperty **aJSDProperty) = 0;
3000 :
3001 : enum {
3002 : FLAG_ENUMERATE = 1U,
3003 : FLAG_READONLY = 2U,
3004 : FLAG_PERMANENT = 4U,
3005 : FLAG_ALIAS = 8U,
3006 : FLAG_ARGUMENT = 16U,
3007 : FLAG_VARIABLE = 32U,
3008 : FLAG_EXCEPTION = 64U,
3009 : FLAG_ERROR = 128U,
3010 : FLAG_HINTED = 2048U
3011 : };
3012 :
3013 : /* readonly attribute unsigned long flags; */
3014 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) = 0;
3015 :
3016 : /* readonly attribute jsdIValue alias; */
3017 : NS_SCRIPTABLE NS_IMETHOD GetAlias(jsdIValue * *aAlias) = 0;
3018 :
3019 : /* readonly attribute jsdIValue name; */
3020 : NS_SCRIPTABLE NS_IMETHOD GetName(jsdIValue * *aName) = 0;
3021 :
3022 : /* readonly attribute jsdIValue value; */
3023 : NS_SCRIPTABLE NS_IMETHOD GetValue(jsdIValue * *aValue) = 0;
3024 :
3025 : /* readonly attribute unsigned long varArgSlot; */
3026 : NS_SCRIPTABLE NS_IMETHOD GetVarArgSlot(PRUint32 *aVarArgSlot) = 0;
3027 :
3028 : };
3029 :
3030 : NS_DEFINE_STATIC_IID_ACCESSOR(jsdIProperty, JSDIPROPERTY_IID)
3031 :
3032 : /* Use this macro when declaring classes that implement this interface. */
3033 : #define NS_DECL_JSDIPROPERTY \
3034 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext); \
3035 : NS_IMETHOD GetJSDProperty(JSDProperty **aJSDProperty); \
3036 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags); \
3037 : NS_SCRIPTABLE NS_IMETHOD GetAlias(jsdIValue * *aAlias); \
3038 : NS_SCRIPTABLE NS_IMETHOD GetName(jsdIValue * *aName); \
3039 : NS_SCRIPTABLE NS_IMETHOD GetValue(jsdIValue * *aValue); \
3040 : NS_SCRIPTABLE NS_IMETHOD GetVarArgSlot(PRUint32 *aVarArgSlot);
3041 :
3042 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
3043 : #define NS_FORWARD_JSDIPROPERTY(_to) \
3044 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return _to GetJSDContext(aJSDContext); } \
3045 : NS_IMETHOD GetJSDProperty(JSDProperty **aJSDProperty) { return _to GetJSDProperty(aJSDProperty); } \
3046 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return _to GetFlags(aFlags); } \
3047 : NS_SCRIPTABLE NS_IMETHOD GetAlias(jsdIValue * *aAlias) { return _to GetAlias(aAlias); } \
3048 : NS_SCRIPTABLE NS_IMETHOD GetName(jsdIValue * *aName) { return _to GetName(aName); } \
3049 : NS_SCRIPTABLE NS_IMETHOD GetValue(jsdIValue * *aValue) { return _to GetValue(aValue); } \
3050 : NS_SCRIPTABLE NS_IMETHOD GetVarArgSlot(PRUint32 *aVarArgSlot) { return _to GetVarArgSlot(aVarArgSlot); }
3051 :
3052 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
3053 : #define NS_FORWARD_SAFE_JSDIPROPERTY(_to) \
3054 : NS_IMETHOD GetJSDContext(JSDContext **aJSDContext) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDContext(aJSDContext); } \
3055 : NS_IMETHOD GetJSDProperty(JSDProperty **aJSDProperty) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJSDProperty(aJSDProperty); } \
3056 : NS_SCRIPTABLE NS_IMETHOD GetFlags(PRUint32 *aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFlags(aFlags); } \
3057 : NS_SCRIPTABLE NS_IMETHOD GetAlias(jsdIValue * *aAlias) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAlias(aAlias); } \
3058 : NS_SCRIPTABLE NS_IMETHOD GetName(jsdIValue * *aName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetName(aName); } \
3059 : NS_SCRIPTABLE NS_IMETHOD GetValue(jsdIValue * *aValue) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetValue(aValue); } \
3060 : NS_SCRIPTABLE NS_IMETHOD GetVarArgSlot(PRUint32 *aVarArgSlot) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetVarArgSlot(aVarArgSlot); }
3061 :
3062 : #if 0
3063 : /* Use the code below as a template for the implementation class for this interface. */
3064 :
3065 : /* Header file */
3066 : class _MYCLASS_ : public jsdIProperty
3067 : {
3068 : public:
3069 : NS_DECL_ISUPPORTS
3070 : NS_DECL_JSDIPROPERTY
3071 :
3072 : _MYCLASS_();
3073 :
3074 : private:
3075 : ~_MYCLASS_();
3076 :
3077 : protected:
3078 : /* additional members */
3079 : };
3080 :
3081 : /* Implementation file */
3082 : NS_IMPL_ISUPPORTS1(_MYCLASS_, jsdIProperty)
3083 :
3084 : _MYCLASS_::_MYCLASS_()
3085 : {
3086 : /* member initializers and constructor code */
3087 : }
3088 :
3089 : _MYCLASS_::~_MYCLASS_()
3090 : {
3091 : /* destructor code */
3092 : }
3093 :
3094 : /* [noscript] readonly attribute JSDContext JSDContext; */
3095 : NS_IMETHODIMP _MYCLASS_::GetJSDContext(JSDContext **aJSDContext)
3096 : {
3097 : return NS_ERROR_NOT_IMPLEMENTED;
3098 : }
3099 :
3100 : /* [noscript] readonly attribute JSDProperty JSDProperty; */
3101 : NS_IMETHODIMP _MYCLASS_::GetJSDProperty(JSDProperty **aJSDProperty)
3102 : {
3103 : return NS_ERROR_NOT_IMPLEMENTED;
3104 : }
3105 :
3106 : /* readonly attribute unsigned long flags; */
3107 : NS_IMETHODIMP _MYCLASS_::GetFlags(PRUint32 *aFlags)
3108 : {
3109 : return NS_ERROR_NOT_IMPLEMENTED;
3110 : }
3111 :
3112 : /* readonly attribute jsdIValue alias; */
3113 : NS_IMETHODIMP _MYCLASS_::GetAlias(jsdIValue * *aAlias)
3114 : {
3115 : return NS_ERROR_NOT_IMPLEMENTED;
3116 : }
3117 :
3118 : /* readonly attribute jsdIValue name; */
3119 : NS_IMETHODIMP _MYCLASS_::GetName(jsdIValue * *aName)
3120 : {
3121 : return NS_ERROR_NOT_IMPLEMENTED;
3122 : }
3123 :
3124 : /* readonly attribute jsdIValue value; */
3125 : NS_IMETHODIMP _MYCLASS_::GetValue(jsdIValue * *aValue)
3126 : {
3127 : return NS_ERROR_NOT_IMPLEMENTED;
3128 : }
3129 :
3130 : /* readonly attribute unsigned long varArgSlot; */
3131 : NS_IMETHODIMP _MYCLASS_::GetVarArgSlot(PRUint32 *aVarArgSlot)
3132 : {
3133 : return NS_ERROR_NOT_IMPLEMENTED;
3134 : }
3135 :
3136 : /* End of implementation class template. */
3137 : #endif
3138 :
3139 :
3140 : #endif /* __gen_jsdIDebuggerService_h__ */
|