blob: 0645c73030ce96b0f3e00c8dc209bbf2b42a0098 [file] [log] [blame]
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "base/android/base_jni_registrar.h"
6
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01007#include "base/android/activity_status.h"
Torne (Richard Coles)58218062012-11-14 11:43:16 +00008#include "base/android/build_info.h"
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00009#include "base/android/cpu_features.h"
10#include "base/android/important_file_writer_android.h"
Ben Murdochbb1529c2013-08-08 10:24:53 +010011#include "base/android/java_handler_thread.h"
Torne (Richard Coles)58218062012-11-14 11:43:16 +000012#include "base/android/jni_android.h"
13#include "base/android/jni_registrar.h"
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +010014#include "base/android/memory_pressure_listener_android.h"
Torne (Richard Coles)58218062012-11-14 11:43:16 +000015#include "base/android/path_service_android.h"
16#include "base/android/path_utils.h"
Ben Murdocheb525c52013-07-10 11:40:50 +010017#include "base/android/sys_utils.h"
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000018#include "base/android/thread_utils.h"
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +010019#include "base/basictypes.h"
20#include "base/debug/trace_event.h"
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +010021#include "base/message_loop/message_pump_android.h"
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +010022#include "base/power_monitor/power_monitor_device_source_android.h"
Torne (Richard Coles)58218062012-11-14 11:43:16 +000023
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +010024#if defined(GOOGLE_TV)
25#include "base/android/context_types.h"
26#endif
27
Torne (Richard Coles)58218062012-11-14 11:43:16 +000028namespace base {
29namespace android {
30
31static RegistrationMethod kBaseRegisteredMethods[] = {
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +010032 { "ActivityStatus", base::android::ActivityStatus::RegisterBindings },
Torne (Richard Coles)58218062012-11-14 11:43:16 +000033 { "BuildInfo", base::android::BuildInfo::RegisterBindings },
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +010034#if defined(GOOGLE_TV)
35 { "ContextTypes", base::android::RegisterContextTypes },
36#endif
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000037 { "CpuFeatures", base::android::RegisterCpuFeatures },
38 { "ImportantFileWriterAndroid",
39 base::android::RegisterImportantFileWriterAndroid },
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +010040 { "MemoryPressureListenerAndroid",
41 base::android::MemoryPressureListenerAndroid::Register },
Ben Murdochbb1529c2013-08-08 10:24:53 +010042 { "JavaHandlerThread", base::android::JavaHandlerThread::RegisterBindings },
Torne (Richard Coles)58218062012-11-14 11:43:16 +000043 { "PathService", base::android::RegisterPathService },
44 { "PathUtils", base::android::RegisterPathUtils },
45 { "SystemMessageHandler", base::MessagePumpForUI::RegisterBindings },
Ben Murdocheb525c52013-07-10 11:40:50 +010046 { "SysUtils", base::android::SysUtils::Register },
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +010047 { "PowerMonitor", base::RegisterPowerMonitor },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000048 { "ThreadUtils", base::RegisterThreadUtils },
Torne (Richard Coles)58218062012-11-14 11:43:16 +000049};
50
51bool RegisterJni(JNIEnv* env) {
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +010052 TRACE_EVENT0("startup", "base_android::RegisterJni");
Torne (Richard Coles)58218062012-11-14 11:43:16 +000053 return RegisterNativeMethods(env, kBaseRegisteredMethods,
54 arraysize(kBaseRegisteredMethods));
55}
56
57} // namespace android
58} // namespace base