nn_getError and fix nn_ComputerState
This commit is contained in:
Submodule NeoNucleus updated: 7c086f6b8e...5f06a5659c
@@ -13,7 +13,7 @@
|
||||
return obj;\
|
||||
}
|
||||
#define CARBON_MAP_TO_NN_COMPUTERSTATE(enumcase) case enumcase: {\
|
||||
jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg/neoflock/NeoNucleus/nn_ComputerState;");\
|
||||
jfieldID id = env->GetStaticFieldID(clazz, #enumcase, "Lorg/neoflock/NeoNucleus/nn_ComputerState;");\
|
||||
CARBON_JNI_EXCEPTION_CHECK()\
|
||||
return env->GetStaticObjectField(clazz, id);\
|
||||
}
|
||||
@@ -105,7 +105,10 @@ nn_Exit Carbon::Map::From_nn_Exit(JNIEnv* env, jobject a) {
|
||||
return (nn_Exit) value; // this should be fine as long as the header and java side don't desync
|
||||
}
|
||||
jobject Carbon::Map::To_nn_ComputerState(JNIEnv* env, nn_ComputerState a) {
|
||||
jclass clazz = env->FindClass(CARBON_CLASSPATH("nn_ComputerState"));
|
||||
jclass clazz = env->FindClass(CARBON_CLASSPATH(nn_ComputerState));
|
||||
if (clazz == NULL) { // probably an exception here
|
||||
return NULL;
|
||||
}
|
||||
switch (a) {
|
||||
CARBON_MAP_TO_NN_COMPUTERSTATE(NN_RUNNING)
|
||||
CARBON_MAP_TO_NN_COMPUTERSTATE(NN_BOOTUP)
|
||||
|
||||
@@ -246,3 +246,12 @@ JNIEXPORT jobject JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_nn_1tickSy
|
||||
NULLPTR_CHECK(nnPC, nn_Computer);
|
||||
return Carbon::Map::To_nn_Exit(env, nn_tickSynchronized(nnPC));
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_nn_1getError
|
||||
(JNIEnv * env, jclass, jobject computer) {
|
||||
nn_Computer* nnPC = (nn_Computer*) Carbon::PointerBacked::GetPointer(env, computer);
|
||||
NULLPTR_CHECK(nnPC, nn_Computer);
|
||||
const char* str = nn_getError(nnPC);
|
||||
jstring jstr = env->NewStringUTF(str);
|
||||
return jstr;
|
||||
}
|
||||
Reference in New Issue
Block a user