Line data Source code
1 : /* THIS FILE IS AUTOGENERATED FROM XULTemplateBuilder.webidl BY Codegen.py - DO NOT EDIT */
2 :
3 : #ifndef mozilla_dom_XULTemplateBuilderBinding_h
4 : #define mozilla_dom_XULTemplateBuilderBinding_h
5 :
6 : #include "js/RootingAPI.h"
7 : #include "jspubtd.h"
8 : #include "mozilla/ErrorResult.h"
9 : #include "mozilla/dom/BindingDeclarations.h"
10 : #include "mozilla/dom/CallbackInterface.h"
11 : #include "mozilla/dom/Nullable.h"
12 : #include "mozilla/dom/ToJSValue.h"
13 :
14 : class nsXULTemplateBuilder;
15 : struct nsXULTemplateBuilderAtoms;
16 : class nsXULTreeBuilder;
17 : struct nsXULTreeBuilderAtoms;
18 :
19 : namespace mozilla {
20 : namespace dom {
21 :
22 : class DataTransfer;
23 : class Element;
24 : struct NativePropertyHooks;
25 : class ProtoAndIfaceCache;
26 : class XULBuilderListener;
27 : struct XULBuilderListenerAtoms;
28 : class XULTreeBuilderObserver;
29 : struct XULTreeBuilderObserverAtoms;
30 :
31 : } // namespace dom
32 : } // namespace mozilla
33 :
34 : namespace mozilla {
35 : namespace dom {
36 :
37 : namespace XULTemplateBuilderBinding {
38 :
39 : typedef nsXULTemplateBuilder NativeType;
40 :
41 : bool
42 : ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
43 :
44 : JSObject*
45 : DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
46 :
47 : const JSClass*
48 : GetJSClass();
49 :
50 : bool
51 : Wrap(JSContext* aCx, nsXULTemplateBuilder* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
52 :
53 : template <class T>
54 0 : inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
55 : {
56 0 : JS::Rooted<JSObject*> reflector(aCx);
57 0 : return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
58 : }
59 :
60 : // We declare this as an array so that retrieving a pointer to this
61 : // binding's property hooks only requires compile/link-time resolvable
62 : // address arithmetic. Declaring it as a pointer instead would require
63 : // doing a run-time load to fetch a pointer to this binding's property
64 : // hooks. And then structures which embedded a pointer to this structure
65 : // would require a run-time load for proper initialization, which would
66 : // then induce static constructors. Lots of static constructors.
67 : extern const NativePropertyHooks sNativePropertyHooks[];
68 :
69 : void
70 : CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
71 :
72 : JS::Handle<JSObject*>
73 : GetProtoObjectHandle(JSContext* aCx);
74 :
75 : JSObject*
76 : GetProtoObject(JSContext* aCx);
77 :
78 : JS::Handle<JSObject*>
79 : GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true);
80 :
81 : JSObject*
82 : GetConstructorObject(JSContext* aCx);
83 :
84 : } // namespace XULTemplateBuilderBinding
85 :
86 :
87 :
88 : namespace XULTreeBuilderBinding {
89 :
90 : typedef nsXULTreeBuilder NativeType;
91 :
92 : bool
93 : ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
94 :
95 : JSObject*
96 : DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
97 :
98 : const JSClass*
99 : GetJSClass();
100 :
101 : bool
102 : Wrap(JSContext* aCx, nsXULTreeBuilder* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
103 :
104 : template <class T>
105 0 : inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
106 : {
107 0 : JS::Rooted<JSObject*> reflector(aCx);
108 0 : return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
109 : }
110 :
111 : // We declare this as an array so that retrieving a pointer to this
112 : // binding's property hooks only requires compile/link-time resolvable
113 : // address arithmetic. Declaring it as a pointer instead would require
114 : // doing a run-time load to fetch a pointer to this binding's property
115 : // hooks. And then structures which embedded a pointer to this structure
116 : // would require a run-time load for proper initialization, which would
117 : // then induce static constructors. Lots of static constructors.
118 : extern const NativePropertyHooks sNativePropertyHooks[];
119 :
120 : void
121 : CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
122 :
123 : JS::Handle<JSObject*>
124 : GetProtoObjectHandle(JSContext* aCx);
125 :
126 : JS::Handle<JSObject*>
127 : GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true);
128 :
129 : JSObject*
130 : GetConstructorObject(JSContext* aCx);
131 :
132 : } // namespace XULTreeBuilderBinding
133 :
134 :
135 :
136 : namespace XULTreeBuilderObserverBinding {
137 :
138 : typedef mozilla::dom::XULTreeBuilderObserver NativeType;
139 :
140 : bool
141 : ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
142 :
143 : JSObject*
144 : DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
145 :
146 : // We declare this as an array so that retrieving a pointer to this
147 : // binding's property hooks only requires compile/link-time resolvable
148 : // address arithmetic. Declaring it as a pointer instead would require
149 : // doing a run-time load to fetch a pointer to this binding's property
150 : // hooks. And then structures which embedded a pointer to this structure
151 : // would require a run-time load for proper initialization, which would
152 : // then induce static constructors. Lots of static constructors.
153 : extern const NativePropertyHooks sNativePropertyHooks[];
154 :
155 : void
156 : CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
157 :
158 : JS::Handle<JSObject*>
159 : GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true);
160 :
161 : JSObject*
162 : GetConstructorObject(JSContext* aCx);
163 :
164 : } // namespace XULTreeBuilderObserverBinding
165 :
166 :
167 :
168 0 : class XULBuilderListener : public CallbackInterface
169 : {
170 : public:
171 : explicit inline XULBuilderListener(JSContext* aCx, JS::Handle<JSObject*> aCallback, nsIGlobalObject* aIncumbentGlobal)
172 : : CallbackInterface(aCx, aCallback, aIncumbentGlobal)
173 : {
174 : }
175 :
176 0 : explicit inline XULBuilderListener(JS::Handle<JSObject*> aCallback, const FastCallbackConstructor& )
177 0 : : CallbackInterface(aCallback, FastCallbackConstructor())
178 : {
179 0 : }
180 :
181 : explicit inline XULBuilderListener(JS::Handle<JSObject*> aCallback, JS::Handle<JSObject*> aAsyncStack, nsIGlobalObject* aIncumbentGlobal)
182 : : CallbackInterface(aCallback, aAsyncStack, aIncumbentGlobal)
183 : {
184 : }
185 :
186 : void WillRebuild(nsXULTemplateBuilder& aBuilder, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
187 :
188 : void DidRebuild(nsXULTemplateBuilder& aBuilder, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
189 :
190 : inline bool
191 : operator==(const XULBuilderListener& aOther) const
192 : {
193 : return CallbackInterface::operator==(aOther);
194 : }
195 :
196 : private:
197 : static bool
198 : InitIds(JSContext* cx, XULBuilderListenerAtoms* atomsCache);
199 : };
200 :
201 :
202 0 : class XULTreeBuilderObserver : public CallbackInterface
203 : {
204 : public:
205 : explicit inline XULTreeBuilderObserver(JSContext* aCx, JS::Handle<JSObject*> aCallback, nsIGlobalObject* aIncumbentGlobal)
206 : : CallbackInterface(aCx, aCallback, aIncumbentGlobal)
207 : {
208 : }
209 :
210 0 : explicit inline XULTreeBuilderObserver(JS::Handle<JSObject*> aCallback, const FastCallbackConstructor& )
211 0 : : CallbackInterface(aCallback, FastCallbackConstructor())
212 : {
213 0 : }
214 :
215 : explicit inline XULTreeBuilderObserver(JS::Handle<JSObject*> aCallback, JS::Handle<JSObject*> aAsyncStack, nsIGlobalObject* aIncumbentGlobal)
216 : : CallbackInterface(aCallback, aAsyncStack, aIncumbentGlobal)
217 : {
218 : }
219 :
220 : bool CanDrop(int32_t index, int32_t orientation, DataTransfer* dataTransfer, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
221 :
222 : void OnDrop(int32_t row, int32_t orientation, DataTransfer* dataTransfer, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
223 :
224 : void OnToggleOpenState(int32_t index, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
225 :
226 : void OnCycleHeader(const nsAString& colID, Element* elt, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
227 :
228 : void OnCycleCell(int32_t row, const nsAString& colID, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
229 :
230 : void OnSelectionChanged(ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
231 :
232 : void OnPerformAction(const nsAString& action, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
233 :
234 : void OnPerformActionOnRow(const nsAString& action, int32_t row, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
235 :
236 : void OnPerformActionOnCell(const nsAString& action, int32_t row, const nsAString& colID, ErrorResult& aRv, const char* aExecutionReason = nullptr, ExceptionHandling aExceptionHandling = eReportExceptions, JSCompartment* aCompartment = nullptr);
237 :
238 : inline bool
239 : operator==(const XULTreeBuilderObserver& aOther) const
240 : {
241 : return CallbackInterface::operator==(aOther);
242 : }
243 :
244 : private:
245 : static bool
246 : InitIds(JSContext* cx, XULTreeBuilderObserverAtoms* atomsCache);
247 : };
248 :
249 :
250 : namespace binding_detail {
251 0 : class FastXULBuilderListener : public XULBuilderListener
252 : {
253 : public:
254 0 : explicit inline FastXULBuilderListener(JS::Handle<JSObject*> aCallback)
255 0 : : XULBuilderListener(aCallback, FastCallbackConstructor())
256 : {
257 0 : }
258 :
259 : inline void
260 0 : Trace(JSTracer* aTracer)
261 : {
262 0 : XULBuilderListener::Trace(aTracer);
263 0 : }
264 :
265 : inline void
266 0 : FinishSlowJSInitIfMoreThanOneOwner(JSContext* aCx)
267 : {
268 0 : XULBuilderListener::FinishSlowJSInitIfMoreThanOneOwner(aCx);
269 0 : }
270 : };
271 : } // namespace binding_detail
272 :
273 :
274 : namespace binding_detail {
275 0 : class FastXULTreeBuilderObserver : public XULTreeBuilderObserver
276 : {
277 : public:
278 0 : explicit inline FastXULTreeBuilderObserver(JS::Handle<JSObject*> aCallback)
279 0 : : XULTreeBuilderObserver(aCallback, FastCallbackConstructor())
280 : {
281 0 : }
282 :
283 : inline void
284 0 : Trace(JSTracer* aTracer)
285 : {
286 0 : XULTreeBuilderObserver::Trace(aTracer);
287 0 : }
288 :
289 : inline void
290 0 : FinishSlowJSInitIfMoreThanOneOwner(JSContext* aCx)
291 : {
292 0 : XULTreeBuilderObserver::FinishSlowJSInitIfMoreThanOneOwner(aCx);
293 0 : }
294 : };
295 : } // namespace binding_detail
296 :
297 :
298 : } // namespace dom
299 : } // namespace mozilla
300 :
301 : #endif // mozilla_dom_XULTemplateBuilderBinding_h
|