📄 jsj_private.h
字号:
extern jfieldID njJSException_lineno; /* netscape.javascript.JSException.lineno */extern jfieldID njJSException_tokenIndex; /* netscape.javascript.JSException.tokenIndex */extern jfieldID njJSException_source; /* netscape.javascript.JSException.source */extern jfieldID njJSException_filename; /* netscape.javascript.JSException.filename */extern jfieldID njJSException_wrappedExceptionType; /* netscape.javascript.JSException.wrappedExceptionType */extern jfieldID njJSException_wrappedException; /* netscape.javascript.JSException.wrappedException *//* * XXX, bug 146458, * whether we are doing a liveconnect call from javascript to java applet */extern JSBool jsj_JSIsCallingApplet;/**************** Java <==> JS conversions and Java types *******************/extern JSBooljsj_ComputeJavaClassSignature(JSContext *cx, JavaSignature *signature, jclass java_class);extern const char *jsj_ConvertJavaSignatureToString(JSContext *cx, JavaSignature *signature);extern const char *jsj_ConvertJavaSignatureToHRString(JSContext *cx, JavaSignature *signature);extern JavaMethodSignature *jsj_InitJavaMethodSignature(JSContext *cx, JNIEnv *jEnv, jobject method, JavaMethodSignature *method_signature);extern const char *jsj_ConvertJavaMethodSignatureToString(JSContext *cx, JavaMethodSignature *method_signature);extern const char *jsj_ConvertJavaMethodSignatureToHRString(JSContext *cx, const char *method_name, JavaMethodSignature *method_signature);extern voidjsj_PurgeJavaMethodSignature(JSContext *cx, JNIEnv *jEnv, JavaMethodSignature *signature);extern JSBooljsj_ConvertJSValueToJavaValue(JSContext *cx, JNIEnv *jEnv, jsval v, JavaSignature *signature, int *cost, jvalue *java_value, JSBool *is_local_refp);extern JSBooljsj_ConvertJSValueToJavaObject(JSContext *cx, JNIEnv *jEnv, jsval v, JavaSignature *signature, int *cost, jobject *java_value, JSBool *is_local_refp);extern jstringjsj_ConvertJSStringToJavaString(JSContext *cx, JNIEnv *jEnv, JSString *js_str);extern JSBooljsj_ConvertJavaValueToJSValue(JSContext *cx, JNIEnv *jEnv, JavaSignature *signature, jvalue *java_value, jsval *vp);extern JSBooljsj_ConvertJavaObjectToJSValue(JSContext *cx, JNIEnv *jEnv, jobject java_obj, jsval *vp);extern JSString *jsj_ConvertJavaStringToJSString(JSContext *cx, JNIEnv *jEnv, jstring java_str);extern JSBooljsj_ConvertJavaObjectToJSString(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, jobject java_obj, jsval *vp);extern JSBooljsj_ConvertJavaObjectToJSNumber(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, jobject java_obj, jsval *vp);extern JSBooljsj_ConvertJavaObjectToJSBoolean(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, jobject java_obj, jsval *vp);extern JSJavaThreadState *jsj_enter_js(JNIEnv *jEnv, void* java_applet_obj, jobject java_wrapper_obj, JSContext **cxp, JSObject **js_objp, JSErrorReporter *old_error_reporterp, void **pNSIPrincipaArray, int numPrincipals, void *pNSISecurityContext);extern JSBooljsj_exit_js(JSContext *cx, JSJavaThreadState *jsj_env, JSErrorReporter old_error_reporterp);extern JavaClassDescriptor *jsj_get_jlObject_descriptor(JSContext *cx, JNIEnv *jEnv);extern JSBooljsj_remove_js_obj_reflection_from_hashtable(JSContext *cx, JSObject *js_obj);extern JSBooljsj_init_js_obj_reflections_table(void);/************************ Java package reflection **************************/extern JSBooljsj_init_JavaPackage(JSContext *, JSObject *, JavaPackageDef *predefined_packages);/************************* Java class reflection ***************************/extern JSBooljsj_init_JavaClass(JSContext *cx, JSObject *global_obj);extern voidjsj_DiscardJavaClassReflections(JNIEnv *jEnv);extern const char *jsj_GetJavaClassName(JSContext *cx, JNIEnv *jEnv, jclass java_class);extern JavaClassDescriptor *jsj_GetJavaClassDescriptor(JSContext *cx, JNIEnv *jEnv, jclass java_class);extern voidjsj_ReleaseJavaClassDescriptor(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor);extern JSObject *jsj_define_JavaClass(JSContext *cx, JNIEnv *jEnv, JSObject *obj, const char *unqualified_class_name, jclass jclazz);extern JavaMemberDescriptor *jsj_GetJavaMemberDescriptor(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, jstring member_name);extern JavaMemberDescriptor *jsj_LookupJavaMemberDescriptorById(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, jsid id);extern JavaMemberDescriptor *jsj_LookupJavaStaticMemberDescriptorById(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, jsid id);extern JavaMemberDescriptor *jsj_GetJavaStaticMemberDescriptor(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, jstring member_name);extern JavaMemberDescriptor *jsj_GetJavaClassConstructors(JSContext *cx, JavaClassDescriptor *class_descriptor);extern JavaMemberDescriptor *jsj_LookupJavaClassConstructors(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor);extern JavaMemberDescriptor *jsj_GetClassInstanceMembers(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor);extern JavaMemberDescriptor *jsj_GetClassStaticMembers(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor);extern JSBooljsj_InitJavaClassReflectionsTable(void);/************************* Java field reflection ***************************/extern JSBooljsj_GetJavaFieldValue(JSContext *cx, JNIEnv *jEnv, JavaFieldSpec *field_spec, jobject java_obj, jsval *vp);extern JSBooljsj_SetJavaFieldValue(JSContext *cx, JNIEnv *jEnv, JavaFieldSpec *field_spec, jobject java_obj, jsval js_val);extern JSBool jsj_ReflectJavaFields(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, JSBool reflect_only_static_fields);extern voidjsj_DestroyFieldSpec(JSContext *cx, JNIEnv *jEnv, JavaFieldSpec *field);/************************* Java method reflection ***************************/JS_EXTERN_API(JSBool)jsj_JavaInstanceMethodWrapper(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *vp);JS_EXTERN_API(JSBool)jsj_JavaStaticMethodWrapper(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *vp);JS_EXTERN_API(JSBool)jsj_JavaConstructorWrapper(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *vp);extern JSBool jsj_ReflectJavaMethods(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, JSBool reflect_only_static_methods);extern JavaMemberDescriptor *jsj_ResolveExplicitMethod(JSContext *cx, JNIEnv *jEnv, JavaClassDescriptor *class_descriptor, jsid method_name_id, JSBool is_static);extern voidjsj_DestroyMethodSpec(JSContext *cx, JNIEnv *jEnv, JavaMethodSpec *method_spec);/************************* Java member reflection ***************************/extern JSBooljsj_init_JavaMember(JSContext *, JSObject *);extern JSBooljsj_ReflectJavaMethodsAndFields(JSContext *cx, JavaClassDescriptor *class_descriptor, JSBool reflect_only_statics);extern JSObject *jsj_CreateJavaMember(JSContext *cx, jsval method_val, jsval field_val);/************************* Java object reflection **************************/extern JSBooljsj_init_JavaObject(JSContext *, JSObject *);extern JSBooljsj_InitJavaObjReflectionsTable(void);extern JSObject *jsj_WrapJavaObject(JSContext *cx, JNIEnv *jEnv, jobject java_obj, jclass java_class);extern voidjsj_DiscardJavaObjReflections(JNIEnv *jEnv);extern JSBool JS_DLL_CALLBACKJavaObject_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp);JS_EXTERN_API(void)JavaObject_finalize(JSContext *cx, JSObject *obj);extern JSBoolJavaObject_resolve(JSContext *cx, JSObject *obj, jsval id);extern JSBoolJavaObject_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp);JS_EXTERN_API(JSBool)JavaObject_getPropertyById(JSContext *cx, JSObject *obj, jsid id, jsval *vp);/************************* Java array reflection ***************************/extern JSBooljsj_init_JavaArray(JSContext *cx, JSObject *global_obj);extern JSBooljsj_GetJavaArrayElement(JSContext *cx, JNIEnv *jEnv, jarray java_array, jsize index, JavaSignature *array_component_signature, jsval *vp); extern JSBool jsj_SetJavaArrayElement(JSContext *cx, JNIEnv *jEnv, jarray java_array, jsize index, JavaSignature *array_component_signature, jsval js_val);/********************* JavaScript object reflection ************************/ extern jobjectjsj_WrapJSObject(JSContext *cx, JNIEnv *jEnv, JSObject *js_obj);extern JSObject *jsj_UnwrapJSObjectWrapper(JNIEnv *jEnv, jobject java_wrapper_obj);extern voidjsj_ClearPendingJSErrors(JSJavaThreadState *jsj_env);extern JSBooljsj_ReportUncaughtJSException(JSContext *cx, JNIEnv *jEnv, jthrowable java_exception);/**************************** Utilities ************************************/extern voidjsj_ReportJavaError(JSContext *cx, JNIEnv *env, const char *format, ...);extern voidjsj_UnexpectedJavaError(JSContext *cx, JNIEnv *env, const char *format, ...);extern const char *jsj_GetJavaErrorMessage(JNIEnv *env);extern voidjsj_LogError(const char *error_msg);extern const JSErrorFormatString * JS_DLL_CALLBACKjsj_GetErrorMessage(void *userRef, const char *locale, const uintN errorNumber);JSJHashNumber JS_DLL_CALLBACKjsj_HashJavaObject(const void *key, void* env);intN JS_DLL_CALLBACKjsj_JavaObjectComparator(const void *v1, const void *v2, void *arg);extern JSJavaThreadState *jsj_MapJavaThreadToJSJavaThreadState(JNIEnv *jEnv, char **errp);extern voidjsj_MakeJNIClassname(char *jClassName);extern const char *jsj_ClassNameOfJavaObject(JSContext *cx, JNIEnv *jEnv, jobject java_object);extern jsizejsj_GetJavaArrayLength(JSContext *cx, JNIEnv *jEnv, jarray java_array);extern JSBoolJavaStringToId(JSContext *cx, JNIEnv *jEnv, jstring jstr, jsid *idp);extern const char *jsj_DupJavaStringUTF(JSContext *cx, JNIEnv *jEnv, jstring jstr);extern JSJavaThreadState *jsj_EnterJava(JSContext *cx, JNIEnv **envp);extern voidjsj_ExitJava(JSJavaThreadState *jsj_env);extern JSObjectMap * JS_DLL_CALLBACKjsj_wrapper_newObjectMap(JSContext *cx, jsrefcount nrefs, JSObjectOps *ops, JSClass *clasp, JSObject *obj);extern void JS_DLL_CALLBACKjsj_wrapper_destroyObjectMap(JSContext *cx, JSObjectMap *map);extern jsval JS_DLL_CALLBACKjsj_wrapper_getRequiredSlot(JSContext *cx, JSObject *obj, uint32 slot);extern JSBool JS_DLL_CALLBACKjsj_wrapper_setRequiredSlot(JSContext *cx, JSObject *obj, uint32 slot, jsval v);#ifdef DEBUG#define DEBUG_LOG(args) printf args#endif#define JS_FREE_IF(cx, x) \ JS_BEGIN_MACRO \ if (x) \ JS_free(cx, x); \ JS_END_MACROenum JSJErrNum {#define MSG_DEF(name, number, format, count) \ name = number,#include "jsj.msg"#undef MSG_DEF JSJ_Err_Limit#undef MSGDEF};#ifdef __cplusplus} /* end extern "C" */#endif#endif /* _JSJAVA_PVT_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -