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 6// This file is autogenerated by 7// base/android/jni_generator/jni_generator.py 8// For 9// org/chromium/example/jni_generator/SampleForTests 10 11#ifndef org_chromium_example_jni_generator_SampleForTests_JNI 12#define org_chromium_example_jni_generator_SampleForTests_JNI 13 14#include <jni.h> 15 16#include "base/android/jni_generator/jni_generator_helper.h" 17 18 19// Step 1: Forward declarations. 20 21JNI_REGISTRATION_EXPORT extern const char 22 kClassPath_org_chromium_example_jni_1generator_SampleForTests_00024MyOtherInnerClass[]; 23const char kClassPath_org_chromium_example_jni_1generator_SampleForTests_00024MyOtherInnerClass[] = 24 "org/chromium/example/jni_generator/SampleForTests$MyOtherInnerClass"; 25 26JNI_REGISTRATION_EXPORT extern const char 27 kClassPath_org_chromium_example_jni_1generator_SampleForTests_00024MyInnerClass[]; 28const char kClassPath_org_chromium_example_jni_1generator_SampleForTests_00024MyInnerClass[] = 29 "org/chromium/example/jni_generator/SampleForTests$MyInnerClass"; 30 31JNI_REGISTRATION_EXPORT extern const char 32 kClassPath_org_chromium_example_jni_1generator_SampleForTests[]; 33const char kClassPath_org_chromium_example_jni_1generator_SampleForTests[] = 34 "org/chromium/example/jni_generator/SampleForTests"; 35// Leaking this jclass as we cannot use LazyInstance from some threads. 36JNI_REGISTRATION_EXPORT base::subtle::AtomicWord 37 g_org_chromium_example_jni_1generator_SampleForTests_00024MyOtherInnerClass_clazz = 0; 38#ifndef org_chromium_example_jni_1generator_SampleForTests_00024MyOtherInnerClass_clazz_defined 39#define org_chromium_example_jni_1generator_SampleForTests_00024MyOtherInnerClass_clazz_defined 40inline jclass 41 org_chromium_example_jni_1generator_SampleForTests_00024MyOtherInnerClass_clazz(JNIEnv* env) { 42 return base::android::LazyGetClass(env, 43 kClassPath_org_chromium_example_jni_1generator_SampleForTests_00024MyOtherInnerClass, 44 &g_org_chromium_example_jni_1generator_SampleForTests_00024MyOtherInnerClass_clazz); 45} 46#endif 47// Leaking this jclass as we cannot use LazyInstance from some threads. 48JNI_REGISTRATION_EXPORT base::subtle::AtomicWord 49 g_org_chromium_example_jni_1generator_SampleForTests_00024MyInnerClass_clazz = 0; 50#ifndef org_chromium_example_jni_1generator_SampleForTests_00024MyInnerClass_clazz_defined 51#define org_chromium_example_jni_1generator_SampleForTests_00024MyInnerClass_clazz_defined 52inline jclass org_chromium_example_jni_1generator_SampleForTests_00024MyInnerClass_clazz(JNIEnv* 53 env) { 54 return base::android::LazyGetClass(env, 55 kClassPath_org_chromium_example_jni_1generator_SampleForTests_00024MyInnerClass, 56 &g_org_chromium_example_jni_1generator_SampleForTests_00024MyInnerClass_clazz); 57} 58#endif 59// Leaking this jclass as we cannot use LazyInstance from some threads. 60JNI_REGISTRATION_EXPORT base::subtle::AtomicWord 61 g_org_chromium_example_jni_1generator_SampleForTests_clazz = 0; 62#ifndef org_chromium_example_jni_1generator_SampleForTests_clazz_defined 63#define org_chromium_example_jni_1generator_SampleForTests_clazz_defined 64inline jclass org_chromium_example_jni_1generator_SampleForTests_clazz(JNIEnv* env) { 65 return base::android::LazyGetClass(env, 66 kClassPath_org_chromium_example_jni_1generator_SampleForTests, 67 &g_org_chromium_example_jni_1generator_SampleForTests_clazz); 68} 69#endif 70 71 72// Step 2: Constants (optional). 73 74 75// Step 3: Method stubs. 76JNI_GENERATOR_EXPORT jint 77 Java_org_chromium_example_jni_1generator_SampleForTests_nativeStaticMethod( 78 JNIEnv* env, 79 jobject jcaller, 80 jlong nativeTest, 81 jint arg1) { 82 Test* native = reinterpret_cast<Test*>(nativeTest); 83 CHECK_NATIVE_PTR(env, jcaller, native, "StaticMethod", 0); 84 return native->StaticMethod(env, base::android::JavaParamRef<jobject>(env, jcaller), arg1); 85} 86 87JNI_GENERATOR_EXPORT jint Java_org_chromium_example_jni_1generator_SampleForTests_nativeMethod( 88 JNIEnv* env, 89 jobject jcaller, 90 jlong nativeTest, 91 jint arg1) { 92 Test* native = reinterpret_cast<Test*>(nativeTest); 93 CHECK_NATIVE_PTR(env, jcaller, native, "Method", 0); 94 return native->Method(env, base::android::JavaParamRef<jobject>(env, jcaller), arg1); 95} 96 97static jint JNI_MyInnerClass_Init(JNIEnv* env, const base::android::JavaParamRef<jobject>& jcaller); 98 99JNI_GENERATOR_EXPORT jint 100 Java_org_chromium_example_jni_1generator_SampleForTests_00024MyInnerClass_nativeInit( 101 JNIEnv* env, 102 jobject jcaller) { 103 return JNI_MyInnerClass_Init(env, base::android::JavaParamRef<jobject>(env, jcaller)); 104} 105 106static jint JNI_MyOtherInnerClass_Init(JNIEnv* env, const base::android::JavaParamRef<jobject>& 107 jcaller); 108 109JNI_GENERATOR_EXPORT jint 110 Java_org_chromium_example_jni_1generator_SampleForTests_00024MyOtherInnerClass_nativeInit( 111 JNIEnv* env, 112 jobject jcaller) { 113 return JNI_MyOtherInnerClass_Init(env, base::android::JavaParamRef<jobject>(env, jcaller)); 114} 115 116 117static base::subtle::AtomicWord 118 g_org_chromium_example_jni_1generator_SampleForTests_testMethodWithParam = 0; 119static void Java_SampleForTests_testMethodWithParam(JNIEnv* env, const 120 base::android::JavaRef<jobject>& obj, JniIntWrapper iParam) { 121 CHECK_CLAZZ(env, obj.obj(), 122 org_chromium_example_jni_1generator_SampleForTests_clazz(env)); 123 jmethodID method_id = base::android::MethodID::LazyGet< 124 base::android::MethodID::TYPE_INSTANCE>( 125 env, org_chromium_example_jni_1generator_SampleForTests_clazz(env), 126 "testMethodWithParam", 127 "(I)V", 128 &g_org_chromium_example_jni_1generator_SampleForTests_testMethodWithParam); 129 130 env->CallVoidMethod(obj.obj(), 131 method_id, as_jint(iParam)); 132 jni_generator::CheckException(env); 133} 134 135static base::subtle::AtomicWord 136 g_org_chromium_example_jni_1generator_SampleForTests_testMethodWithParamAndReturn = 0; 137static base::android::ScopedJavaLocalRef<jstring> 138 Java_SampleForTests_testMethodWithParamAndReturn(JNIEnv* env, const 139 base::android::JavaRef<jobject>& obj, JniIntWrapper iParam) { 140 CHECK_CLAZZ(env, obj.obj(), 141 org_chromium_example_jni_1generator_SampleForTests_clazz(env), NULL); 142 jmethodID method_id = base::android::MethodID::LazyGet< 143 base::android::MethodID::TYPE_INSTANCE>( 144 env, org_chromium_example_jni_1generator_SampleForTests_clazz(env), 145 "testMethodWithParamAndReturn", 146 "(I)Ljava/lang/String;", 147 &g_org_chromium_example_jni_1generator_SampleForTests_testMethodWithParamAndReturn); 148 149 jstring ret = 150 static_cast<jstring>(env->CallObjectMethod(obj.obj(), 151 method_id, as_jint(iParam))); 152 jni_generator::CheckException(env); 153 return base::android::ScopedJavaLocalRef<jstring>(env, ret); 154} 155 156static base::subtle::AtomicWord 157 g_org_chromium_example_jni_1generator_SampleForTests_testStaticMethodWithParam = 0; 158static jint Java_SampleForTests_testStaticMethodWithParam(JNIEnv* env, JniIntWrapper iParam) { 159 CHECK_CLAZZ(env, org_chromium_example_jni_1generator_SampleForTests_clazz(env), 160 org_chromium_example_jni_1generator_SampleForTests_clazz(env), 0); 161 jmethodID method_id = base::android::MethodID::LazyGet< 162 base::android::MethodID::TYPE_STATIC>( 163 env, org_chromium_example_jni_1generator_SampleForTests_clazz(env), 164 "testStaticMethodWithParam", 165 "(I)I", 166 &g_org_chromium_example_jni_1generator_SampleForTests_testStaticMethodWithParam); 167 168 jint ret = 169 env->CallStaticIntMethod(org_chromium_example_jni_1generator_SampleForTests_clazz(env), 170 method_id, as_jint(iParam)); 171 jni_generator::CheckException(env); 172 return ret; 173} 174 175static base::subtle::AtomicWord 176 g_org_chromium_example_jni_1generator_SampleForTests_testMethodWithNoParam = 0; 177static jdouble Java_SampleForTests_testMethodWithNoParam(JNIEnv* env) { 178 CHECK_CLAZZ(env, org_chromium_example_jni_1generator_SampleForTests_clazz(env), 179 org_chromium_example_jni_1generator_SampleForTests_clazz(env), 0); 180 jmethodID method_id = base::android::MethodID::LazyGet< 181 base::android::MethodID::TYPE_STATIC>( 182 env, org_chromium_example_jni_1generator_SampleForTests_clazz(env), 183 "testMethodWithNoParam", 184 "()D", 185 &g_org_chromium_example_jni_1generator_SampleForTests_testMethodWithNoParam); 186 187 jdouble ret = 188 env->CallStaticDoubleMethod(org_chromium_example_jni_1generator_SampleForTests_clazz(env), 189 method_id); 190 jni_generator::CheckException(env); 191 return ret; 192} 193 194static base::subtle::AtomicWord 195 g_org_chromium_example_jni_1generator_SampleForTests_testStaticMethodWithNoParam = 0; 196static base::android::ScopedJavaLocalRef<jstring> 197 Java_SampleForTests_testStaticMethodWithNoParam(JNIEnv* env) { 198 CHECK_CLAZZ(env, org_chromium_example_jni_1generator_SampleForTests_clazz(env), 199 org_chromium_example_jni_1generator_SampleForTests_clazz(env), NULL); 200 jmethodID method_id = base::android::MethodID::LazyGet< 201 base::android::MethodID::TYPE_STATIC>( 202 env, org_chromium_example_jni_1generator_SampleForTests_clazz(env), 203 "testStaticMethodWithNoParam", 204 "()Ljava/lang/String;", 205 &g_org_chromium_example_jni_1generator_SampleForTests_testStaticMethodWithNoParam); 206 207 jstring ret = 208static_cast<jstring>(env->CallStaticObjectMethod(org_chromium_example_jni_1generator_SampleForTests_clazz(env), 209 method_id)); 210 jni_generator::CheckException(env); 211 return base::android::ScopedJavaLocalRef<jstring>(env, ret); 212} 213 214#endif // org_chromium_example_jni_generator_SampleForTests_JNI 215