onload.cpp revision 30f95a7d67870c28d2aaa88ee989c099f5670225
1/* 2 * Copyright (C) 2009 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#include "JNIHelp.h" 18#include "jni.h" 19#include "utils/Log.h" 20#include "utils/misc.h" 21 22namespace android { 23int register_android_server_ActivityManagerService(JNIEnv* env); 24int register_android_server_AlarmManagerService(JNIEnv* env); 25int register_android_server_AssetAtlasService(JNIEnv* env); 26int register_android_server_BatteryStatsService(JNIEnv* env); 27int register_android_server_ConsumerIrService(JNIEnv *env); 28int register_android_server_InputApplicationHandle(JNIEnv* env); 29int register_android_server_InputWindowHandle(JNIEnv* env); 30int register_android_server_InputManager(JNIEnv* env); 31int register_android_server_LightsService(JNIEnv* env); 32int register_android_server_PowerManagerService(JNIEnv* env); 33int register_android_server_SerialService(JNIEnv* env); 34int register_android_server_SystemServer(JNIEnv* env); 35int register_android_server_UsbDeviceManager(JNIEnv* env); 36int register_android_server_UsbMidiDevice(JNIEnv* env); 37int register_android_server_UsbHostManager(JNIEnv* env); 38int register_android_server_VibratorService(JNIEnv* env); 39int register_android_server_location_GnssLocationProvider(JNIEnv* env); 40int register_android_server_location_FlpHardwareProvider(JNIEnv* env); 41int register_android_server_connectivity_Vpn(JNIEnv* env); 42int register_android_server_hdmi_HdmiCecController(JNIEnv* env); 43int register_android_server_tv_TvInputHal(JNIEnv* env); 44int register_android_server_PersistentDataBlockService(JNIEnv* env); 45int register_android_server_Watchdog(JNIEnv* env); 46}; 47 48using namespace android; 49 50extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) 51{ 52 JNIEnv* env = NULL; 53 jint result = -1; 54 55 if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) { 56 ALOGE("GetEnv failed!"); 57 return result; 58 } 59 ALOG_ASSERT(env, "Could not retrieve the env!"); 60 61 register_android_server_ActivityManagerService(env); 62 register_android_server_PowerManagerService(env); 63 register_android_server_SerialService(env); 64 register_android_server_InputApplicationHandle(env); 65 register_android_server_InputWindowHandle(env); 66 register_android_server_InputManager(env); 67 register_android_server_LightsService(env); 68 register_android_server_AlarmManagerService(env); 69 register_android_server_UsbDeviceManager(env); 70 register_android_server_UsbMidiDevice(env); 71 register_android_server_UsbHostManager(env); 72 register_android_server_VibratorService(env); 73 register_android_server_SystemServer(env); 74 register_android_server_location_GnssLocationProvider(env); 75 register_android_server_location_FlpHardwareProvider(env); 76 register_android_server_connectivity_Vpn(env); 77 register_android_server_AssetAtlasService(env); 78 register_android_server_ConsumerIrService(env); 79 register_android_server_BatteryStatsService(env); 80 register_android_server_hdmi_HdmiCecController(env); 81 register_android_server_tv_TvInputHal(env); 82 register_android_server_PersistentDataBlockService(env); 83 register_android_server_Watchdog(env); 84 85 86 return JNI_VERSION_1_4; 87} 88