35#ifndef __FREEWRL_JS_UTILS_H__
36#define __FREEWRL_JS_UTILS_H__
45#define CLEANUP_JAVASCRIPT(cx) \
49#define LARGESTRING 2048
51#define SMALLSTRING 128
53#define FNAME_STUB "file"
60int findInECMATable(JSContext *context, jsval toFind);
61int findNameInECMATable(JSContext *context,
char *toFind);
62void resetNameInECMATable(JSContext *context,
char *toFind);
69int jsrrunScript(JSContext *_context, JSObject *_globalObj,
char *script, jsval *rval);
70int JS_DefineSFNodeSpecificProperties (JSContext *context, JSObject *
object,
struct X3D_Node * ptr);
72#ifdef JAVASCRIPTVERBOSE
73# define ACTUALRUNSCRIPT(a,b,c) ActualrunScript(a,b,c,__FILE__,__LINE__)
76# define ACTUALRUNSCRIPT(a,b,c) ActualrunScript(a,b,c)
81reportWarningsOn(
void);
84reportWarningsOff(
void);
87errorReporter(JSContext *cx,
89 JSErrorReport *report);
91void X3D_ECMA_TO_JS(JSContext *cx,
void *Data,
int datalen,
int dataType, jsval *ret);
93JSBool setSFNodeField (JSContext *context, JSObject *obj, jsid
id, jsval *vp);
94#elif JS_VERSION == 185
95JSBool setSFNodeField (JSContext *context, JSObject *obj, jsid
id, JSBool strict, jsval *vp);
97JSBool setSFNodeField (JSContext *cx, JSHandleObject hobj, JSHandleId hiid, JSBool strict, JSMutableHandleValue hvp);
100const char *classToString(JSClass *myClass);
101#define CHECK_CLASS(cx,obj,argv,fnString,expClass) \
103 if (!JS_InstanceOf(cx, obj, &expClass, argv)) { \
104 printf ("Javascript Instance problem in '%s' - expected a '%s', got a ", fnString, classToString(&expClass)); \
105 printJSNodeType (cx,obj); \