// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This file is autogenerated by // base/android/jni_generator/jni_generator.py // For // org/chromium/example/jni_generator/Example #ifndef org_chromium_example_jni_generator_Example_JNI #define org_chromium_example_jni_generator_Example_JNI #include #include "base/android/jni_generator/jni_generator_helper.h" #include "base/android/jni_int_wrapper.h" // Step 1: forward declarations. namespace { const char kExampleClassPath[] = "com/test/jni_generator/Example"; // Leaking this jclass as we cannot use LazyInstance from some threads. jclass g_Example_clazz = NULL; #define Example_clazz(env) g_Example_clazz } // namespace // Step 2: method stubs. static void Test(JNIEnv* env, const JavaParamRef& jcaller, const JavaParamRef& t); static void Java_com_test_jni_1generator_Example_nativeTest(JNIEnv* env, jclass jcaller, jobject t) { return Test(env, JavaParamRef(env, jcaller), JavaParamRef(env, t)); } static void Test2(JNIEnv* env, const JavaParamRef& jcaller, const JavaParamRef& t); static void Java_com_test_jni_1generator_Example_nativeTest2(JNIEnv* env, jclass jcaller, jobject t) { return Test2(env, JavaParamRef(env, jcaller), JavaParamRef(env, t)); } static void Test3(JNIEnv* env, const JavaParamRef& jcaller, const JavaParamRef& t); static void Java_com_test_jni_1generator_Example_nativeTest3(JNIEnv* env, jclass jcaller, jobject t) { return Test3(env, JavaParamRef(env, jcaller), JavaParamRef(env, t)); } static void Test4(JNIEnv* env, const JavaParamRef& jcaller, const JavaParamRef& t); static void Java_com_test_jni_1generator_Example_nativeTest4(JNIEnv* env, jclass jcaller, jobject t) { return Test4(env, JavaParamRef(env, jcaller), JavaParamRef(env, t)); } // Step 3: RegisterNatives. static const JNINativeMethod kMethodsExample[] = { { "nativeTest", "(" "Lorg/test2/Test;" ")" "V", reinterpret_cast(Java_com_test_jni_1generator_Example_nativeTest) }, { "nativeTest2", "(" "Lorg/chromium/example3/PrefixFoo;" ")" "V", reinterpret_cast(Java_com_test_jni_1generator_Example_nativeTest2) }, { "nativeTest3", "(" "Lorg/test3/Test;" ")" "V", reinterpret_cast(Java_com_test_jni_1generator_Example_nativeTest3) }, { "nativeTest4", "(" "Lorg/test3/TestBar$Inner;" ")" "V", reinterpret_cast(Java_com_test_jni_1generator_Example_nativeTest4) }, }; static bool RegisterNativesImpl(JNIEnv* env) { g_Example_clazz = reinterpret_cast(env->NewGlobalRef( base::android::GetClass(env, kExampleClassPath).obj())); const int kMethodsExampleSize = arraysize(kMethodsExample); if (env->RegisterNatives(Example_clazz(env), kMethodsExample, kMethodsExampleSize) < 0) { jni_generator::HandleRegistrationError( env, Example_clazz(env), __FILE__); return false; } return true; } #endif // org_chromium_example_jni_generator_Example_JNI