onload.cpp revision 770126a678ccc9328a89407ffc82f4d998b25427
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_InputManager(JNIEnv* env);
10int register_android_server_LightsService(JNIEnv* env);
11int register_android_server_PowerManagerService(JNIEnv* env);
12int register_android_server_UsbService(JNIEnv* env);
13int register_android_server_VibratorService(JNIEnv* env);
14int register_android_server_SystemServer(JNIEnv* env);
15int register_android_server_location_GpsLocationProvider(JNIEnv* env);
16};
17
18using namespace android;
19
20extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved)
21{
22    JNIEnv* env = NULL;
23    jint result = -1;
24
25    if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) {
26        LOGE("GetEnv failed!");
27        return result;
28    }
29    LOG_ASSERT(env, "Could not retrieve the env!");
30
31    register_android_server_PowerManagerService(env);
32    register_android_server_InputManager(env);
33    register_android_server_LightsService(env);
34    register_android_server_AlarmManagerService(env);
35    register_android_server_BatteryService(env);
36    register_android_server_UsbService(env);
37    register_android_server_VibratorService(env);
38    register_android_server_SystemServer(env);
39    register_android_server_location_GpsLocationProvider(env);
40
41    return JNI_VERSION_1_4;
42}
43