GlobalRef<jclass> jniFindClass(const char * name) { JNIEnv * env = jniGetThreadEnv(); GlobalRef<jclass> guard(env, env->FindClass(name)); jniExceptionCheck(env); if (!guard) { jniThrowAssertionError(env, __FILE__, __LINE__, "FindClass returned null"); } return guard; }
jfieldID jniGetFieldID(jclass clazz, const char * name, const char * sig) { JNIEnv * env = jniGetThreadEnv(); jfieldID id = env->GetFieldID(clazz, name, sig); jniExceptionCheck(env); if (!id) { jniThrowAssertionError(env, __FILE__, __LINE__, "GetFieldID returned null"); } return id; }
jmethodID jniGetMethodID(jclass clazz, const char * name, const char * sig) { JNIEnv * env = jniGetThreadEnv(); DJINNI_ASSERT(clazz, env); DJINNI_ASSERT(name, env); DJINNI_ASSERT(sig, env); jmethodID id = env->GetMethodID(clazz, name, sig); jniExceptionCheck(env); if (!id) { jniThrowAssertionError(env, __FILE__, __LINE__, "GetMethodID returned null"); } return id; }