/work/obj-fuzz/dist/include/nsIXPCScriptable.h
Line | Count | Source |
1 | | /* |
2 | | * DO NOT EDIT. THIS FILE IS GENERATED FROM /src/mozilla-central/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_nsIClassInfo_h__ |
14 | | #include "nsIClassInfo.h" |
15 | | #endif |
16 | | |
17 | | #include "js/Value.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 | | #ifdef XP_WIN |
24 | | #undef GetClassName |
25 | | #endif |
26 | | #include "js/TypeDecls.h" |
27 | | struct JSFreeOp; |
28 | | namespace js { |
29 | | struct Class; |
30 | | } |
31 | | class nsIXPConnectWrappedNative; /* forward declaration */ |
32 | | |
33 | | // nsIXPCScriptable flags (only 32 bits available!). They are defined via |
34 | | // #defines so they can be used in #ifndef guards in xpc_map_end.h. |
35 | 206 | #define XPC_SCRIPTABLE_WANT_PRECREATE (1 << 0) |
36 | | // (1 << 1) is unused |
37 | | // (1 << 2) is unused |
38 | 174 | #define XPC_SCRIPTABLE_WANT_ENUMERATE (1 << 3) |
39 | 193 | #define XPC_SCRIPTABLE_WANT_NEWENUMERATE (1 << 4) |
40 | 1.62M | #define XPC_SCRIPTABLE_WANT_RESOLVE (1 << 5) |
41 | 162 | #define XPC_SCRIPTABLE_WANT_FINALIZE (1 << 6) |
42 | 71 | #define XPC_SCRIPTABLE_WANT_CALL (1 << 7) |
43 | 1.62M | #define XPC_SCRIPTABLE_WANT_CONSTRUCT (1 << 8) |
44 | 1.62M | #define XPC_SCRIPTABLE_WANT_HASINSTANCE (1 << 9) |
45 | 162 | #define XPC_SCRIPTABLE_USE_JSSTUB_FOR_ADDPROPERTY (1 << 10) |
46 | 162 | #define XPC_SCRIPTABLE_USE_JSSTUB_FOR_DELPROPERTY (1 << 11) |
47 | | // (1 << 12) is unused |
48 | 136 | #define XPC_SCRIPTABLE_DONT_ENUM_QUERY_INTERFACE (1 << 13) |
49 | | // (1 << 14) is unused |
50 | | // (1 << 15) is unused |
51 | 341 | #define XPC_SCRIPTABLE_ALLOW_PROP_MODS_DURING_RESOLVE (1 << 16) |
52 | | // (1 << 17) is unused |
53 | 191 | #define XPC_SCRIPTABLE_IS_GLOBAL_OBJECT (1 << 18) |
54 | 134 | #define XPC_SCRIPTABLE_DONT_REFLECT_INTERFACE_NAMES (1 << 19) |
55 | | |
56 | | /* starting interface: nsIXPCScriptable */ |
57 | | #define NS_IXPCSCRIPTABLE_IID_STR "19b70b26-7c3f-437f-a04a-2a8f9e28b617" |
58 | | |
59 | | #define NS_IXPCSCRIPTABLE_IID \ |
60 | | {0x19b70b26, 0x7c3f, 0x437f, \ |
61 | | { 0xa0, 0x4a, 0x2a, 0x8f, 0x9e, 0x28, 0xb6, 0x17 }} |
62 | | |
63 | | class nsIXPCScriptable : public nsISupports { |
64 | | public: |
65 | | |
66 | | NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCSCRIPTABLE_IID) |
67 | | |
68 | | /* readonly attribute AUTF8String className; */ |
69 | | NS_IMETHOD GetClassName(nsACString& aClassName) = 0; |
70 | | |
71 | | /* [nostdcall,notxpcom] uint32_t getScriptableFlags (); */ |
72 | | virtual uint32_t GetScriptableFlags(void) = 0; |
73 | | |
74 | | /* [nostdcall,notxpcom] jsClassPtr getClass (); */ |
75 | | virtual const js::Class * GetClass(void) = 0; |
76 | | |
77 | | /* [nostdcall,notxpcom] JSClassPtr getJSClass (); */ |
78 | | virtual const JSClass * GetJSClass(void) = 0; |
79 | | |
80 | | /* void preCreate (in nsISupports nativeObj, in JSContextPtr cx, in JSObjectPtr globalObj, out JSObjectPtr parentObj); */ |
81 | | NS_IMETHOD PreCreate(nsISupports *nativeObj, JSContext * cx, JSObject * globalObj, JSObject * * parentObj) = 0; |
82 | | |
83 | | /* boolean enumerate (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */ |
84 | | NS_IMETHOD Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, bool *_retval) = 0; |
85 | | |
86 | | /* boolean newEnumerate (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSAutoIdVector properties); */ |
87 | | NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::AutoIdVector & properties, bool *_retval) = 0; |
88 | | |
89 | | /* boolean resolve (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsid id, out boolean resolvedp); */ |
90 | | NS_IMETHOD Resolve(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, jsid id, bool *resolvedp, bool *_retval) = 0; |
91 | | |
92 | | /* void finalize (in nsIXPConnectWrappedNative wrapper, in JSFreeOpPtr fop, in JSObjectPtr obj); */ |
93 | | NS_IMETHOD Finalize(nsIXPConnectWrappedNative *wrapper, JSFreeOp * fop, JSObject * obj) = 0; |
94 | | |
95 | | /* boolean call (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSCallArgsRef args); */ |
96 | | NS_IMETHOD Call(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval) = 0; |
97 | | |
98 | | /* boolean construct (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSCallArgsRef args); */ |
99 | | NS_IMETHOD Construct(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval) = 0; |
100 | | |
101 | | /* boolean hasInstance (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val, out boolean bp); */ |
102 | | NS_IMETHOD HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::HandleValue val, bool *bp, bool *_retval) = 0; |
103 | | |
104 | | #define GET_IT(f_, c_) \ |
105 | 1.62M | bool f_() { \ |
106 | 1.62M | return 0 != (GetScriptableFlags() & XPC_SCRIPTABLE_##c_); \ |
107 | 1.62M | } nsIXPCScriptable::WantPreCreate() Line | Count | Source | 105 | 26 | bool f_() { \ | 106 | 26 | return 0 != (GetScriptableFlags() & XPC_SCRIPTABLE_##c_); \ | 107 | 26 | } |
Unexecuted instantiation: nsIXPCScriptable::WantEnumerate() Unexecuted instantiation: nsIXPCScriptable::WantNewEnumerate() nsIXPCScriptable::WantResolve() Line | Count | Source | 105 | 1.62M | bool f_() { \ | 106 | 1.62M | return 0 != (GetScriptableFlags() & XPC_SCRIPTABLE_##c_); \ | 107 | 1.62M | } |
Unexecuted instantiation: nsIXPCScriptable::WantFinalize() Unexecuted instantiation: nsIXPCScriptable::WantCall() Unexecuted instantiation: nsIXPCScriptable::WantConstruct() Unexecuted instantiation: nsIXPCScriptable::WantHasInstance() Unexecuted instantiation: nsIXPCScriptable::UseJSStubForAddProperty() Unexecuted instantiation: nsIXPCScriptable::UseJSStubForDelProperty() nsIXPCScriptable::DontEnumQueryInterface() Line | Count | Source | 105 | 3 | bool f_() { \ | 106 | 3 | return 0 != (GetScriptableFlags() & XPC_SCRIPTABLE_##c_); \ | 107 | 3 | } |
nsIXPCScriptable::AllowPropModsDuringResolve() Line | Count | Source | 105 | 60 | bool f_() { \ | 106 | 60 | return 0 != (GetScriptableFlags() & XPC_SCRIPTABLE_##c_); \ | 107 | 60 | } |
Unexecuted instantiation: nsIXPCScriptable::IsGlobalObject() nsIXPCScriptable::DontReflectInterfaceNames() Line | Count | Source | 105 | 1 | bool f_() { \ | 106 | 1 | return 0 != (GetScriptableFlags() & XPC_SCRIPTABLE_##c_); \ | 107 | 1 | } |
|
108 | | GET_IT(WantPreCreate, WANT_PRECREATE) |
109 | | GET_IT(WantEnumerate, WANT_ENUMERATE) |
110 | | GET_IT(WantNewEnumerate, WANT_NEWENUMERATE) |
111 | | GET_IT(WantResolve, WANT_RESOLVE) |
112 | | GET_IT(WantFinalize, WANT_FINALIZE) |
113 | | GET_IT(WantCall, WANT_CALL) |
114 | | GET_IT(WantConstruct, WANT_CONSTRUCT) |
115 | | GET_IT(WantHasInstance, WANT_HASINSTANCE) |
116 | | GET_IT(UseJSStubForAddProperty, USE_JSSTUB_FOR_ADDPROPERTY) |
117 | | GET_IT(UseJSStubForDelProperty, USE_JSSTUB_FOR_DELPROPERTY) |
118 | | GET_IT(DontEnumQueryInterface, DONT_ENUM_QUERY_INTERFACE) |
119 | | GET_IT(AllowPropModsDuringResolve, ALLOW_PROP_MODS_DURING_RESOLVE) |
120 | | GET_IT(IsGlobalObject, IS_GLOBAL_OBJECT) |
121 | | GET_IT(DontReflectInterfaceNames, DONT_REFLECT_INTERFACE_NAMES) |
122 | | #undef GET_IT |
123 | | }; |
124 | | |
125 | | NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCScriptable, NS_IXPCSCRIPTABLE_IID) |
126 | | |
127 | | /* Use this macro when declaring classes that implement this interface. */ |
128 | | #define NS_DECL_NSIXPCSCRIPTABLE \ |
129 | | NS_IMETHOD GetClassName(nsACString& aClassName) override; \ |
130 | | virtual uint32_t GetScriptableFlags(void) override; \ |
131 | | virtual const js::Class * GetClass(void) override; \ |
132 | | virtual const JSClass * GetJSClass(void) override; \ |
133 | | NS_IMETHOD PreCreate(nsISupports *nativeObj, JSContext * cx, JSObject * globalObj, JSObject * * parentObj) override; \ |
134 | | NS_IMETHOD Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, bool *_retval) override; \ |
135 | | NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::AutoIdVector & properties, bool *_retval) override; \ |
136 | | NS_IMETHOD Resolve(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, jsid id, bool *resolvedp, bool *_retval) override; \ |
137 | | NS_IMETHOD Finalize(nsIXPConnectWrappedNative *wrapper, JSFreeOp * fop, JSObject * obj) override; \ |
138 | | NS_IMETHOD Call(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval) override; \ |
139 | | NS_IMETHOD Construct(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval) override; \ |
140 | | NS_IMETHOD HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::HandleValue val, bool *bp, bool *_retval) override; \ |
141 | | |
142 | | /* Use this macro when declaring the members of this interface when the |
143 | | class doesn't implement the interface. This is useful for forwarding. */ |
144 | | #define NS_DECL_NON_VIRTUAL_NSIXPCSCRIPTABLE \ |
145 | | nsresult GetClassName(nsACString& aClassName); \ |
146 | | uint32_t GetScriptableFlags(void); \ |
147 | | const js::Class * GetClass(void); \ |
148 | | const JSClass * GetJSClass(void); \ |
149 | | nsresult PreCreate(nsISupports *nativeObj, JSContext * cx, JSObject * globalObj, JSObject * * parentObj); \ |
150 | | nsresult Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, bool *_retval); \ |
151 | | nsresult NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::AutoIdVector & properties, bool *_retval); \ |
152 | | nsresult Resolve(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, jsid id, bool *resolvedp, bool *_retval); \ |
153 | | nsresult Finalize(nsIXPConnectWrappedNative *wrapper, JSFreeOp * fop, JSObject * obj); \ |
154 | | nsresult Call(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval); \ |
155 | | nsresult Construct(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval); \ |
156 | | nsresult HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::HandleValue val, bool *bp, bool *_retval); \ |
157 | | |
158 | | /* Use this macro to declare functions that forward the behavior of this interface to another object. */ |
159 | | #define NS_FORWARD_NSIXPCSCRIPTABLE(_to) \ |
160 | | NS_IMETHOD GetClassName(nsACString& aClassName) override { return _to GetClassName(aClassName); } \ |
161 | | virtual uint32_t GetScriptableFlags(void) override { return _to GetScriptableFlags(); } \ |
162 | | virtual const js::Class * GetClass(void) override { return _to GetClass(); } \ |
163 | | virtual const JSClass * GetJSClass(void) override { return _to GetJSClass(); } \ |
164 | | NS_IMETHOD PreCreate(nsISupports *nativeObj, JSContext * cx, JSObject * globalObj, JSObject * * parentObj) override { return _to PreCreate(nativeObj, cx, globalObj, parentObj); } \ |
165 | | NS_IMETHOD Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, bool *_retval) override { return _to Enumerate(wrapper, cx, obj, _retval); } \ |
166 | | NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::AutoIdVector & properties, bool *_retval) override { return _to NewEnumerate(wrapper, cx, obj, properties, _retval); } \ |
167 | | NS_IMETHOD Resolve(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, jsid id, bool *resolvedp, bool *_retval) override { return _to Resolve(wrapper, cx, obj, id, resolvedp, _retval); } \ |
168 | | NS_IMETHOD Finalize(nsIXPConnectWrappedNative *wrapper, JSFreeOp * fop, JSObject * obj) override { return _to Finalize(wrapper, fop, obj); } \ |
169 | | NS_IMETHOD Call(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval) override { return _to Call(wrapper, cx, obj, args, _retval); } \ |
170 | | NS_IMETHOD Construct(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval) override { return _to Construct(wrapper, cx, obj, args, _retval); } \ |
171 | | NS_IMETHOD HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::HandleValue val, bool *bp, bool *_retval) override { return _to HasInstance(wrapper, cx, obj, val, bp, _retval); } \ |
172 | | |
173 | | /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ |
174 | | #define NS_FORWARD_SAFE_NSIXPCSCRIPTABLE(_to) \ |
175 | | NS_IMETHOD GetClassName(nsACString& aClassName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClassName(aClassName); } \ |
176 | | virtual uint32_t GetScriptableFlags(void) override; \ |
177 | | virtual const js::Class * GetClass(void) override; \ |
178 | | virtual const JSClass * GetJSClass(void) override; \ |
179 | | NS_IMETHOD PreCreate(nsISupports *nativeObj, JSContext * cx, JSObject * globalObj, JSObject * * parentObj) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PreCreate(nativeObj, cx, globalObj, parentObj); } \ |
180 | | NS_IMETHOD Enumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Enumerate(wrapper, cx, obj, _retval); } \ |
181 | | NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::AutoIdVector & properties, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->NewEnumerate(wrapper, cx, obj, properties, _retval); } \ |
182 | | NS_IMETHOD Resolve(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, jsid id, bool *resolvedp, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Resolve(wrapper, cx, obj, id, resolvedp, _retval); } \ |
183 | | NS_IMETHOD Finalize(nsIXPConnectWrappedNative *wrapper, JSFreeOp * fop, JSObject * obj) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Finalize(wrapper, fop, obj); } \ |
184 | | NS_IMETHOD Call(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Call(wrapper, cx, obj, args, _retval); } \ |
185 | | NS_IMETHOD Construct(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const JS::CallArgs & args, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Construct(wrapper, cx, obj, args, _retval); } \ |
186 | | NS_IMETHOD HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, JS::HandleValue val, bool *bp, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->HasInstance(wrapper, cx, obj, val, bp, _retval); } \ |
187 | | |
188 | | |
189 | | #endif /* __gen_nsIXPCScriptable_h__ */ |