project_files/Android-build/SDL-android-project/jni/src/hedgewars_main.c
branchhedgeroid
changeset 5304 e29aa9e29f00
child 5350 4c100fbfad5f
equal deleted inserted replaced
5301:690e88ef6ee7 5304:e29aa9e29f00
       
     1 
       
     2 #include "android/log.h"
       
     3 #include "SDL.h"
       
     4 #include "dlfcn.h"
       
     5 #include "GLES/gl.h"
       
     6 
       
     7 #define TAG "HWEngine Loader"
       
     8 
       
     9 typedef  (*HWEngine_Game)(int);
       
    10 
       
    11 main(int argc, char *argv[]){
       
    12 	void *handle;
       
    13 	char *error;
       
    14 	HWEngine_Game Game;
       
    15 	
       
    16 
       
    17         __android_log_print(ANDROID_LOG_INFO, TAG, "HWEngine being loaded");
       
    18 	handle = dlopen("/data/data/org.hedgewars/lib/libhwengine.so", RTLD_NOW|RTLD_GLOBAL);
       
    19 	if(!handle){
       
    20 		__android_log_print(ANDROID_LOG_INFO, "foo", dlerror());
       
    21 		__android_log_print(ANDROID_LOG_INFO, "foo", "error dlopen");
       
    22 		exit(EXIT_FAILURE);
       
    23 	}
       
    24 	dlerror();
       
    25 
       
    26         __android_log_print(ANDROID_LOG_INFO, TAG, "HWEngine successfully loaded..");
       
    27 
       
    28 
       
    29 	Game = (HWEngine_Game) dlsym(handle,"Game");
       
    30 	if((error = dlerror()) != NULL){
       
    31 		__android_log_print(ANDROID_LOG_INFO, "foo", error);
       
    32 		__android_log_print(ANDROID_LOG_INFO, "foo", "error dlsym");
       
    33 		exit(EXIT_FAILURE);
       
    34 	}
       
    35 	__android_log_print(ANDROID_LOG_INFO, "foo", "dlsym succeeded");
       
    36 	Game(1);
       
    37 	__android_log_print(ANDROID_LOG_INFO, "foo", "Game() succeeded");
       
    38 
       
    39 	dlclose(handle);
       
    40 }