Index: base/android/jni_generator/testNativeExportsOption.golden |
diff --git a/base/android/jni_generator/testNativeExportsOption.golden b/base/android/jni_generator/testNativeExportsOption.golden |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c2e505c65fde65a7a1d5e9f6984d95783433b017 |
--- /dev/null |
+++ b/base/android/jni_generator/testNativeExportsOption.golden |
@@ -0,0 +1,146 @@ |
+// Copyright (c) 2012 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/Test |
+ |
+#ifndef org_chromium_example_jni_generator_Test_JNI |
+#define org_chromium_example_jni_generator_Test_JNI |
+ |
+#include <jni.h> |
+ |
+#include "base/android/jni_generator/jni_generator_helper.h" |
+ |
+// Step 1: forward declarations. |
+namespace { |
+const char kTestClassPath[] = "org/chromium/example/jni_generator/Test"; |
+// Leaking this jclass as we cannot use LazyInstance from some threads. |
+jclass g_Test_clazz = NULL; |
+ |
+} // namespace |
+ |
+// Step 2: method stubs. |
+ |
+extern "C" { |
+static jint Method(JNIEnv* env, jobject jcaller, |
bulach
2014/04/14 13:16:02
shouldn't this method name start with Java_org_chr
ostap
2014/04/15 23:30:20
No, here it is as it defined in native code.
|
+ jlong nativeTest, |
+ jint arg1) { |
+ Test* native = reinterpret_cast<Test*>(nativeTest); |
+ CHECK_NATIVE_PTR(env, jcaller, native, "Method", 0); |
+ return native->Method(env, jcaller, arg1); |
+} |
+ |
+__attribute__((alias("Method"), visibility("default"))) |
+ jint Java_org_chromium_example_jni_1generator_Test_nativeMethod(JNIEnv* env, |
bulach
2014/04/14 13:16:02
what's up with "1"generator?
also: if I'm understa
ostap
2014/04/15 23:30:20
The class is org/chromium/example/jni_generator/Te
|
+ jobject jcaller, |
+ jlong nativeTest, |
+ jint arg1); |
+ |
+static base::subtle::AtomicWord g_Test_testMethodWithParam = 0; |
+static void Java_Test_testMethodWithParam(JNIEnv* env, jobject obj, jint iParam) |
+ { |
+ /* Must call RegisterNativesImpl() */ |
+ CHECK_CLAZZ(env, obj, |
+ g_Test_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_Test_clazz, |
+ "testMethodWithParam", |
+ |
+"(" |
+"I" |
+")" |
+"V", |
+ &g_Test_testMethodWithParam); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id, iParam); |
+ jni_generator::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_Test_testStaticMethodWithParam = 0; |
+static jint Java_Test_testStaticMethodWithParam(JNIEnv* env, jint iParam) { |
+ /* Must call RegisterNativesImpl() */ |
+ CHECK_CLAZZ(env, g_Test_clazz, |
+ g_Test_clazz, 0); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_STATIC>( |
+ env, g_Test_clazz, |
+ "testStaticMethodWithParam", |
+ |
+"(" |
+"I" |
+")" |
+"I", |
+ &g_Test_testStaticMethodWithParam); |
+ |
+ jint ret = |
+ env->CallStaticIntMethod(g_Test_clazz, |
+ method_id, iParam); |
+ jni_generator::CheckException(env); |
+ return ret; |
+} |
+ |
+static base::subtle::AtomicWord g_Test_testMethodWithNoParam = 0; |
+static jdouble Java_Test_testMethodWithNoParam(JNIEnv* env) { |
+ /* Must call RegisterNativesImpl() */ |
+ CHECK_CLAZZ(env, g_Test_clazz, |
+ g_Test_clazz, 0); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_STATIC>( |
+ env, g_Test_clazz, |
+ "testMethodWithNoParam", |
+ |
+"(" |
+")" |
+"D", |
+ &g_Test_testMethodWithNoParam); |
+ |
+ jdouble ret = |
+ env->CallStaticDoubleMethod(g_Test_clazz, |
+ method_id); |
+ jni_generator::CheckException(env); |
+ return ret; |
+} |
+ |
+static base::subtle::AtomicWord g_Test_testStaticMethodWithNoParam = 0; |
+static base::android::ScopedJavaLocalRef<jstring> |
+ Java_Test_testStaticMethodWithNoParam(JNIEnv* env) { |
+ /* Must call RegisterNativesImpl() */ |
+ CHECK_CLAZZ(env, g_Test_clazz, |
+ g_Test_clazz, NULL); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_STATIC>( |
+ env, g_Test_clazz, |
+ "testStaticMethodWithNoParam", |
+ |
+"(" |
+")" |
+"Ljava/lang/String;", |
+ &g_Test_testStaticMethodWithNoParam); |
+ |
+ jstring ret = |
+ static_cast<jstring>(env->CallStaticObjectMethod(g_Test_clazz, |
+ method_id)); |
+ jni_generator::CheckException(env); |
+ return base::android::ScopedJavaLocalRef<jstring>(env, ret); |
+} |
+}; |
+ |
+// Step 3: RegisterNatives. |
+ |
+static bool RegisterNativesImpl(JNIEnv* env, jclass clazz) { |
+ g_Test_clazz = static_cast<jclass>(env->NewWeakGlobalRef(clazz)); |
+ |
+ return true; |
+} |
+ |
+#endif // org_chromium_example_jni_generator_Test_JNI |