JNI から Java enum フィールドを設定するにはどうすればよいですか? これがサンプルコードです。ネイティブ関数「get_state」で B オブジェクトの「myState」フィールドを設定したいと思います。
public class A {
public enum STATE {
STATE_ONE,
STATE_TWO
}
public static class B {
public STATE myState;
}
public native void get_state(B b);
public B getB() {
B b;
// Call JNI to get the state
get_state(b);
return b;
}
}
JNIEXPORT void JNICALL Java_A_get_1state(JNIEnv *env, jobject object, jobject b_object)
{
/* Get a reference to obj's class */
jclass cls = (*env)->GetObjectClass(env, b_object);
//How do I set B object's "myState" field?
}