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. 20namespace { 21const char kMyOtherInnerClassClassPath[] = 22 "org/chromium/TestJni$MyOtherInnerClass"; 23const char kTestJniClassPath[] = "org/chromium/TestJni"; 24// Leaking this jclass as we cannot use LazyInstance from some threads. 25jclass g_TestJni_clazz = NULL; 26#define TestJni_clazz(env) g_TestJni_clazz 27 28} // namespace 29 30// Step 2: method stubs. 31 32static jint Init(JNIEnv* env, const JavaParamRef<jobject>& jcaller); 33 34static jint Java_org_chromium_TestJni_nativeInit(JNIEnv* env, jobject jcaller) { 35 return Init(env, JavaParamRef<jobject>(env, jcaller)); 36} 37 38static jint Init(JNIEnv* env, const JavaParamRef<jobject>& jcaller); 39 40static 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 47static const JNINativeMethod kMethodsMyOtherInnerClass[] = { 48 { "nativeInit", 49"(" 50")" 51"I", 52 reinterpret_cast<void*>(Java_org_chromium_TestJni_00024MyOtherInnerClass_nativeInit) 53 }, 54}; 55 56static const JNINativeMethod kMethodsTestJni[] = { 57 { "nativeInit", 58"(" 59")" 60"I", reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeInit) }, 61}; 62 63static 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