static void newJavaGD_Mode(int mode, NewDevDesc *dd) { newJavaGDDesc *xd = (newJavaGDDesc *) dd->deviceSpecific; JNIEnv *env = getJNIEnv(); if(!env || !xd || !xd->talk) return; (*env)->CallVoidMethod(env, xd->talk, jmGDInterfaceMode, mode); chkX(env); }
static void newJavaGD_Clip(double x0, double x1, double y0, double y1, NewDevDesc *dd) { newJavaGDDesc *xd = (newJavaGDDesc *) dd->deviceSpecific; JNIEnv *env = getJNIEnv(); if(!env || !xd || !xd->talk) return; (*env)->CallVoidMethod(env, xd->talk, jmGDInterfaceClip, x0, x1, y0, y1); chkX(env); }
int gcWrapper(lua_State* L) { jobject* pObj = (jobject*) lua_touserdata(L, 1); JNIEnv* javaEnv = getJNIEnv(L); if (javaEnv == NULL) { lua_pushstring(L, "Invalid JNI Environment."); lua_error(L); } (*javaEnv)->DeleteGlobalRef(javaEnv, *pObj); return 0; }
jobject JPJavaEnv::NewDirectByteBuffer(void* address, jlong capacity) { TRACE_IN("JPJavaEnv::NewDirectByteBuffer"); JNIEnv* env = getJNIEnv(); jobject res = env->functions->NewDirectByteBuffer(env, address, capacity); JAVA_CHECK("NewDirectByteBuffer"); TRACE1((long)res); return res; TRACE_OUT; }
void JPJavaEnv::CallVoidMethod(jobject a0, jmethodID a1) { JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); env->functions->CallVoidMethod(env, a0, a1); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("CallVoidMethod"); }
void JPJavaEnv::CallStaticVoidMethodA(jclass a0, jmethodID a1, jvalue* a2) { JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); env->functions->CallStaticVoidMethodA(env, a0, a1, a2); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("CallStaticVoidMethodA"); }
void JPJavaEnv::SetObjectArrayElement(jobjectArray a0, int a1, jobject a2) { JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); env->functions->SetObjectArrayElement(env, a0, a1, a2); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("SetObjectArrayElement"); }
static Rboolean newJavaGD_NewPageConfirm(NewDevDesc *dd) { newJavaGDDesc *xd = (newJavaGDDesc *) dd->deviceSpecific; JNIEnv *env = getJNIEnv(); if (!env || !xd || !xd->talk) return FALSE; jboolean handled = (*env)->CallBooleanMethod(env, xd->talk, jmGDInterfaceNewPageConfirm); return (handled == JNI_TRUE) ? TRUE : FALSE; }
jobject JPJavaEnv::NewGlobalRef(jobject a0) { //TRACE_IN("JPJavaEnv::NewGlobalRef"); //TRACE1((long)a0); jobject res; JNIEnv* env = getJNIEnv(); res = env->functions->NewGlobalRef(env, a0); //TRACE1((long)res); //, JPJni::getClassName(a0).getSimpleName()); return res; //TRACE_OUT; }
void JPJavaEnv::DeleteGlobalRef(jobject obj) { //TRACE_IN("JPJavaEnv::DeleteGlobalRef"); //TRACE1((long)obj); JNIEnv* env = getJNIEnv(); if (env != NULL) { env->functions->DeleteGlobalRef(env, obj); } //TRACE_OUT; }
void nmdFree(struct NativeMiniDfsCluster* cl) { JNIEnv *env = getJNIEnv(); if (!env) { fprintf(stderr, "nmdFree: getJNIEnv failed\n"); free(cl); return; } (*env)->DeleteGlobalRef(env, cl->obj); free(cl); }
void JPJavaEnv::ReleaseStringUTFChars(jstring a0, const char* a1) { JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); env->functions->ReleaseStringUTFChars(env, a0, a1); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("ReleaseStringUTFChars"); }
static void newJavaGD_Mode(int mode, NewDevDesc *dd) { newJavaGDDesc *xd = (newJavaGDDesc *) dd->deviceSpecific; JNIEnv *env = getJNIEnv(); jmethodID mid; if(!env || !xd || !xd->talk) return; mid = (*env)->GetMethodID(env, xd->talkClass, "gdMode", "(I)V"); if (mid) (*env)->CallVoidMethod(env, xd->talk, mid, mode); chkX(env); }
void openJavaGD(NewDevDesc *dd) { newJavaGDDesc *xd = (newJavaGDDesc *) dd->deviceSpecific; int devNr = ndevNumber(dd); JNIEnv *env = getJNIEnv(); if (!env || !xd || !xd->talk || !jmGDInterfaceOpen) return; (*env)->CallVoidMethod(env, xd->talk, jmGDInterfaceOpen, (jint) devNr); chkX(env); }
/** * Get the list of class names of a java object * This is a jni wrapper around the RJavaTools.getSimpleClassNames method */ HIDE jarray getSimpleClassNames( jobject o, jboolean addConditionClasses ){ JNIEnv *env=getJNIEnv(); jarray a ; profStart(); a = (jarray) (*env)->CallStaticObjectMethod(env, rj_RJavaTools_Class, mid_rj_getSimpleClassNames, o, addConditionClasses ) ; _prof(profReport("getSimpleClassNames[%d]:",o)) ; return a ; }
static void newJavaGD_Circle(double x, double y, double r, R_GE_gcontext *gc, NewDevDesc *dd) { newJavaGDDesc *xd = (newJavaGDDesc *) dd->deviceSpecific; JNIEnv *env = getJNIEnv(); if(!env || !xd || !xd->talk) return; checkGC(env,xd, gc); (*env)->CallVoidMethod(env, xd->talk, jmGDInterfaceCircle, x, y, r); chkX(env); }
static void newJavaGD_Rect(double x0, double y0, double x1, double y1, R_GE_gcontext *gc, NewDevDesc *dd) { newJavaGDDesc *xd = (newJavaGDDesc *) dd->deviceSpecific; JNIEnv *env = getJNIEnv(); if(!env || !xd || !xd->talk) return; checkGC(env,xd, gc); (*env)->CallVoidMethod(env, xd->talk, jmGDInterfaceRect, x0, y0, x1, y1); chkX(env); }
static void newJavaGD_Clip(double x0, double x1, double y0, double y1, NewDevDesc *dd) { newJavaGDDesc *xd = (newJavaGDDesc *) dd->deviceSpecific; JNIEnv *env = getJNIEnv(); jmethodID mid; if(!env || !xd || !xd->talk) return; mid = (*env)->GetMethodID(env, xd->talkClass, "gdClip", "(DDDD)V"); if (mid) (*env)->CallVoidMethod(env, xd->talk, mid, x0, x1, y0, y1); chkX(env); }
jobjectArray JPJavaEnv::NewObjectArray(int a0, jclass a1, jobject a2) { jobjectArray res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->NewObjectArray(env, a0, a1, a2); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("NewObjectArray"); return res; }
static void newJavaGD_NewPage(R_GE_gcontext *gc, NewDevDesc *dd) { newJavaGDDesc *xd = (newJavaGDDesc *) dd->deviceSpecific; JNIEnv *env = getJNIEnv(); if(!env || !xd || !xd->talk) return; (*env)->CallVoidMethod(env, xd->talk, jmGDInterfaceNewPage); chkX(env); /* this is an exception - we send all GC attributes just after the NewPage command */ sendAllGC(env, xd, gc); }
jboolean JPJavaEnv::IsAssignableFrom(jclass a0, jclass a1) { jboolean res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->IsAssignableFrom(env, a0, a1); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("IsAssignableFrom"); return res; }
jstring JPJavaEnv::NewString(const jchar* a0, int a1) { jstring res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->NewString(env, a0, a1); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("NewString"); return res; }
jint JPJavaEnv::RegisterNatives(jclass a0, const JNINativeMethod* a1, jint a2) { jint res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->RegisterNatives(env, a0, a1, a2); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("RegisterNatives"); return res; }
jclass JPJavaEnv::DefineClass(const char* a0, jobject a1, const jbyte* a2, jsize a3) { jclass res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->DefineClass(env, a0, a1, a2, a3); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("DefineClass"); return res; }
jfieldID JPJavaEnv::GetStaticFieldID(jclass a0, const char* a1, const char* a2) { jfieldID res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->GetStaticFieldID(env, a0, a1, a2); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("GetStaticFieldID"); return res; }
jclass JPJavaEnv::GetObjectClass(jobject a0) { jclass res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->GetObjectClass(env, a0); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("GetObjectClass"); return res; }
jobject JPJavaEnv::GetObjectArrayElement(jobjectArray a0, int a1) { jobject res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->GetObjectArrayElement(env, a0, a1); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("GetObjectArrayElement"); return res; }
const char* JPJavaEnv::GetStringUTFChars(jstring a0, jboolean* a1) { const char* res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->GetStringUTFChars(env, a0, a1); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("GetStringUTFChars"); return res; }
void JNISurfaceTextureContext::onFrameAvailable(const BufferItem& /* item */) { bool needsDetach = false; JNIEnv* env = getJNIEnv(&needsDetach); if (env != NULL) { env->CallStaticVoidMethod(mClazz, fields.postEvent, mWeakThiz); } else { ALOGW("onFrameAvailable event will not posted"); } if (needsDetach) { detachJNI(); } }
jsize JPJavaEnv::GetArrayLength(jarray a0) { jsize res; JNIEnv* env = getJNIEnv(); void* _save = JPEnv::getHost()->gotoExternal(); res = env->functions->GetArrayLength(env, a0); JPEnv::getHost()->returnExternal(_save); JAVA_CHECK("GetArrayLength"); return res; }