project_files/Android-build/SDL-android-project/jni/src/hedgewars_main.c
changeset 10017 de822cd3df3a
parent 8465 9114b50fed82
equal deleted inserted replaced
10015:4feced261c68 10017:de822cd3df3a
     8 #define TAG "HWEngine Loader"
     8 #define TAG "HWEngine Loader"
     9 
     9 
    10 typedef  (*HWEngine_Game)(int32_t argc, char** argv);
    10 typedef  (*HWEngine_Game)(int32_t argc, char** argv);
    11 
    11 
    12 main(int argc, char *argv[]){
    12 main(int argc, char *argv[]){
    13 	void *handle;
    13     void *handle;
    14 	char *error;
    14     char *error;
    15 	HWEngine_Game Game;
    15     HWEngine_Game Game;
    16 	
    16 
    17 
    17 
    18         __android_log_print(ANDROID_LOG_INFO, TAG, "HWEngine being loaded");
    18         __android_log_print(ANDROID_LOG_INFO, TAG, "HWEngine being loaded");
    19 	handle = dlopen("libhwengine.so", RTLD_NOW|RTLD_GLOBAL);
    19     handle = dlopen("libhwengine.so", RTLD_NOW|RTLD_GLOBAL);
    20 	if(!handle){
    20     if(!handle){
    21 		__android_log_print(ANDROID_LOG_INFO, TAG, dlerror());
    21         __android_log_print(ANDROID_LOG_INFO, TAG, dlerror());
    22 		__android_log_print(ANDROID_LOG_INFO, TAG, "error dlopen");
    22         __android_log_print(ANDROID_LOG_INFO, TAG, "error dlopen");
    23 		exit(EXIT_FAILURE);
    23         exit(EXIT_FAILURE);
    24 	}
    24     }
    25 	dlerror();
    25     dlerror();
    26 
    26 
    27         __android_log_print(ANDROID_LOG_INFO, TAG, "HWEngine successfully loaded..");
    27         __android_log_print(ANDROID_LOG_INFO, TAG, "HWEngine successfully loaded..");
    28 
    28 
    29 
    29 
    30 	Game = (HWEngine_Game) dlsym(handle,"Game");
    30     Game = (HWEngine_Game) dlsym(handle,"Game");
    31 	if((error = dlerror()) != NULL){
    31     if((error = dlerror()) != NULL){
    32 		__android_log_print(ANDROID_LOG_INFO, TAG, error);
    32         __android_log_print(ANDROID_LOG_INFO, TAG, error);
    33 		__android_log_print(ANDROID_LOG_INFO, TAG, "error dlsym");
    33         __android_log_print(ANDROID_LOG_INFO, TAG, "error dlsym");
    34 		exit(EXIT_FAILURE);
    34         exit(EXIT_FAILURE);
    35 	}
    35     }
    36 	__android_log_print(ANDROID_LOG_INFO, TAG, "dlsym succeeded");
    36     __android_log_print(ANDROID_LOG_INFO, TAG, "dlsym succeeded");
    37 	Game(argc, argv);
    37     Game(argc, argv);
    38 	__android_log_print(ANDROID_LOG_INFO, TAG, "Game() ended");
    38     __android_log_print(ANDROID_LOG_INFO, TAG, "Game() ended");
    39 
    39 
    40 	dlclose(handle);
    40     dlclose(handle);
    41 }
    41 }