LCOV - app.info - objdir/dist/include/jsdIDebuggerService.h

LCOV - code coverage report
| Current view: | directory - objdir/dist/include - jsdIDebuggerService.h (source / functions) |  | Found | Hit | Coverage |
| Test: | app.info | Lines: | 8 | 5 | 62.5 %
| Date: | 2012-06-02 | Functions: | 8 | 5 | 62.5 %

           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__ */

Generated by: LCOV version 1.7