1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7 // If you include this file you must also include xpc_make_class.h at the top
8 // of the file doing the including.
9
10 #ifndef XPC_MAP_CLASSNAME
11 # error "Must #define XPC_MAP_CLASSNAME before #including xpc_map_end.h"
12 #endif
13
14 #ifndef XPC_MAP_QUOTED_CLASSNAME
15 # error "Must #define XPC_MAP_QUOTED_CLASSNAME before #including xpc_map_end.h"
16 #endif
17
18 #ifndef XPC_MAP_FLAGS
19 # error "Must #define XPC_MAP_FLAGS before #including xpc_map_end.h"
20 #endif
21
22 #include "js/Id.h"
23
24 /**************************************************************/
25
GetClassName(nsACString & aClassName)26 NS_IMETHODIMP XPC_MAP_CLASSNAME::GetClassName(nsACString& aClassName) {
27 aClassName.AssignLiteral(XPC_MAP_QUOTED_CLASSNAME);
28 return NS_OK;
29 }
30
31 /**************************************************************/
32
33 // virtual
GetScriptableFlags()34 uint32_t XPC_MAP_CLASSNAME::GetScriptableFlags() { return (XPC_MAP_FLAGS); }
35
36 // virtual
GetJSClass()37 const JSClass* XPC_MAP_CLASSNAME::GetJSClass() {
38 static const JSClassOps classOps = XPC_MAKE_CLASS_OPS(GetScriptableFlags());
39 static const JSClass klass =
40 XPC_MAKE_CLASS(XPC_MAP_QUOTED_CLASSNAME, GetScriptableFlags(), &classOps);
41 return &klass;
42 }
43
44 /**************************************************************/
45
46 #if !((XPC_MAP_FLAGS)&XPC_SCRIPTABLE_WANT_PRECREATE)
PreCreate(nsISupports * nativeObj,JSContext * cx,JSObject * globalObj,JSObject ** parentObj)47 NS_IMETHODIMP XPC_MAP_CLASSNAME::PreCreate(nsISupports* nativeObj,
48 JSContext* cx, JSObject* globalObj,
49 JSObject** parentObj) {
50 NS_ERROR("never called");
51 return NS_ERROR_NOT_IMPLEMENTED;
52 }
53 #endif
54
55 #if !((XPC_MAP_FLAGS)&XPC_SCRIPTABLE_WANT_NEWENUMERATE)
NewEnumerate(nsIXPConnectWrappedNative * wrapper,JSContext * cx,JSObject * obj,JS::MutableHandleIdVector properties,bool enumerableOnly,bool * _retval)56 NS_IMETHODIMP XPC_MAP_CLASSNAME::NewEnumerate(
57 nsIXPConnectWrappedNative* wrapper, JSContext* cx, JSObject* obj,
58 JS::MutableHandleIdVector properties, bool enumerableOnly, bool* _retval) {
59 NS_ERROR("never called");
60 return NS_ERROR_NOT_IMPLEMENTED;
61 }
62 #endif
63
64 #if !((XPC_MAP_FLAGS)&XPC_SCRIPTABLE_WANT_RESOLVE)
Resolve(nsIXPConnectWrappedNative * wrapper,JSContext * cx,JSObject * obj,jsid id,bool * resolvedp,bool * _retval)65 NS_IMETHODIMP XPC_MAP_CLASSNAME::Resolve(nsIXPConnectWrappedNative* wrapper,
66 JSContext* cx, JSObject* obj, jsid id,
67 bool* resolvedp, bool* _retval) {
68 NS_ERROR("never called");
69 return NS_ERROR_NOT_IMPLEMENTED;
70 }
71 #endif
72
73 #if !((XPC_MAP_FLAGS)&XPC_SCRIPTABLE_WANT_FINALIZE)
Finalize(nsIXPConnectWrappedNative * wrapper,JSFreeOp * fop,JSObject * obj)74 NS_IMETHODIMP XPC_MAP_CLASSNAME::Finalize(nsIXPConnectWrappedNative* wrapper,
75 JSFreeOp* fop, JSObject* obj) {
76 NS_ERROR("never called");
77 return NS_ERROR_NOT_IMPLEMENTED;
78 }
79 #endif
80
81 #if !((XPC_MAP_FLAGS)&XPC_SCRIPTABLE_WANT_CALL)
Call(nsIXPConnectWrappedNative * wrapper,JSContext * cx,JSObject * obj,const JS::CallArgs & args,bool * _retval)82 NS_IMETHODIMP XPC_MAP_CLASSNAME::Call(nsIXPConnectWrappedNative* wrapper,
83 JSContext* cx, JSObject* obj,
84 const JS::CallArgs& args, bool* _retval) {
85 NS_ERROR("never called");
86 return NS_ERROR_NOT_IMPLEMENTED;
87 }
88 #endif
89
90 #if !((XPC_MAP_FLAGS)&XPC_SCRIPTABLE_WANT_CONSTRUCT)
Construct(nsIXPConnectWrappedNative * wrapper,JSContext * cx,JSObject * obj,const JS::CallArgs & args,bool * _retval)91 NS_IMETHODIMP XPC_MAP_CLASSNAME::Construct(nsIXPConnectWrappedNative* wrapper,
92 JSContext* cx, JSObject* obj,
93 const JS::CallArgs& args,
94 bool* _retval) {
95 NS_ERROR("never called");
96 return NS_ERROR_NOT_IMPLEMENTED;
97 }
98 #endif
99
100 #if !((XPC_MAP_FLAGS)&XPC_SCRIPTABLE_WANT_HASINSTANCE)
HasInstance(nsIXPConnectWrappedNative * wrapper,JSContext * cx,JSObject * obj,JS::HandleValue val,bool * bp,bool * _retval)101 NS_IMETHODIMP XPC_MAP_CLASSNAME::HasInstance(nsIXPConnectWrappedNative* wrapper,
102 JSContext* cx, JSObject* obj,
103 JS::HandleValue val, bool* bp,
104 bool* _retval) {
105 NS_ERROR("never called");
106 return NS_ERROR_NOT_IMPLEMENTED;
107 }
108 #endif
109
110 /**************************************************************/
111
112 #undef XPC_MAP_CLASSNAME
113 #undef XPC_MAP_QUOTED_CLASSNAME
114 #undef XPC_MAP_FLAGS
115