nn_getError and fix nn_ComputerState
This commit is contained in:
Submodule NeoNucleus updated: 7c086f6b8e...5f06a5659c
@@ -13,7 +13,7 @@
|
|||||||
return obj;\
|
return obj;\
|
||||||
}
|
}
|
||||||
#define CARBON_MAP_TO_NN_COMPUTERSTATE(enumcase) case enumcase: {\
|
#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()\
|
CARBON_JNI_EXCEPTION_CHECK()\
|
||||||
return env->GetStaticObjectField(clazz, id);\
|
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
|
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) {
|
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) {
|
switch (a) {
|
||||||
CARBON_MAP_TO_NN_COMPUTERSTATE(NN_RUNNING)
|
CARBON_MAP_TO_NN_COMPUTERSTATE(NN_RUNNING)
|
||||||
CARBON_MAP_TO_NN_COMPUTERSTATE(NN_BOOTUP)
|
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);
|
NULLPTR_CHECK(nnPC, nn_Computer);
|
||||||
return Carbon::Map::To_nn_Exit(env, nn_tickSynchronized(nnPC));
|
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