register_vrml_external_Node(JRIEnv* env) { char* nativeNamesAndSigs[] = { "getType()Ljava/lang/String;", "getEventIn(Ljava/lang/String;)Lvrml/external/field/EventIn;", "getEventOut(Ljava/lang/String;)Lvrml/external/field/EventOut;", "nFinalize()V", NULL }; void* nativeProcs[] = { (void*)native_vrml_external_Node_getType, (void*)native_vrml_external_Node_getEventIn, (void*)native_vrml_external_Node_getEventOut, (void*)native_vrml_external_Node_nFinalize, NULL }; struct java_lang_Class* clazz = JRI_FindClass(env, classname_vrml_external_Node); if (clazz == NULL) { JRI_ThrowNew(env, JRI_FindClass(env, "java/lang/ClassNotFoundException"), classname_vrml_external_Node); return NULL; } JRI_RegisterNatives(env, clazz, nativeNamesAndSigs, nativeProcs); use_vrml_external_Node(env); return clazz; }
register_vrml_external_field_EventOut(JRIEnv* env) { char* nativeNamesAndSigs[] = { "advise()V", "getString([Ljava/lang/String;)V", "get1String(I)Ljava/lang/String;", "getNode([Lvrml/external/Node;)V", "get1Node(I)Lvrml/external/Node;", "getInt([I)V", "get1Int(I)I", "getFloat(I[F)V", "get1Float(I)F", "getSize()I", "getTime()D", "getBoolean()Z", "getByte([B)V", "nFinalize()V", NULL }; void* nativeProcs[] = { (void*)native_vrml_external_field_EventOut_advise_1, (void*)native_vrml_external_field_EventOut_getString, (void*)native_vrml_external_field_EventOut_get1String, (void*)native_vrml_external_field_EventOut_getNode, (void*)native_vrml_external_field_EventOut_get1Node, (void*)native_vrml_external_field_EventOut_getInt, (void*)native_vrml_external_field_EventOut_get1Int, (void*)native_vrml_external_field_EventOut_getFloat, (void*)native_vrml_external_field_EventOut_get1Float, (void*)native_vrml_external_field_EventOut_getSize, (void*)native_vrml_external_field_EventOut_getTime, (void*)native_vrml_external_field_EventOut_getBoolean, (void*)native_vrml_external_field_EventOut_getByte, (void*)native_vrml_external_field_EventOut_nFinalize, NULL }; struct java_lang_Class* clazz = JRI_FindClass(env, classname_vrml_external_field_EventOut); if (clazz == NULL) { JRI_ThrowNew(env, JRI_FindClass(env, "java/lang/ClassNotFoundException"), classname_vrml_external_field_EventOut); return NULL; } JRI_RegisterNatives(env, clazz, nativeNamesAndSigs, nativeProcs); use_vrml_external_field_EventOut(env); return clazz; }
use_vrml_external_field_EventOut(JRIEnv* env) { if (_globalclass_vrml_external_field_EventOut == NULL) { struct java_lang_Class* clazz = JRI_FindClass(env, classname_vrml_external_field_EventOut); if (clazz == NULL) { JRI_ThrowNew(env, JRI_FindClass(env, "java/lang/ClassNotFoundException"), classname_vrml_external_field_EventOut); return NULL; } use_vrml_external_field_EventOut_cBrowser(env, clazz); use_vrml_external_field_EventOut_cEvent(env, clazz); use_vrml_external_field_EventOut_type(env, clazz); use_vrml_external_field_EventOut_userData(env, clazz); use_vrml_external_field_EventOut_observer(env, clazz); use_vrml_external_field_EventOut_new(env, clazz); use_vrml_external_field_EventOut_getType(env, clazz); use_vrml_external_field_EventOut_advise(env, clazz); use_vrml_external_field_EventOut_advise_1(env, clazz); use_vrml_external_field_EventOut_callback(env, clazz); use_vrml_external_field_EventOut_getString(env, clazz); use_vrml_external_field_EventOut_get1String(env, clazz); use_vrml_external_field_EventOut_getNode(env, clazz); use_vrml_external_field_EventOut_get1Node(env, clazz); use_vrml_external_field_EventOut_getInt(env, clazz); use_vrml_external_field_EventOut_get1Int(env, clazz); use_vrml_external_field_EventOut_getFloat(env, clazz); use_vrml_external_field_EventOut_get1Float(env, clazz); use_vrml_external_field_EventOut_getSize(env, clazz); use_vrml_external_field_EventOut_getTime(env, clazz); use_vrml_external_field_EventOut_getBoolean(env, clazz); use_vrml_external_field_EventOut_getByte(env, clazz); use_vrml_external_field_EventOut_newEventOut(env, clazz); use_vrml_external_field_EventOut_finalize(env, clazz); use_vrml_external_field_EventOut_nFinalize(env, clazz); _globalclass_vrml_external_field_EventOut = JRI_NewGlobalRef(env, clazz); return clazz; } else { return (struct java_lang_Class*)JRI_GetGlobalRef(env, _globalclass_vrml_external_field_EventOut); } }
use_vrml_external_Node(JRIEnv* env) { if (_globalclass_vrml_external_Node == NULL) { struct java_lang_Class* clazz = JRI_FindClass(env, classname_vrml_external_Node); if (clazz == NULL) { JRI_ThrowNew(env, JRI_FindClass(env, "java/lang/ClassNotFoundException"), classname_vrml_external_Node); return NULL; } use_vrml_external_Node_cBrowser(env, clazz); use_vrml_external_Node_cNode(env, clazz); use_vrml_external_Node_new(env, clazz); use_vrml_external_Node_getType(env, clazz); use_vrml_external_Node_getEventIn(env, clazz); use_vrml_external_Node_getEventOut(env, clazz); use_vrml_external_Node_finalize(env, clazz); use_vrml_external_Node_nFinalize(env, clazz); _globalclass_vrml_external_Node = JRI_NewGlobalRef(env, clazz); return clazz; } else { return (struct java_lang_Class*)JRI_GetGlobalRef(env, _globalclass_vrml_external_Node); } }
static bool_t enterJS(JRIEnv *env, struct netscape_javascript_JSObject* self, JSContext **cxp, JSObject **jsop, JSSavedState *saved) { #ifndef JAVA return JS_FALSE; #else char *err; JSJ_EnterJS(); /* check the internal pointer for null while holding the * js lock to deal with shutdown issues */ if (jsop && (! self || ! (*jsop = (JSObject *) get_netscape_javascript_JSObject_internal(env, self)))) { /* FIXME use a better exception */ JRI_ThrowNew(env, JRI_FindClass(env, "java/lang/Exception"), "not a JavaScript object"); JSJ_ExitJS(); return FALSE; } /* PR_LOG(Moja, debug, ("clearing exceptions in ee=0x%x", env)); */ exceptionClear((ExecEnv *)env); if (! (*cxp = JSJ_CurrentContext(env, &err))) { JSJ_ExitJS(); if (err) { js_throwJSException(env, err); free(err); } return FALSE; } jsj_ClearSavedErrors(*cxp); saved->errReporter = JS_SetErrorReporter(*cxp, js_JavaErrorReporter); return TRUE; #endif }
unregister_vrml_external_Node(JRIEnv* env) { struct java_lang_Class* clazz = JRI_FindClass(env, classname_vrml_external_Node); JRI_UnregisterNatives(env, clazz); unuse_vrml_external_Node(env); }
unregister_vrml_external_field_EventOut(JRIEnv* env) { struct java_lang_Class* clazz = JRI_FindClass(env, classname_vrml_external_field_EventOut); JRI_UnregisterNatives(env, clazz); unuse_vrml_external_field_EventOut(env); }