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. 4 5 // This file is autogenerated by 6 // base/android/jni_generator/jni_generator.py 7 // For 8 // org/chromium/TestJni 9 10 #ifndef org_chromium_TestJni_JNI 11 #define org_chromium_TestJni_JNI 12 13 #include <jni.h> 14 15 #include "base/android/jni_generator/jni_generator_helper.h" 16 17 #include "base/android/jni_int_wrapper.h" 18 19 // Step 1: forward declarations. 20 namespace { 21 const char kMyOtherInnerClassClassPath[] = 22 "org/chromium/TestJni$MyOtherInnerClass"; 23 const char kTestJniClassPath[] = "org/chromium/TestJni"; 24 // Leaking this jclass as we cannot use LazyInstance from some threads. 25 jclass g_TestJni_clazz = NULL; 26 #define TestJni_clazz(env) g_TestJni_clazz 27 28 } // namespace 29 30 // Step 2: method stubs. 31 32 static jint Init(JNIEnv* env, const JavaParamRef<jobject>& jcaller); 33 34 static jint Java_org_chromium_TestJni_nativeInit(JNIEnv* env, jobject jcaller) { 35 return Init(env, JavaParamRef<jobject>(env, jcaller)); 36 } 37 38 static jint Init(JNIEnv* env, const JavaParamRef<jobject>& jcaller); 39 40 static jint Java_org_chromium_TestJni_00024MyOtherInnerClass_nativeInit(JNIEnv* 41 env, jobject jcaller) { 42 return Init(env, JavaParamRef<jobject>(env, jcaller)); 43 } 44 45 // Step 3: RegisterNatives. 46 47 static const JNINativeMethod kMethodsMyOtherInnerClass[] = { 48 { "nativeInit", 49 "(" 50 ")" 51 "I", 52 reinterpret_cast<void*>(Java_org_chromium_TestJni_00024MyOtherInnerClass_nativeInit) 53 }, 54 }; 55 56 static const JNINativeMethod kMethodsTestJni[] = { 57 { "nativeInit", 58 "(" 59 ")" 60 "I", reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeInit) }, 61 }; 62 63 static bool RegisterNativesImpl(JNIEnv* env) { 64 65 g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( 66 base::android::GetClass(env, kTestJniClassPath).obj())); 67 68 const int kMethodsMyOtherInnerClassSize = 69 arraysize(kMethodsMyOtherInnerClass); 70 71 if (env->RegisterNatives(MyOtherInnerClass_clazz(env), 72 kMethodsMyOtherInnerClass, 73 kMethodsMyOtherInnerClassSize) < 0) { 74 jni_generator::HandleRegistrationError( 75 env, MyOtherInnerClass_clazz(env), __FILE__); 76 return false; 77 } 78 79 const int kMethodsTestJniSize = arraysize(kMethodsTestJni); 80 81 if (env->RegisterNatives(TestJni_clazz(env), 82 kMethodsTestJni, 83 kMethodsTestJniSize) < 0) { 84 jni_generator::HandleRegistrationError( 85 env, TestJni_clazz(env), __FILE__); 86 return false; 87 } 88 89 return true; 90 } 91 92 #endif // org_chromium_TestJni_JNI 93