From c40af4c4ab0541638a6079a97c601a774ed65d02 Mon Sep 17 00:00:00 2001 From: faketruth Date: Fri, 17 Aug 2012 22:20:35 +0000 Subject: Android: Pressing back button sends stop command to server Android: ToJava can call functions on Java by using JNI Android: Plugins work Android: Added android specific files to VS2008 project, but they are excluded from compiling git-svn-id: http://mc-server.googlecode.com/svn/trunk@747 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- jni/app-android.cpp | 57 ++++++++++++++--------------------------------------- 1 file changed, 15 insertions(+), 42 deletions(-) (limited to 'jni/app-android.cpp') diff --git a/jni/app-android.cpp b/jni/app-android.cpp index d02947440..461f433bf 100644 --- a/jni/app-android.cpp +++ b/jni/app-android.cpp @@ -13,24 +13,34 @@ #include "cCriticalSection.h" #include "cRoot.h" #include "cMakeDir.h" +#include "ToJava.h" #include cCriticalSection g_CriticalSection; JNIEnv* g_CurrentJNIEnv = 0; -jobject g_JavaRenderer = 0; +jobject g_JavaThread = 0; +//jobject g_JavaActivity = 0; cRoot * pRoot = NULL; + + + + /* Called when program/activity is created */ -extern "C" void Java_com_mcserver_MainThread_NativeOnCreate( JNIEnv* env ) +extern "C" void Java_com_mcserver_MainThread_NativeOnCreate( JNIEnv* env, jobject thiz ) { g_CriticalSection.Lock(); g_CurrentJNIEnv = env; + g_JavaThread = thiz; //if( !cLogger::GetSingletonPtr() ) new cLogger(); __android_log_print(ANDROID_LOG_ERROR,"MCServer", "%s", "Logging from C++!"); g_CriticalSection.Unlock(); + + //CallJavaFunction_Void_Void(g_JavaActivity, "TestTest" ); + //CallJavaFunction_Void_String(g_JavaThread, "AddToLog", "herpderpderp!!" ); mkdir("/sdcard/mcserver", S_IRWXU | S_IRWXG | S_IRWXO); @@ -39,57 +49,20 @@ extern "C" void Java_com_mcserver_MainThread_NativeOnCreate( JNIEnv* env ) delete pRoot; } -extern "C" void Java_com_mcserver_MCServerActivity_NativeCleanUp( JNIEnv* env ) -{ - g_CriticalSection.Lock(); - g_CurrentJNIEnv = env; - - g_CriticalSection.Unlock(); - pRoot->ServerCommand("stop"); -} -/* Call to initialize the graphics state */ -extern "C" void Java_com_ballz_CppWrapperRenderer_NativeInitGL( JNIEnv* env, jobject thiz ) -{ - g_CriticalSection.Lock(); - g_CurrentJNIEnv = env; - g_JavaRenderer = thiz; - g_CriticalSection.Unlock(); -} -extern "C" void Java_com_ballz_CppWrapperRenderer_NativeResize( JNIEnv* env, jobject thiz, jint w, jint h ) +extern "C" void Java_com_mcserver_MainThread_NativeCleanUp( JNIEnv* env, jobject thiz ) { g_CriticalSection.Lock(); g_CurrentJNIEnv = env; - g_JavaRenderer = thiz; - + g_JavaThread = thiz; g_CriticalSection.Unlock(); -} - -extern "C" void Java_com_ballz_CppWrapperRenderer_NativeRender( JNIEnv* env, jobject thiz ) -{ - g_CriticalSection.Lock(); - g_CurrentJNIEnv = env; - g_JavaRenderer = thiz; - - g_CriticalSection.Unlock(); + pRoot->ServerCommand("stop"); } -extern "C" void Java_com_ballz_CppWrapperGLSurfaceView_NativeTouchScreen( JNIEnv* env, jobject thiz, jint mouseid, jint touched ) -{ - g_CriticalSection.Lock(); - g_CurrentJNIEnv = env; - g_CriticalSection.Unlock(); -} -extern "C" void Java_com_ballz_CppWrapperGLSurfaceView_NativeTouchEvent( JNIEnv* env, jobject thiz, jint mouseid, jfloat x, jfloat y ) -{ - g_CriticalSection.Lock(); - g_CurrentJNIEnv = env; - g_CriticalSection.Unlock(); -} \ No newline at end of file -- cgit v1.2.3