static jboolean initializeRendererFieldIds(JNIEnv* env, jobject objectHandle) { static const FieldDesc rendererFieldDesc[] = { { "nativePtr", "J" }, { "surface", "Lcom/sun/pisces/AbstractSurface;" }, { NULL, NULL } }; jboolean retVal; jclass classHandle; if (fieldIdsInitialized) { return JNI_TRUE; } retVal = JNI_FALSE; classHandle = (*env)->GetObjectClass(env, objectHandle); if (initializeFieldIds(fieldIds, env, classHandle, rendererFieldDesc)) { retVal = JNI_TRUE; fieldIdsInitialized = JNI_TRUE; } return retVal; }
static jboolean initializeSurfaceFieldIds(JNIEnv* env, jobject objectHandle) { static const FieldDesc surfaceFieldDesc[] = { { "nativePtr", "J" }, { NULL, NULL } }; jboolean retVal; jclass classHandle; if (fieldIdsInitialized) { return JNI_TRUE; } retVal = JNI_FALSE; classHandle = (*env)->GetObjectClass(env, objectHandle); if (initializeFieldIds(fieldIds, env, classHandle, surfaceFieldDesc)) { retVal = JNI_TRUE; fieldIdsInitialized = JNI_TRUE; } return retVal; }
static jboolean initializeSurfaceFieldIds(jobject objectHandle) { static const FieldDesc surfaceFieldDesc[] = { { "nativePtr", "J" }, { NULL, NULL } }; jboolean retVal; if (fieldIdsInitialized) { return KNI_TRUE; } retVal = KNI_FALSE; KNI_StartHandles(1); KNI_DeclareHandle(classHandle); KNI_GetObjectClass(objectHandle, classHandle); if (initializeFieldIds(fieldIds, classHandle, surfaceFieldDesc)) { retVal = KNI_TRUE; fieldIdsInitialized = KNI_TRUE; } KNI_EndHandles(); return retVal; }
static jboolean initializeFinalizerFieldIds(jobject objectHandle) { static const FieldDesc finalizerFieldDesc[] = { { "guardedObject", "Lcom/sun/pisces/NativeFinalization;" }, { NULL, NULL } }; jboolean retVal; if (fieldIdsInitialized) { return KNI_TRUE; } retVal = KNI_FALSE; KNI_StartHandles(1); KNI_DeclareHandle(classHandle); KNI_GetObjectClass(objectHandle, classHandle); if (initializeFieldIds(fieldIds, classHandle, finalizerFieldDesc)) { retVal = KNI_TRUE; fieldIdsInitialized = KNI_TRUE; } KNI_EndHandles(); return retVal; }