onload.cpp revision e7d511e148bc901ef41ac44d7b3593e5d803f72f
1#include "JNIHelp.h"
2#include "jni.h"
3#include "utils/Log.h"
4#include "utils/misc.h"
5
6namespace android {
7int register_android_server_AlarmManagerService(JNIEnv* env);
8int register_android_server_BatteryService(JNIEnv* env);
9int register_android_server_InputApplication(JNIEnv* env);
10int register_android_server_InputApplicationHandle(JNIEnv* env);
11int register_android_server_InputWindow(JNIEnv* env);
12int register_android_server_InputWindowHandle(JNIEnv* env);
13int register_android_server_InputManager(JNIEnv* env);
14int register_android_server_LightsService(JNIEnv* env);
15int register_android_server_PowerManagerService(JNIEnv* env);
16int register_android_server_UsbService(JNIEnv* env);
17int register_android_server_VibratorService(JNIEnv* env);
18int register_android_server_SystemServer(JNIEnv* env);
19int register_android_server_location_GpsLocationProvider(JNIEnv* env);
20};
21
22using namespace android;
23
24extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved)
25{
26    JNIEnv* env = NULL;
27    jint result = -1;
28
29    if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) {
30        LOGE("GetEnv failed!");
31        return result;
32    }
33    LOG_ASSERT(env, "Could not retrieve the env!");
34
35    register_android_server_PowerManagerService(env);
36    register_android_server_InputApplication(env);
37    register_android_server_InputApplicationHandle(env);
38    register_android_server_InputWindow(env);
39    register_android_server_InputWindowHandle(env);
40    register_android_server_InputManager(env);
41    register_android_server_LightsService(env);
42    register_android_server_AlarmManagerService(env);
43    register_android_server_BatteryService(env);
44    register_android_server_UsbService(env);
45    register_android_server_VibratorService(env);
46    register_android_server_SystemServer(env);
47    register_android_server_location_GpsLocationProvider(env);
48
49    return JNI_VERSION_1_4;
50}
51