You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.8 KiB
C++
56 lines
1.8 KiB
C++
2 years ago
|
#include <jni.h>
|
||
|
#include <string>
|
||
|
#include <TermClient.h>
|
||
|
#include "TerminalDevice.h"
|
||
|
|
||
|
// #include "client/linux/handler/exception_handler.h"
|
||
|
// #include "client/linux/handler/minidump_descriptor.h"
|
||
|
|
||
|
extern "C" JNIEXPORT jstring JNICALL
|
||
|
Java_com_xinyingpower_microphoto_MainActivity_stringFromJNI(
|
||
|
JNIEnv* env,
|
||
|
jobject /* this */) {
|
||
|
std::string hello = "Hello from C++";
|
||
|
return env->NewStringUTF(hello.c_str());
|
||
|
}
|
||
|
|
||
|
extern "C" JNIEXPORT jboolean JNICALL
|
||
|
Java_com_xinyingpower_microphoto_MicroPhotoService_init(
|
||
|
JNIEnv* env,
|
||
|
jobject pThis, jstring appPath, jstring ip, jint port, jstring cmdid) {
|
||
|
|
||
|
/*
|
||
|
google_breakpad::MinidumpDescriptor descriptor(".");
|
||
|
google_breakpad::ExceptionHandler eh(descriptor, NULL, NULL,
|
||
|
NULL, true, -1);
|
||
|
|
||
|
*/
|
||
|
|
||
|
const char *appPathStr = env->GetStringUTFChars(appPath, 0);
|
||
|
const char *ipStr = env->GetStringUTFChars(ip, 0);
|
||
|
const char *cmdidStr = env->GetStringUTFChars(cmdid, 0);
|
||
|
|
||
|
JavaVM* vm = NULL;
|
||
|
jint ret = env->GetJavaVM(&vm);
|
||
|
// const string& appPath, const string& termId, const string& server, unsigned short port, const string& bindIp
|
||
|
CTermClient& service = CTermClient::GetService();
|
||
|
CTerminalDevice* device = new CTerminalDevice(vm, pThis);
|
||
|
bool res = service.InitService(appPathStr, cmdidStr, ipStr, (unsigned short)port, "", device);
|
||
|
|
||
|
env->ReleaseStringUTFChars(appPath, appPathStr);
|
||
|
env->ReleaseStringUTFChars(ip, ipStr);
|
||
|
env->ReleaseStringUTFChars(cmdid, cmdidStr);
|
||
|
|
||
|
return res ? JNI_TRUE : JNI_FALSE;
|
||
|
}
|
||
|
|
||
|
extern "C" JNIEXPORT jboolean JNICALL
|
||
|
Java_com_xinyingpower_microphoto_MicroPhotoService_uninit(
|
||
|
JNIEnv* env,
|
||
|
jobject pThis) {
|
||
|
|
||
|
CTermClient::GetService().ExitService();
|
||
|
|
||
|
return JNI_TRUE;
|
||
|
}
|