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