⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsj_private.h

📁 caffeine-monkey java实现的js模拟引擎
💻 H
📖 第 1 页 / 共 2 页
字号:
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 + -