1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM /builds/slave/m-beta-lnx-codecoverage/build/js/xpconnect/idl/nsIXPCScriptable.idl
3 : */
4 :
5 : #ifndef __gen_nsIXPCScriptable_h__
6 : #define __gen_nsIXPCScriptable_h__
7 :
8 :
9 : #ifndef __gen_nsISupports_h__
10 : #include "nsISupports.h"
11 : #endif
12 :
13 : #ifndef __gen_nsIXPConnect_h__
14 : #include "nsIXPConnect.h"
15 : #endif
16 :
17 : #include "jspubtd.h"
18 :
19 : /* For IDL files that don't want to include root IDL files. */
20 : #ifndef NS_NO_VTABLE
21 : #define NS_NO_VTABLE
22 : #endif
23 : #define NS_SUCCESS_I_DID_SOMETHING \
24 : (NS_ERROR_GENERATE_SUCCESS(NS_ERROR_MODULE_XPCONNECT,1))
25 : /**
26 : * Classes that want to only be touched by chrome (or from code whose filename
27 : * begins with chrome://global/) shoudl return this from their scriptable
28 : * helper's PreCreate hook.
29 : */
30 : #define NS_SUCCESS_CHROME_ACCESS_ONLY \
31 : (NS_ERROR_GENERATE_SUCCESS(NS_ERROR_MODULE_XPCONNECT,2))
32 : /**
33 : * Classes that want slim wrappers should return NS_SUCCESS_ALLOW_SLIM_WRAPPERS
34 : * from their scriptable helper's PreCreate hook. They must also force a parent
35 : * for their wrapper (from the PreCreate hook), they must implement
36 : * nsWrapperCache and their scriptable helper must implement nsXPCClassInfo and
37 : * must return DONT_ASK_INSTANCE_FOR_SCRIPTABLE in the flags.
38 : */
39 : #define NS_SUCCESS_ALLOW_SLIM_WRAPPERS \
40 : (NS_ERROR_GENERATE_SUCCESS(NS_ERROR_MODULE_XPCONNECT,3))
41 :
42 : /* starting interface: nsIXPCScriptable */
43 : #define NS_IXPCSCRIPTABLE_IID_STR "fca22e1e-a2bf-456e-83db-f73e8de0f7c5"
44 :
45 : #define NS_IXPCSCRIPTABLE_IID \
46 : {0xfca22e1e, 0xa2bf, 0x456e, \
47 : { 0x83, 0xdb, 0xf7, 0x3e, 0x8d, 0xe0, 0xf7, 0xc5 }}
48 :
49 228719 : class NS_NO_VTABLE nsIXPCScriptable : public nsISupports {
50 : public:
51 :
52 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCSCRIPTABLE_IID)
53 :
54 : enum {
55 : WANT_PRECREATE = 1U,
56 : WANT_CREATE = 2U,
57 : WANT_POSTCREATE = 4U,
58 : WANT_ADDPROPERTY = 8U,
59 : WANT_DELPROPERTY = 16U,
60 : WANT_GETPROPERTY = 32U,
61 : WANT_SETPROPERTY = 64U,
62 : WANT_ENUMERATE = 128U,
63 : WANT_NEWENUMERATE = 256U,
64 : WANT_NEWRESOLVE = 512U,
65 : WANT_CONVERT = 1024U,
66 : WANT_FINALIZE = 2048U,
67 : WANT_CHECKACCESS = 4096U,
68 : WANT_CALL = 8192U,
69 : WANT_CONSTRUCT = 16384U,
70 : WANT_HASINSTANCE = 32768U,
71 : USE_JSSTUB_FOR_ADDPROPERTY = 131072U,
72 : USE_JSSTUB_FOR_DELPROPERTY = 262144U,
73 : USE_JSSTUB_FOR_SETPROPERTY = 524288U,
74 : DONT_ENUM_STATIC_PROPS = 1048576U,
75 : DONT_ENUM_QUERY_INTERFACE = 2097152U,
76 : DONT_ASK_INSTANCE_FOR_SCRIPTABLE = 4194304U,
77 : CLASSINFO_INTERFACES_ONLY = 8388608U,
78 : ALLOW_PROP_MODS_DURING_RESOLVE = 16777216U,
79 : ALLOW_PROP_MODS_TO_PROTOTYPE = 33554432U,
80 : IS_GLOBAL_OBJECT = 67108864U,
81 : DONT_REFLECT_INTERFACE_NAMES = 134217728U,
82 : WANT_EQUALITY = 268435456U,
83 : WANT_OUTER_OBJECT = 536870912U,
84 : USE_STUB_EQUALITY_HOOK = 1073741824U,
85 : RESERVED = 2147483648U
86 : };
87 :
88 : /* readonly attribute string className; */
89 : NS_IMETHOD GetClassName(char * *aClassName) = 0;
90 :
91 : /* readonly attribute PRUint32 scriptableFlags; */
92 : NS_IMETHOD GetScriptableFlags(PRUint32 *aScriptableFlags) = 0;
93 :
94 : /* void preCreate (in nsISupports nativeObj, in JSContextPtr cx, in JSObjectPtr globalObj, out JSObjectPtr parentObj); */
95 : NS_IMETHOD PreCreate(nsISupports *nativeObj, JSContext *cx, JSObject *globalObj, JSObject **parentObj NS_OUTPARAM) = 0;
96 :
97 : /* void create (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
98 : NS_IMETHOD Create(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj) = 0;
99 :
100 : /* void postCreate (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
101 : NS_IMETHOD PostCreate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj) = 0;
102 :
103 : /* boolean addProperty (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in JSValPtr vp); */
104 : NS_IMETHOD AddProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) = 0;
105 :
106 : /* boolean delProperty (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in JSValPtr vp); */
107 : NS_IMETHOD DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) = 0;
108 :
109 : /* boolean getProperty (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in JSValPtr vp); */
110 : NS_IMETHOD GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) = 0;
111 :
112 : /* boolean setProperty (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in JSValPtr vp); */
113 : NS_IMETHOD SetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) = 0;
114 :
115 : /* boolean enumerate (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
116 : NS_IMETHOD Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, bool *_retval NS_OUTPARAM) = 0;
117 :
118 : /* boolean newEnumerate (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 enum_op, in JSValPtr statep, out jsid idp); */
119 : NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 enum_op, jsval *statep, jsid *idp NS_OUTPARAM, bool *_retval NS_OUTPARAM) = 0;
120 :
121 : /* boolean newResolve (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in PRUint32 flags, out JSObjectPtr objp); */
122 : NS_IMETHOD NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 flags, JSObject **objp NS_OUTPARAM, bool *_retval NS_OUTPARAM) = 0;
123 :
124 : /* boolean convert (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 type, in JSValPtr vp); */
125 : NS_IMETHOD Convert(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 type, jsval *vp, bool *_retval NS_OUTPARAM) = 0;
126 :
127 : /* void finalize (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
128 : NS_IMETHOD Finalize(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj) = 0;
129 :
130 : /* boolean checkAccess (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in PRUint32 mode, in JSValPtr vp); */
131 : NS_IMETHOD CheckAccess(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 mode, jsval *vp, bool *_retval NS_OUTPARAM) = 0;
132 :
133 : /* boolean call (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 argc, in JSValPtr argv, in JSValPtr vp); */
134 : NS_IMETHOD Call(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM) = 0;
135 :
136 : /* boolean construct (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 argc, in JSValPtr argv, in JSValPtr vp); */
137 : NS_IMETHOD Construct(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM) = 0;
138 :
139 : /* boolean hasInstance (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val, out boolean bp); */
140 : NS_IMETHOD HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *bp NS_OUTPARAM, bool *_retval NS_OUTPARAM) = 0;
141 :
142 : /* boolean equality (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val); */
143 : NS_IMETHOD Equality(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *_retval NS_OUTPARAM) = 0;
144 :
145 : /* JSObjectPtr outerObject (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
146 : NS_IMETHOD OuterObject(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, JSObject **_retval NS_OUTPARAM) = 0;
147 :
148 : /* void postCreatePrototype (in JSContextPtr cx, in JSObjectPtr proto); */
149 : NS_IMETHOD PostCreatePrototype(JSContext *cx, JSObject *proto) = 0;
150 :
151 : };
152 :
153 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCScriptable, NS_IXPCSCRIPTABLE_IID)
154 :
155 : /* Use this macro when declaring classes that implement this interface. */
156 : #define NS_DECL_NSIXPCSCRIPTABLE \
157 : NS_IMETHOD GetClassName(char * *aClassName); \
158 : NS_IMETHOD GetScriptableFlags(PRUint32 *aScriptableFlags); \
159 : NS_IMETHOD PreCreate(nsISupports *nativeObj, JSContext *cx, JSObject *globalObj, JSObject **parentObj NS_OUTPARAM); \
160 : NS_IMETHOD Create(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj); \
161 : NS_IMETHOD PostCreate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj); \
162 : NS_IMETHOD AddProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM); \
163 : NS_IMETHOD DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM); \
164 : NS_IMETHOD GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM); \
165 : NS_IMETHOD SetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM); \
166 : NS_IMETHOD Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, bool *_retval NS_OUTPARAM); \
167 : NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 enum_op, jsval *statep, jsid *idp NS_OUTPARAM, bool *_retval NS_OUTPARAM); \
168 : NS_IMETHOD NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 flags, JSObject **objp NS_OUTPARAM, bool *_retval NS_OUTPARAM); \
169 : NS_IMETHOD Convert(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 type, jsval *vp, bool *_retval NS_OUTPARAM); \
170 : NS_IMETHOD Finalize(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj); \
171 : NS_IMETHOD CheckAccess(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 mode, jsval *vp, bool *_retval NS_OUTPARAM); \
172 : NS_IMETHOD Call(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM); \
173 : NS_IMETHOD Construct(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM); \
174 : NS_IMETHOD HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *bp NS_OUTPARAM, bool *_retval NS_OUTPARAM); \
175 : NS_IMETHOD Equality(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *_retval NS_OUTPARAM); \
176 : NS_IMETHOD OuterObject(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, JSObject **_retval NS_OUTPARAM); \
177 : NS_IMETHOD PostCreatePrototype(JSContext *cx, JSObject *proto);
178 :
179 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
180 : #define NS_FORWARD_NSIXPCSCRIPTABLE(_to) \
181 : NS_IMETHOD GetClassName(char * *aClassName) { return _to GetClassName(aClassName); } \
182 : NS_IMETHOD GetScriptableFlags(PRUint32 *aScriptableFlags) { return _to GetScriptableFlags(aScriptableFlags); } \
183 : NS_IMETHOD PreCreate(nsISupports *nativeObj, JSContext *cx, JSObject *globalObj, JSObject **parentObj NS_OUTPARAM) { return _to PreCreate(nativeObj, cx, globalObj, parentObj); } \
184 : NS_IMETHOD Create(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj) { return _to Create(wrapper, cx, obj); } \
185 : NS_IMETHOD PostCreate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj) { return _to PostCreate(wrapper, cx, obj); } \
186 : NS_IMETHOD AddProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) { return _to AddProperty(wrapper, cx, obj, id, vp, _retval); } \
187 : NS_IMETHOD DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) { return _to DelProperty(wrapper, cx, obj, id, vp, _retval); } \
188 : NS_IMETHOD GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) { return _to GetProperty(wrapper, cx, obj, id, vp, _retval); } \
189 : NS_IMETHOD SetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) { return _to SetProperty(wrapper, cx, obj, id, vp, _retval); } \
190 : NS_IMETHOD Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, bool *_retval NS_OUTPARAM) { return _to Enumerate(wrapper, cx, obj, _retval); } \
191 : NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 enum_op, jsval *statep, jsid *idp NS_OUTPARAM, bool *_retval NS_OUTPARAM) { return _to NewEnumerate(wrapper, cx, obj, enum_op, statep, idp, _retval); } \
192 : NS_IMETHOD NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 flags, JSObject **objp NS_OUTPARAM, bool *_retval NS_OUTPARAM) { return _to NewResolve(wrapper, cx, obj, id, flags, objp, _retval); } \
193 : NS_IMETHOD Convert(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 type, jsval *vp, bool *_retval NS_OUTPARAM) { return _to Convert(wrapper, cx, obj, type, vp, _retval); } \
194 : NS_IMETHOD Finalize(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj) { return _to Finalize(wrapper, cx, obj); } \
195 : NS_IMETHOD CheckAccess(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 mode, jsval *vp, bool *_retval NS_OUTPARAM) { return _to CheckAccess(wrapper, cx, obj, id, mode, vp, _retval); } \
196 : NS_IMETHOD Call(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM) { return _to Call(wrapper, cx, obj, argc, argv, vp, _retval); } \
197 : NS_IMETHOD Construct(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM) { return _to Construct(wrapper, cx, obj, argc, argv, vp, _retval); } \
198 : NS_IMETHOD HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *bp NS_OUTPARAM, bool *_retval NS_OUTPARAM) { return _to HasInstance(wrapper, cx, obj, val, bp, _retval); } \
199 : NS_IMETHOD Equality(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *_retval NS_OUTPARAM) { return _to Equality(wrapper, cx, obj, val, _retval); } \
200 : NS_IMETHOD OuterObject(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, JSObject **_retval NS_OUTPARAM) { return _to OuterObject(wrapper, cx, obj, _retval); } \
201 : NS_IMETHOD PostCreatePrototype(JSContext *cx, JSObject *proto) { return _to PostCreatePrototype(cx, proto); }
202 :
203 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
204 : #define NS_FORWARD_SAFE_NSIXPCSCRIPTABLE(_to) \
205 : NS_IMETHOD GetClassName(char * *aClassName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClassName(aClassName); } \
206 : NS_IMETHOD GetScriptableFlags(PRUint32 *aScriptableFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScriptableFlags(aScriptableFlags); } \
207 : NS_IMETHOD PreCreate(nsISupports *nativeObj, JSContext *cx, JSObject *globalObj, JSObject **parentObj NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->PreCreate(nativeObj, cx, globalObj, parentObj); } \
208 : NS_IMETHOD Create(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj) { return !_to ? NS_ERROR_NULL_POINTER : _to->Create(wrapper, cx, obj); } \
209 : NS_IMETHOD PostCreate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj) { return !_to ? NS_ERROR_NULL_POINTER : _to->PostCreate(wrapper, cx, obj); } \
210 : NS_IMETHOD AddProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddProperty(wrapper, cx, obj, id, vp, _retval); } \
211 : NS_IMETHOD DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->DelProperty(wrapper, cx, obj, id, vp, _retval); } \
212 : NS_IMETHOD GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProperty(wrapper, cx, obj, id, vp, _retval); } \
213 : NS_IMETHOD SetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetProperty(wrapper, cx, obj, id, vp, _retval); } \
214 : NS_IMETHOD Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Enumerate(wrapper, cx, obj, _retval); } \
215 : NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 enum_op, jsval *statep, jsid *idp NS_OUTPARAM, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->NewEnumerate(wrapper, cx, obj, enum_op, statep, idp, _retval); } \
216 : NS_IMETHOD NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 flags, JSObject **objp NS_OUTPARAM, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->NewResolve(wrapper, cx, obj, id, flags, objp, _retval); } \
217 : NS_IMETHOD Convert(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 type, jsval *vp, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Convert(wrapper, cx, obj, type, vp, _retval); } \
218 : NS_IMETHOD Finalize(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj) { return !_to ? NS_ERROR_NULL_POINTER : _to->Finalize(wrapper, cx, obj); } \
219 : NS_IMETHOD CheckAccess(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 mode, jsval *vp, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->CheckAccess(wrapper, cx, obj, id, mode, vp, _retval); } \
220 : NS_IMETHOD Call(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Call(wrapper, cx, obj, argc, argv, vp, _retval); } \
221 : NS_IMETHOD Construct(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Construct(wrapper, cx, obj, argc, argv, vp, _retval); } \
222 : NS_IMETHOD HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *bp NS_OUTPARAM, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->HasInstance(wrapper, cx, obj, val, bp, _retval); } \
223 : NS_IMETHOD Equality(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->Equality(wrapper, cx, obj, val, _retval); } \
224 : NS_IMETHOD OuterObject(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, JSObject **_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->OuterObject(wrapper, cx, obj, _retval); } \
225 : NS_IMETHOD PostCreatePrototype(JSContext *cx, JSObject *proto) { return !_to ? NS_ERROR_NULL_POINTER : _to->PostCreatePrototype(cx, proto); }
226 :
227 : #if 0
228 : /* Use the code below as a template for the implementation class for this interface. */
229 :
230 : /* Header file */
231 : class nsXPCScriptable : public nsIXPCScriptable
232 : {
233 : public:
234 : NS_DECL_ISUPPORTS
235 : NS_DECL_NSIXPCSCRIPTABLE
236 :
237 : nsXPCScriptable();
238 :
239 : private:
240 : ~nsXPCScriptable();
241 :
242 : protected:
243 : /* additional members */
244 : };
245 :
246 : /* Implementation file */
247 : NS_IMPL_ISUPPORTS1(nsXPCScriptable, nsIXPCScriptable)
248 :
249 : nsXPCScriptable::nsXPCScriptable()
250 : {
251 : /* member initializers and constructor code */
252 : }
253 :
254 : nsXPCScriptable::~nsXPCScriptable()
255 : {
256 : /* destructor code */
257 : }
258 :
259 : /* readonly attribute string className; */
260 : NS_IMETHODIMP nsXPCScriptable::GetClassName(char * *aClassName)
261 : {
262 : return NS_ERROR_NOT_IMPLEMENTED;
263 : }
264 :
265 : /* readonly attribute PRUint32 scriptableFlags; */
266 : NS_IMETHODIMP nsXPCScriptable::GetScriptableFlags(PRUint32 *aScriptableFlags)
267 : {
268 : return NS_ERROR_NOT_IMPLEMENTED;
269 : }
270 :
271 : /* void preCreate (in nsISupports nativeObj, in JSContextPtr cx, in JSObjectPtr globalObj, out JSObjectPtr parentObj); */
272 : NS_IMETHODIMP nsXPCScriptable::PreCreate(nsISupports *nativeObj, JSContext *cx, JSObject *globalObj, JSObject **parentObj NS_OUTPARAM)
273 : {
274 : return NS_ERROR_NOT_IMPLEMENTED;
275 : }
276 :
277 : /* void create (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
278 : NS_IMETHODIMP nsXPCScriptable::Create(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj)
279 : {
280 : return NS_ERROR_NOT_IMPLEMENTED;
281 : }
282 :
283 : /* void postCreate (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
284 : NS_IMETHODIMP nsXPCScriptable::PostCreate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj)
285 : {
286 : return NS_ERROR_NOT_IMPLEMENTED;
287 : }
288 :
289 : /* boolean addProperty (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in JSValPtr vp); */
290 : NS_IMETHODIMP nsXPCScriptable::AddProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM)
291 : {
292 : return NS_ERROR_NOT_IMPLEMENTED;
293 : }
294 :
295 : /* boolean delProperty (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in JSValPtr vp); */
296 : NS_IMETHODIMP nsXPCScriptable::DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM)
297 : {
298 : return NS_ERROR_NOT_IMPLEMENTED;
299 : }
300 :
301 : /* boolean getProperty (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in JSValPtr vp); */
302 : NS_IMETHODIMP nsXPCScriptable::GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM)
303 : {
304 : return NS_ERROR_NOT_IMPLEMENTED;
305 : }
306 :
307 : /* boolean setProperty (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in JSValPtr vp); */
308 : NS_IMETHODIMP nsXPCScriptable::SetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, jsval *vp, bool *_retval NS_OUTPARAM)
309 : {
310 : return NS_ERROR_NOT_IMPLEMENTED;
311 : }
312 :
313 : /* boolean enumerate (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
314 : NS_IMETHODIMP nsXPCScriptable::Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, bool *_retval NS_OUTPARAM)
315 : {
316 : return NS_ERROR_NOT_IMPLEMENTED;
317 : }
318 :
319 : /* boolean newEnumerate (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 enum_op, in JSValPtr statep, out jsid idp); */
320 : NS_IMETHODIMP nsXPCScriptable::NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 enum_op, jsval *statep, jsid *idp NS_OUTPARAM, bool *_retval NS_OUTPARAM)
321 : {
322 : return NS_ERROR_NOT_IMPLEMENTED;
323 : }
324 :
325 : /* boolean newResolve (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in PRUint32 flags, out JSObjectPtr objp); */
326 : NS_IMETHODIMP nsXPCScriptable::NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 flags, JSObject **objp NS_OUTPARAM, bool *_retval NS_OUTPARAM)
327 : {
328 : return NS_ERROR_NOT_IMPLEMENTED;
329 : }
330 :
331 : /* boolean convert (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 type, in JSValPtr vp); */
332 : NS_IMETHODIMP nsXPCScriptable::Convert(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 type, jsval *vp, bool *_retval NS_OUTPARAM)
333 : {
334 : return NS_ERROR_NOT_IMPLEMENTED;
335 : }
336 :
337 : /* void finalize (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
338 : NS_IMETHODIMP nsXPCScriptable::Finalize(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj)
339 : {
340 : return NS_ERROR_NOT_IMPLEMENTED;
341 : }
342 :
343 : /* boolean checkAccess (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, in PRUint32 mode, in JSValPtr vp); */
344 : NS_IMETHODIMP nsXPCScriptable::CheckAccess(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, PRUint32 mode, jsval *vp, bool *_retval NS_OUTPARAM)
345 : {
346 : return NS_ERROR_NOT_IMPLEMENTED;
347 : }
348 :
349 : /* boolean call (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 argc, in JSValPtr argv, in JSValPtr vp); */
350 : NS_IMETHODIMP nsXPCScriptable::Call(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM)
351 : {
352 : return NS_ERROR_NOT_IMPLEMENTED;
353 : }
354 :
355 : /* boolean construct (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 argc, in JSValPtr argv, in JSValPtr vp); */
356 : NS_IMETHODIMP nsXPCScriptable::Construct(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, bool *_retval NS_OUTPARAM)
357 : {
358 : return NS_ERROR_NOT_IMPLEMENTED;
359 : }
360 :
361 : /* boolean hasInstance (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val, out boolean bp); */
362 : NS_IMETHODIMP nsXPCScriptable::HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *bp NS_OUTPARAM, bool *_retval NS_OUTPARAM)
363 : {
364 : return NS_ERROR_NOT_IMPLEMENTED;
365 : }
366 :
367 : /* boolean equality (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val); */
368 : NS_IMETHODIMP nsXPCScriptable::Equality(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::Value & val, bool *_retval NS_OUTPARAM)
369 : {
370 : return NS_ERROR_NOT_IMPLEMENTED;
371 : }
372 :
373 : /* JSObjectPtr outerObject (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
374 : NS_IMETHODIMP nsXPCScriptable::OuterObject(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, JSObject **_retval NS_OUTPARAM)
375 : {
376 : return NS_ERROR_NOT_IMPLEMENTED;
377 : }
378 :
379 : /* void postCreatePrototype (in JSContextPtr cx, in JSObjectPtr proto); */
380 : NS_IMETHODIMP nsXPCScriptable::PostCreatePrototype(JSContext *cx, JSObject *proto)
381 : {
382 : return NS_ERROR_NOT_IMPLEMENTED;
383 : }
384 :
385 : /* End of implementation class template. */
386 : #endif
387 :
388 :
389 : #include "nsAutoPtr.h"
390 : #define NS_XPCCLASSINFO_IID \
391 : { 0x9a5b0342, 0x0f70, 0x4d31, \
392 : { 0xb7, 0xd7, 0x29, 0x68, 0xa5, 0x70, 0x4b, 0xd8 } }
393 : class NS_NO_VTABLE nsXPCClassInfo : public nsIClassInfo,
394 : public nsIXPCScriptable
395 1686 : {
396 : public:
397 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_XPCCLASSINFO_IID)
398 : NS_IMETHOD_(nsrefcnt) AddRef() = 0;
399 : NS_IMETHOD_(nsrefcnt) Release() = 0;
400 : virtual void PreserveWrapper(nsISupports *aNative) = 0;
401 : virtual PRUint32 GetInterfacesBitmap() = 0;
402 : };
403 : NS_DEFINE_STATIC_IID_ACCESSOR(nsXPCClassInfo, NS_XPCCLASSINFO_IID)
404 : inline
405 : nsresult
406 31236 : CallQueryInterface(nsISupports* aSourcePtr,
407 : nsRefPtrGetterAddRefs<nsXPCClassInfo> aDestPtr)
408 : {
409 : return CallQueryInterface(aSourcePtr,
410 31236 : static_cast<nsXPCClassInfo**>(aDestPtr));
411 : }
412 :
413 : #endif /* __gen_nsIXPCScriptable_h__ */
|