1 // Copyright 2014 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.
5 // This file is autogenerated by
6 // base/android/jni_generator/jni_generator.py
8 // org/chromium/example/jni_generator/Example
10 #ifndef org_chromium_example_jni_generator_Example_JNI
11 #define org_chromium_example_jni_generator_Example_JNI
15 #include "base/android/jni_generator/jni_generator_helper.h"
17 #include "base/android/jni_int_wrapper.h"
19 // Step 1: forward declarations.
21 const char kExampleClassPath[] = "com/test/jni_generator/Example";
22 // Leaking this jclass as we cannot use LazyInstance from some threads.
23 jclass g_Example_clazz = NULL;
24 #define Example_clazz(env) g_Example_clazz
28 static void Test(JNIEnv* env, jclass jcaller,
31 static void Test2(JNIEnv* env, jclass jcaller,
34 static void Test3(JNIEnv* env, jclass jcaller,
37 static void Test4(JNIEnv* env, jclass jcaller,
40 // Step 2: method stubs.
42 // Step 3: RegisterNatives.
44 static const JNINativeMethod kMethodsExample[] = {
49 "V", reinterpret_cast<void*>(Test) },
52 "Lorg/chromium/example3/PrefixFoo;"
54 "V", reinterpret_cast<void*>(Test2) },
59 "V", reinterpret_cast<void*>(Test3) },
62 "Lorg/test3/TestBar$Inner;"
64 "V", reinterpret_cast<void*>(Test4) },
67 static bool RegisterNativesImpl(JNIEnv* env) {
69 g_Example_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
70 base::android::GetClass(env, kExampleClassPath).obj()));
72 const int kMethodsExampleSize = arraysize(kMethodsExample);
74 if (env->RegisterNatives(Example_clazz(env),
76 kMethodsExampleSize) < 0) {
77 jni_generator::HandleRegistrationError(
78 env, Example_clazz(env), __FILE__);
85 #endif // org_chromium_example_jni_generator_Example_JNI