コード例 #1
0
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;
}
コード例 #2
0
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;
}
コード例 #3
0
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);
	}
}
コード例 #4
0
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);
	}
}
コード例 #5
0
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
}
コード例 #6
0
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);
}
コード例 #7
0
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);
}