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 <nativehelper/JNIHelp.h> 18#include "jni.h" 19#include "utils/Log.h" 20#include "utils/misc.h" 21 22#include "BroadcastRadio/BroadcastRadioService.h" 23#include "BroadcastRadio/Tuner.h" 24 25namespace android { 26int register_android_server_AlarmManagerService(JNIEnv* env); 27int register_android_server_BatteryStatsService(JNIEnv* env); 28int register_android_server_ConsumerIrService(JNIEnv *env); 29int register_android_server_InputApplicationHandle(JNIEnv* env); 30int register_android_server_InputWindowHandle(JNIEnv* env); 31int register_android_server_InputManager(JNIEnv* env); 32int register_android_server_LightsService(JNIEnv* env); 33int register_android_server_PowerManagerService(JNIEnv* env); 34int register_android_server_storage_AppFuse(JNIEnv* env); 35int register_android_server_SerialService(JNIEnv* env); 36int register_android_server_SystemServer(JNIEnv* env); 37int register_android_server_UsbAlsaJackDetector(JNIEnv* env); 38int register_android_server_UsbDeviceManager(JNIEnv* env); 39int register_android_server_UsbMidiDevice(JNIEnv* env); 40int register_android_server_UsbHostManager(JNIEnv* env); 41int register_android_server_vr_VrManagerService(JNIEnv* env); 42int register_android_server_VibratorService(JNIEnv* env); 43int register_android_server_location_GnssLocationProvider(JNIEnv* env); 44int register_android_server_connectivity_Vpn(JNIEnv* env); 45int register_android_server_connectivity_tethering_OffloadHardwareInterface(JNIEnv*); 46int register_android_server_devicepolicy_CryptoTestHelper(JNIEnv*); 47int register_android_server_hdmi_HdmiCecController(JNIEnv* env); 48int register_android_server_tv_TvUinputBridge(JNIEnv* env); 49int register_android_server_tv_TvInputHal(JNIEnv* env); 50int register_android_server_PersistentDataBlockService(JNIEnv* env); 51int register_android_server_Watchdog(JNIEnv* env); 52int register_android_server_HardwarePropertiesManagerService(JNIEnv* env); 53int register_android_server_SyntheticPasswordManager(JNIEnv* env); 54int register_android_server_GraphicsStatsService(JNIEnv* env); 55int register_android_hardware_display_DisplayViewport(JNIEnv* env); 56int register_android_server_net_NetworkStatsService(JNIEnv* env); 57#ifdef USE_ARC 58int register_android_server_ArcVideoService(); 59#endif 60}; 61 62using namespace android; 63 64extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) 65{ 66 JNIEnv* env = NULL; 67 jint result = -1; 68 69 if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) { 70 ALOGE("GetEnv failed!"); 71 return result; 72 } 73 ALOG_ASSERT(env, "Could not retrieve the env!"); 74 75 register_android_server_broadcastradio_BroadcastRadioService(env); 76 register_android_server_broadcastradio_Tuner(vm, env); 77 register_android_server_PowerManagerService(env); 78 register_android_server_SerialService(env); 79 register_android_server_InputApplicationHandle(env); 80 register_android_server_InputWindowHandle(env); 81 register_android_server_InputManager(env); 82 register_android_server_LightsService(env); 83 register_android_server_AlarmManagerService(env); 84 register_android_server_UsbDeviceManager(env); 85 register_android_server_UsbMidiDevice(env); 86 register_android_server_UsbAlsaJackDetector(env); 87 register_android_server_UsbHostManager(env); 88 register_android_server_vr_VrManagerService(env); 89 register_android_server_VibratorService(env); 90 register_android_server_SystemServer(env); 91 register_android_server_location_GnssLocationProvider(env); 92 register_android_server_connectivity_Vpn(env); 93 register_android_server_connectivity_tethering_OffloadHardwareInterface(env); 94 register_android_server_devicepolicy_CryptoTestHelper(env); 95 register_android_server_ConsumerIrService(env); 96 register_android_server_BatteryStatsService(env); 97 register_android_server_hdmi_HdmiCecController(env); 98 register_android_server_tv_TvUinputBridge(env); 99 register_android_server_tv_TvInputHal(env); 100 register_android_server_PersistentDataBlockService(env); 101 register_android_server_HardwarePropertiesManagerService(env); 102 register_android_server_storage_AppFuse(env); 103 register_android_server_SyntheticPasswordManager(env); 104 register_android_server_GraphicsStatsService(env); 105 register_android_hardware_display_DisplayViewport(env); 106 register_android_server_net_NetworkStatsService(env); 107#ifdef USE_ARC 108 register_android_server_ArcVideoService(); 109#endif 110 return JNI_VERSION_1_4; 111} 112