summaryrefslogtreecommitdiff
path: root/Source/Android/jni/AndroidCommon/IDCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Android/jni/AndroidCommon/IDCache.cpp')
-rw-r--r--Source/Android/jni/AndroidCommon/IDCache.cpp81
1 files changed, 81 insertions, 0 deletions
diff --git a/Source/Android/jni/AndroidCommon/IDCache.cpp b/Source/Android/jni/AndroidCommon/IDCache.cpp
index 7c261337b5..d0a7710e1a 100644
--- a/Source/Android/jni/AndroidCommon/IDCache.cpp
+++ b/Source/Android/jni/AndroidCommon/IDCache.cpp
@@ -58,6 +58,18 @@ static jmethodID s_network_helper_get_network_gateway;
static jclass s_boolean_supplier_class;
static jmethodID s_boolean_supplier_get;
+static jclass s_ar_cheat_class;
+static jfieldID s_ar_cheat_pointer;
+static jmethodID s_ar_cheat_constructor;
+
+static jclass s_gecko_cheat_class;
+static jfieldID s_gecko_cheat_pointer;
+static jmethodID s_gecko_cheat_constructor;
+
+static jclass s_patch_cheat_class;
+static jfieldID s_patch_cheat_pointer;
+static jmethodID s_patch_cheat_constructor;
+
namespace IDCache
{
JNIEnv* GetEnvForThread()
@@ -268,6 +280,51 @@ jmethodID GetBooleanSupplierGet()
return s_boolean_supplier_get;
}
+jclass GetARCheatClass()
+{
+ return s_ar_cheat_class;
+}
+
+jfieldID GetARCheatPointer()
+{
+ return s_ar_cheat_pointer;
+}
+
+jmethodID GetARCheatConstructor()
+{
+ return s_ar_cheat_constructor;
+}
+
+jclass GetGeckoCheatClass()
+{
+ return s_gecko_cheat_class;
+}
+
+jfieldID GetGeckoCheatPointer()
+{
+ return s_gecko_cheat_pointer;
+}
+
+jmethodID GetGeckoCheatConstructor()
+{
+ return s_gecko_cheat_constructor;
+}
+
+jclass GetPatchCheatClass()
+{
+ return s_patch_cheat_class;
+}
+
+jfieldID GetPatchCheatPointer()
+{
+ return s_patch_cheat_pointer;
+}
+
+jmethodID GetPatchCheatConstructor()
+{
+ return s_patch_cheat_constructor;
+}
+
} // namespace IDCache
extern "C" {
@@ -376,6 +433,27 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved)
s_boolean_supplier_get = env->GetMethodID(s_boolean_supplier_class, "get", "()Z");
env->DeleteLocalRef(boolean_supplier_class);
+ const jclass ar_cheat_class =
+ env->FindClass("org/dolphinemu/dolphinemu/features/cheats/model/ARCheat");
+ s_ar_cheat_class = reinterpret_cast<jclass>(env->NewGlobalRef(ar_cheat_class));
+ s_ar_cheat_pointer = env->GetFieldID(ar_cheat_class, "mPointer", "J");
+ s_ar_cheat_constructor = env->GetMethodID(ar_cheat_class, "<init>", "(J)V");
+ env->DeleteLocalRef(ar_cheat_class);
+
+ const jclass gecko_cheat_class =
+ env->FindClass("org/dolphinemu/dolphinemu/features/cheats/model/GeckoCheat");
+ s_gecko_cheat_class = reinterpret_cast<jclass>(env->NewGlobalRef(gecko_cheat_class));
+ s_gecko_cheat_pointer = env->GetFieldID(gecko_cheat_class, "mPointer", "J");
+ s_gecko_cheat_constructor = env->GetMethodID(gecko_cheat_class, "<init>", "(J)V");
+ env->DeleteLocalRef(gecko_cheat_class);
+
+ const jclass patch_cheat_class =
+ env->FindClass("org/dolphinemu/dolphinemu/features/cheats/model/PatchCheat");
+ s_patch_cheat_class = reinterpret_cast<jclass>(env->NewGlobalRef(patch_cheat_class));
+ s_patch_cheat_pointer = env->GetFieldID(patch_cheat_class, "mPointer", "J");
+ s_patch_cheat_constructor = env->GetMethodID(patch_cheat_class, "<init>", "(J)V");
+ env->DeleteLocalRef(patch_cheat_class);
+
return JNI_VERSION;
}
@@ -396,5 +474,8 @@ JNIEXPORT void JNI_OnUnload(JavaVM* vm, void* reserved)
env->DeleteGlobalRef(s_content_handler_class);
env->DeleteGlobalRef(s_network_helper_class);
env->DeleteGlobalRef(s_boolean_supplier_class);
+ env->DeleteGlobalRef(s_ar_cheat_class);
+ env->DeleteGlobalRef(s_gecko_cheat_class);
+ env->DeleteGlobalRef(s_patch_cheat_class);
}
}