summaryrefslogtreecommitdiff
path: root/java/jni/ZT_jniarray.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'java/jni/ZT_jniarray.cpp')
-rw-r--r--java/jni/ZT_jniarray.cpp112
1 files changed, 0 insertions, 112 deletions
diff --git a/java/jni/ZT_jniarray.cpp b/java/jni/ZT_jniarray.cpp
deleted file mode 100644
index a1cae76e..00000000
--- a/java/jni/ZT_jniarray.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-//
-// Created by Grant Limberg on 10/21/20.
-//
-
-#include "ZT_jniarray.h"
-#include <vector>
-#include <string>
-#include <cassert>
-
-jclass java_util_ArrayList;
-jmethodID java_util_ArrayList_;
-jmethodID java_util_ArrayList_size;
-jmethodID java_util_ArrayList_get;
-jmethodID java_util_ArrayList_add;
-
-void InitListJNI(JNIEnv* env) {
- java_util_ArrayList = static_cast<jclass>(env->NewGlobalRef(env->FindClass("java/util/ArrayList")));
- java_util_ArrayList_ = env->GetMethodID(java_util_ArrayList, "<init>", "(I)V");
- java_util_ArrayList_size = env->GetMethodID (java_util_ArrayList, "size", "()I");
- java_util_ArrayList_get = env->GetMethodID(java_util_ArrayList, "get", "(I)Ljava/lang/Object;");
- java_util_ArrayList_add = env->GetMethodID(java_util_ArrayList, "add", "(Ljava/lang/Object;)Z");
-}
-
-jclass ListJNI::getListClass(JNIEnv* env) {
- jclass jclazz = env->FindClass("java/util/List");
- assert(jclazz != nullptr);
- return jclazz;
-}
-
-jclass ListJNI::getArrayListClass(JNIEnv* env) {
- jclass jclazz = env->FindClass("java/util/ArrayList");
- assert(jclazz != nullptr);
- return jclazz;
-}
-
-jclass ListJNI::getIteratorClass(JNIEnv* env) {
- jclass jclazz = env->FindClass("java/util/Iterator");
- assert(jclazz != nullptr);
- return jclazz;
-}
-
-jmethodID ListJNI::getIteratorMethod(JNIEnv* env) {
- static jmethodID mid = env->GetMethodID(
- getListClass(env), "iterator", "()Ljava/util/Iterator;");
- assert(mid != nullptr);
- return mid;
-}
-
-jmethodID ListJNI::getHasNextMethod(JNIEnv* env) {
- static jmethodID mid = env->GetMethodID(
- getIteratorClass(env), "hasNext", "()Z");
- assert(mid != nullptr);
- return mid;
-}
-
-jmethodID ListJNI::getNextMethod(JNIEnv* env) {
- static jmethodID mid = env->GetMethodID(
- getIteratorClass(env), "next", "()Ljava/lang/Object;");
- assert(mid != nullptr);
- return mid;
-}
-
-jmethodID ListJNI::getArrayListConstructorMethodId(JNIEnv* env, jclass jclazz) {
- static jmethodID mid = env->GetMethodID(
- jclazz, "<init>", "(I)V");
- assert(mid != nullptr);
- return mid;
-}
-
-jmethodID ListJNI::getListAddMethodId(JNIEnv* env) {
- static jmethodID mid = env->GetMethodID(
- getListClass(env), "add", "(Ljava/lang/Object;)Z");
- assert(mid != nullptr);
- return mid;
-}
-
-jclass ByteJNI::getByteClass(JNIEnv* env) {
- jclass jclazz = env->FindClass("java/lang/Byte");
- assert(jclazz != nullptr);
- return jclazz;
-}
-
-jmethodID ByteJNI::getByteValueMethod(JNIEnv* env) {
- static jmethodID mid = env->GetMethodID(
- getByteClass(env), "byteValue", "()B");
- assert(mid != nullptr);
- return mid;
-}
-
-jobject cppToJava(JNIEnv* env, std::vector<std::string> vector) {
- jobject result = env->NewObject(java_util_ArrayList, java_util_ArrayList_, vector.size());
- for (std::string s: vector) {
- jstring element = env->NewStringUTF(s.c_str());
- env->CallBooleanMethod(result, java_util_ArrayList_add, element);
- env->DeleteLocalRef(element);
- }
- return result;
-}
-
-std::vector<std::string> javaToCpp(JNIEnv* env, jobject arrayList) {
- jint len = env->CallIntMethod(arrayList, java_util_ArrayList_size);
- std::vector<std::string> result;
- result.reserve(len);
- for (jint i=0; i<len; i++) {
- jstring element = static_cast<jstring>(env->CallObjectMethod(arrayList, java_util_ArrayList_get, i));
- const char* pchars = env->GetStringUTFChars(element, nullptr);
- result.emplace_back(pchars);
- env->ReleaseStringUTFChars(element, pchars);
- env->DeleteLocalRef(element);
- }
- return result;
-}