jsj_utils.c File Reference


Functions

JSJHashNumber JS_DLL_CALLBACK jsj_HashJavaObject (const void *key, void *env)
intN JS_DLL_CALLBACK jsj_JavaObjectComparator (const void *v1, const void *v2, void *arg)
const charjsj_DupJavaStringUTF (JSContext *cx, JNIEnv *jEnv, jstring jstr)
JSBool JavaStringToId (JSContext *cx, JNIEnv *jEnv, jstring jstr, jsid *idp)
const charjsj_GetJavaErrorMessage (JNIEnv *jEnv)
void jsj_ReportJavaError (JSContext *cx, JNIEnv *env, const char *format,...)
void jsj_UnexpectedJavaError (JSContext *cx, JNIEnv *env, const char *format,...)
void jsj_LogError (const char *error_msg)
const JSErrorFormatStringjsj_GetErrorMessage (void *userRef, const char *locale, const uintN errorNumber)
jsize jsj_GetJavaArrayLength (JSContext *cx, JNIEnv *jEnv, jarray java_array)
JSJavaThreadStatejsj_EnterJava (JSContext *cx, JNIEnv **envp)
void jsj_ExitJava (JSJavaThreadState *jsj_env)
JSJavaThreadStatejsj_SetJavaJSJEnv (JSJavaThreadState *java_jsj_env)
 Since only one Java thread is allowed to enter JavaScript, this function is used to enforce the use of that thread's state.

Variables

JSErrorFormatString jsj_ErrorFormatString [JSJ_Err_Limit]


Function Documentation

JSJHashNumber JS_DLL_CALLBACK jsj_HashJavaObject ( const void *  key,
void *  env 
)

intN JS_DLL_CALLBACK jsj_JavaObjectComparator ( const void *  v1,
const void *  v2,
void *  arg 
)

const char* jsj_DupJavaStringUTF ( JSContext cx,
JNIEnv jEnv,
jstring  jstr 
)

JSBool JavaStringToId ( JSContext cx,
JNIEnv jEnv,
jstring  jstr,
jsid idp 
)

const char* jsj_GetJavaErrorMessage ( JNIEnv jEnv  ) 

void jsj_ReportJavaError ( JSContext cx,
JNIEnv env,
const char format,
  ... 
)

void jsj_UnexpectedJavaError ( JSContext cx,
JNIEnv env,
const char format,
  ... 
)

void jsj_LogError ( const char error_msg  ) 

const JSErrorFormatString* jsj_GetErrorMessage ( void *  userRef,
const char locale,
const uintN  errorNumber 
)

jsize jsj_GetJavaArrayLength ( JSContext cx,
JNIEnv jEnv,
jarray  java_array 
)

JSJavaThreadState* jsj_EnterJava ( JSContext cx,
JNIEnv **  envp 
)

void jsj_ExitJava ( JSJavaThreadState jsj_env  ) 

JSJavaThreadState* jsj_SetJavaJSJEnv ( JSJavaThreadState java_jsj_env  ) 

The static global the_java_jsj_env overrides using JSJ_callbacks->map_js_context_to_jsj_thread, which maps native threads to JSJavaThreadStates. This isn't appropriate when Java calls JavaScript, as there can be a many to one mapping from Java threads to native threads.


Variable Documentation

Initial value:

 {
#if JSJ_HAS_DFLT_MSG_STRINGS
#define MSG_DEF(name, number, count, format) \
    { format, count } ,
#else
#define MSG_DEF(name, number, count, format) \
    { NULL, count } ,
#endif
#include "jsj.msg"
#undef MSG_DEF
}


Generated Mozilla by doxygen 1.5.6