1199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong/* 2199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * Copyright (C) 2009 The Android Open Source Project 3199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * 4199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * Licensed under the Apache License, Version 2.0 (the "License"); 5199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * you may not use this file except in compliance with the License. 6199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * You may obtain a copy of the License at 7199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * 8199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * http://www.apache.org/licenses/LICENSE-2.0 9199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * 10199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * Unless required by applicable law or agreed to in writing, software 11199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * distributed under the License is distributed on an "AS IS" BASIS, 12199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * See the License for the specific language governing permissions and 14199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong * limitations under the License. 15199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong */ 16199d1c131d29b5356f71fbd7826a592c1dd8575fJames Dong 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "JNIHelp.h" 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "jni.h" 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "utils/Log.h" 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "utils/misc.h" 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectnamespace android { 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectint register_android_server_AlarmManagerService(JNIEnv* env); 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectint register_android_server_BatteryService(JNIEnv* env); 25928e054931d357326613c78e62f4d850b7c442ffJeff Brownint register_android_server_InputApplicationHandle(JNIEnv* env); 26928e054931d357326613c78e62f4d850b7c442ffJeff Brownint register_android_server_InputWindowHandle(JNIEnv* env); 2746b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brownint register_android_server_InputManager(JNIEnv* env); 283a32213c4029a03fe39486f3d6ebd0ea18928ee1Mike Lockwoodint register_android_server_LightsService(JNIEnv* env); 2900fa7bdd69f0868fd17ea7c881c771d785b2fbbdJeff Brownint register_android_server_PowerManagerService(JNIEnv* env); 30b01e8bf57b7492b77e3445db51471edcbadda75eMike Lockwoodint register_android_server_SerialService(JNIEnv* env); 3146d0adf8256a42416584765625852b6e48497c90Mike Lockwoodint register_android_server_UsbDeviceManager(JNIEnv* env); 3246d0adf8256a42416584765625852b6e48497c90Mike Lockwoodint register_android_server_UsbHostManager(JNIEnv* env); 333a32213c4029a03fe39486f3d6ebd0ea18928ee1Mike Lockwoodint register_android_server_VibratorService(JNIEnv* env); 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectint register_android_server_SystemServer(JNIEnv* env); 3500b74270c9f136a8727c5f6cda0997a3a905f385Mike Lockwoodint register_android_server_location_GpsLocationProvider(JNIEnv* env); 36ff3bdca31f4cf2bd607519b276dd175763aa1784Chia-chi Yehint register_android_server_connectivity_Vpn(JNIEnv* env); 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}; 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectusing namespace android; 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved) 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNIEnv* env = NULL; 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint result = -1; 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) { 473762c311729fe9f3af085c14c5c1fb471d994c03Steve Block ALOGE("GetEnv failed!"); 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return result; 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50ec193dec4d9ca2cfc8295c4becfe950a906a15edSteve Block ALOG_ASSERT(env, "Could not retrieve the env!"); 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5200fa7bdd69f0868fd17ea7c881c771d785b2fbbdJeff Brown register_android_server_PowerManagerService(env); 53b01e8bf57b7492b77e3445db51471edcbadda75eMike Lockwood register_android_server_SerialService(env); 54928e054931d357326613c78e62f4d850b7c442ffJeff Brown register_android_server_InputApplicationHandle(env); 55928e054931d357326613c78e62f4d850b7c442ffJeff Brown register_android_server_InputWindowHandle(env); 5646b9ac0ae2162309774a7478cd9d4e578747bfc2Jeff Brown register_android_server_InputManager(env); 573a32213c4029a03fe39486f3d6ebd0ea18928ee1Mike Lockwood register_android_server_LightsService(env); 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project register_android_server_AlarmManagerService(env); 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project register_android_server_BatteryService(env); 6046d0adf8256a42416584765625852b6e48497c90Mike Lockwood register_android_server_UsbDeviceManager(env); 6146d0adf8256a42416584765625852b6e48497c90Mike Lockwood register_android_server_UsbHostManager(env); 623a32213c4029a03fe39486f3d6ebd0ea18928ee1Mike Lockwood register_android_server_VibratorService(env); 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project register_android_server_SystemServer(env); 6400b74270c9f136a8727c5f6cda0997a3a905f385Mike Lockwood register_android_server_location_GpsLocationProvider(env); 65ff3bdca31f4cf2bd607519b276dd175763aa1784Chia-chi Yeh register_android_server_connectivity_Vpn(env); 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return JNI_VERSION_1_4; 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 69