summaryrefslogtreecommitdiff
path: root/src/jsapi-libdom.c
diff options
context:
space:
mode:
authorVincent Sanders <vincent.sanders@collabora.co.uk>2012-10-25 19:37:09 +0100
committerVincent Sanders <vincent.sanders@collabora.co.uk>2012-10-25 19:37:09 +0100
commit971604ee6d295e3b5c5527c15a2e3f5fd34c335c (patch)
tree4b05c7525d5487411d2ff8c19a0c58c77d9383b0 /src/jsapi-libdom.c
parent0b5cd300d739b37090f5e1d29ca08a49fd892713 (diff)
downloadnsgenbind-971604ee6d295e3b5c5527c15a2e3f5fd34c335c.tar.gz
nsgenbind-971604ee6d295e3b5c5527c15a2e3f5fd34c335c.tar.bz2
make teh class object non static and named according to interface
Diffstat (limited to 'src/jsapi-libdom.c')
-rw-r--r--src/jsapi-libdom.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/jsapi-libdom.c b/src/jsapi-libdom.c
index 82c4ac1..18915fe 100644
--- a/src/jsapi-libdom.c
+++ b/src/jsapi-libdom.c
@@ -402,11 +402,12 @@ output_con_de_structors(struct binding *binding)
"{"
"\tstruct jsclass_private *private;\n"
"\n"
- "\tprivate = JS_GetInstancePrivate(cx, obj, &jsclass_object, NULL);\n"
+ "\tprivate = JS_GetInstancePrivate(cx, obj, &JSClass_%s, NULL);\n"
"\tif (private != NULL) {\n"
"\t\tfree(private);\n"
"\t}\n"
- "}\n\n");
+ "}\n\n",
+ binding->interface);
/* resolve */
fprintf(binding->outfile,
@@ -447,7 +448,7 @@ output_con_de_structors(struct binding *binding)
"\tjsobject = JS_InitClass(cx,\n"
"\t\tparent,\n"
"\t\tNULL,\n"
- "\t\t&jsclass_object,\n"
+ "\t\t&JSClass_%s,\n"
"\t\tNULL,\n"
"\t\t0,\n"
"\t\tjsclass_properties,\n"
@@ -466,7 +467,8 @@ output_con_de_structors(struct binding *binding)
"\t}\n"
"\n"
"\treturn jsobject;\n"
- "}\n");
+ "}\n",
+ binding->interface);
return res;
@@ -564,15 +566,14 @@ output_jsclass(struct binding *binding)
{
/* forward declare the resolver and finalizer */
fprintf(binding->outfile,
- "static void jsclass_finalize(JSContext *cx, JSObject *obj);");
+ "static void jsclass_finalize(JSContext *cx, JSObject *obj);\n");
fprintf(binding->outfile,
- "static JSBool jsclass_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags, JSObject **objp);");
+ "static JSBool jsclass_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags, JSObject **objp);\n\n");
/* output the class */
fprintf(binding->outfile,
- "static JSClass jsclass_object =\n"
- "{\n"
- " \"%s\",\n"
+ "JSClass JSClass_%1$s = {\n"
+ " \"%1$s\",\n"
" JSCLASS_NEW_RESOLVE | JSCLASS_HAS_PRIVATE,\n"
" JS_PropertyStub,\n"
" JS_PropertyStub,\n"
@@ -583,7 +584,8 @@ output_jsclass(struct binding *binding)
" JS_ConvertStub,\n"
" jsclass_finalize,\n"
" JSCLASS_NO_OPTIONAL_MEMBERS\n"
- "};\n\n", binding->name);
+ "};\n\n",
+ binding->interface);
return 0;
}