Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string.h>
- #include <jni.h>
- #include <boost/thread.hpp>
- #include "XXXProtocol.h"
- #include <metaioSDK/IMetaioSDK.h>
- #include <metaioSDK/IGeometry.h>
- #include <XXXXLib/MetaioSDK-Extensions/JavaMethodLib.h>
- #include <XXXXLib/MetaioSDK-Extensions/MetaioSDKExtensions.h>
- JNIEnv* javaEnv = 0;
- jobject javaThiz = 0;
- JavaVM* jvm;
- jint jVersion;
- JNIEnv* jEnv;
- jobject jObj;
- jobject globalObj;
- // Convert a std string to a jstring
- void GetJStringContent(JNIEnv *AEnv, jstring AStr, std::string &ARes) {
- if (!AStr) {
- ARes.clear();
- return;
- }
- const char *s = AEnv->GetStringUTFChars(AStr,NULL);
- ARes=s;
- AEnv->ReleaseStringUTFChars(AStr,s);
- }
- extern "C" {
- JNIEXPORT void JNICALL Java_yy_zzz_XXXX_ndkcode_XXXProtocol_startXXXX(
- JNIEnv* env, jobject thiz , jstring ip, jint port, jstring assetPath);
- JNIEXPORT void JNICALL Java_yy_zzz_XXXX_ndkcode_XXXProtocol_stopXXXX(
- JNIEnv* env, jobject thiz);
- JNIEXPORT void JNICALL Java_yy_zzz_XXXX_ndkcode_XXXProtocol_sendJsonViaXXXX(
- JNIEnv* env, jobject thiz, jstring jsonString);
- }
- JNIEXPORT void JNICALL Java_yy_zzz_XXXX_ndkcode_XXXProtocol_startXXXX(
- JNIEnv* env, jobject thiz, jstring ip, jint port, jstring assetPath)
- {
- std::string ipStr;
- GetJStringContent(env, ip, ipStr);
- std::string pathStr;
- GetJStringContent(env, assetPath, pathStr);
- // thread preparation
- JavaVM* javaVM;
- env->GetJavaVM(&javaVM);
- jvm = javaVM;
- jVersion = env->GetVersion();
- toaster(env, thiz, "XXXX started!");
- // make it global, so the garbage collector does not mess it up
- globalObj = env->NewGlobalRef(thiz);
- XXXX_init(ipStr, (uint16_t)port, pathStr, env, globalObj);
- }
- JNIEXPORT void JNICALL Java_yy_zzz_XXXX_ndkcode_XXXProtocol_stopXXXX(
- JNIEnv* env, jobject thiz){
- stopUpdateThread();
- }
- JNIEXPORT void JNICALL Java_yy_zzz_XXXX_ndkcode_XXXProtocol_sendJsonViaXXXX(
- JNIEnv* env, jobject thiz, jstring jsonString) {
- std::string nativeJsonString;
- GetJStringContent(env, jsonString, nativeJsonString);
- sendJson(nativeJsonString);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement