1// Copyright 2014 The Chromium Authors 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// third_party/jni_zero/jni_generator.py 8// For 9// org/jni_zero/samples/SampleBidirectionalNonProxy 10 11#ifndef org_jni_zero_samples_SampleBidirectionalNonProxy_JNI 12#define org_jni_zero_samples_SampleBidirectionalNonProxy_JNI 13 14#include <jni.h> 15 16#include "third_party/jni_zero/jni_export.h" 17#include "third_party/jni_zero/jni_zero_helper.h" 18 19 20// Step 1: Forward declarations. 21 22JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char 23 kClassPath_org_jni_1zero_samples_SampleBidirectionalNonProxy[]; 24const char kClassPath_org_jni_1zero_samples_SampleBidirectionalNonProxy[] = 25 "org/jni_zero/samples/SampleBidirectionalNonProxy"; 26// Leaking this jclass as we cannot use LazyInstance from some threads. 27JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> 28 g_org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(nullptr); 29#ifndef org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz_defined 30#define org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz_defined 31inline jclass org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(JNIEnv* env) { 32 return base::android::LazyGetClass(env, 33 kClassPath_org_jni_1zero_samples_SampleBidirectionalNonProxy, 34 &g_org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz); 35} 36#endif 37 38 39// Step 2: Constants (optional). 40 41 42// Step 3: Method stubs. 43static jint JNI_SampleBidirectionalNonProxy_Init(JNIEnv* env, const 44 base::android::JavaParamRef<jobject>& jcaller); 45 46JNI_BOUNDARY_EXPORT jint Java_org_jni_1zero_samples_SampleBidirectionalNonProxy_nativeInit( 47 JNIEnv* env, 48 jobject jcaller) { 49 return JNI_SampleBidirectionalNonProxy_Init(env, base::android::JavaParamRef<jobject>(env, 50 jcaller)); 51} 52 53static jint JNI_SampleBidirectionalNonProxy_Init(JNIEnv* env, const 54 base::android::JavaParamRef<jobject>& jcaller); 55 56JNI_BOUNDARY_EXPORT jint Java_org_jni_1zero_samples_SampleBidirectionalNonProxy_nativeInit( 57 JNIEnv* env, 58 jobject jcaller) { 59 return JNI_SampleBidirectionalNonProxy_Init(env, base::android::JavaParamRef<jobject>(env, 60 jcaller)); 61} 62 63JNI_BOUNDARY_EXPORT jint Java_org_jni_1zero_samples_SampleBidirectionalNonProxy_nativeMethod( 64 JNIEnv* env, 65 jobject jcaller, 66 jlong nativeTest, 67 jint arg1) { 68 Test* native = reinterpret_cast<Test*>(nativeTest); 69 CHECK_NATIVE_PTR(env, jcaller, native, "Method", 0); 70 return native->Method(env, base::android::JavaParamRef<jobject>(env, jcaller), arg1); 71} 72 73JNI_BOUNDARY_EXPORT jint Java_org_jni_1zero_samples_SampleBidirectionalNonProxy_nativeStaticMethod( 74 JNIEnv* env, 75 jclass jcaller, 76 jlong nativeTest, 77 jint arg1) { 78 Test* native = reinterpret_cast<Test*>(nativeTest); 79 CHECK_NATIVE_PTR(env, jcaller, native, "StaticMethod", 0); 80 return native->StaticMethod(env, arg1); 81} 82 83 84static std::atomic<jmethodID> 85 g_org_jni_1zero_samples_SampleBidirectionalNonProxy_addStructB2(nullptr); 86static void Java_SampleBidirectionalNonProxy_addStructB(JNIEnv* env, const 87 base::android::JavaRef<jobject>& obj, const base::android::JavaRef<jobject>& caller, 88 const base::android::JavaRef<jobject>& b) { 89 jclass clazz = org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env); 90 CHECK_CLAZZ(env, obj.obj(), 91 org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env)); 92 93 jni_generator::JniJavaCallContextChecked call_context; 94 call_context.Init< 95 base::android::MethodID::TYPE_INSTANCE>( 96 env, 97 clazz, 98 "addStructB", 99"(Lorg/jni_zero/samples/SampleForTests;Lorg/jni_zero/samples/SampleForTests$InnerStructB;)V", 100 &g_org_jni_1zero_samples_SampleBidirectionalNonProxy_addStructB2); 101 102 env->CallVoidMethod(obj.obj(), 103 call_context.base.method_id, caller.obj(), b.obj()); 104} 105 106static std::atomic<jmethodID> g_org_jni_1zero_samples_SampleBidirectionalNonProxy_setBool2(nullptr); 107static void Java_SampleBidirectionalNonProxy_setBool(JNIEnv* env, const 108 base::android::JavaRef<jobject>& obj, const base::android::JavaRef<jobject>& b, 109 const base::android::JavaRef<jobject>& i) { 110 jclass clazz = org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env); 111 CHECK_CLAZZ(env, obj.obj(), 112 org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env)); 113 114 jni_generator::JniJavaCallContextChecked call_context; 115 call_context.Init< 116 base::android::MethodID::TYPE_INSTANCE>( 117 env, 118 clazz, 119 "setBool", 120 "(Lorg/jni_zero/samples/Boolean;Ljava/lang/Integer;)V", 121 &g_org_jni_1zero_samples_SampleBidirectionalNonProxy_setBool2); 122 123 env->CallVoidMethod(obj.obj(), 124 call_context.base.method_id, b.obj(), i.obj()); 125} 126 127static std::atomic<jmethodID> 128 g_org_jni_1zero_samples_SampleBidirectionalNonProxy_setStringBuilder1(nullptr); 129static void Java_SampleBidirectionalNonProxy_setStringBuilder(JNIEnv* env, const 130 base::android::JavaRef<jobject>& obj, const base::android::JavaRef<jobject>& sb) { 131 jclass clazz = org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env); 132 CHECK_CLAZZ(env, obj.obj(), 133 org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env)); 134 135 jni_generator::JniJavaCallContextChecked call_context; 136 call_context.Init< 137 base::android::MethodID::TYPE_INSTANCE>( 138 env, 139 clazz, 140 "setStringBuilder", 141 "(Ljava/lang/StringBuilder;)V", 142 &g_org_jni_1zero_samples_SampleBidirectionalNonProxy_setStringBuilder1); 143 144 env->CallVoidMethod(obj.obj(), 145 call_context.base.method_id, sb.obj()); 146} 147 148static std::atomic<jmethodID> 149 g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testMethodWithNoParam0(nullptr); 150static jdouble Java_SampleBidirectionalNonProxy_testMethodWithNoParam(JNIEnv* env) { 151 jclass clazz = org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env); 152 CHECK_CLAZZ(env, clazz, 153 org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env), 0); 154 155 jni_generator::JniJavaCallContextChecked call_context; 156 call_context.Init< 157 base::android::MethodID::TYPE_STATIC>( 158 env, 159 clazz, 160 "testMethodWithNoParam", 161 "()D", 162 &g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testMethodWithNoParam0); 163 164 jdouble ret = 165 env->CallStaticDoubleMethod(clazz, 166 call_context.base.method_id); 167 return ret; 168} 169 170static std::atomic<jmethodID> 171 g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testMethodWithParam1(nullptr); 172static void Java_SampleBidirectionalNonProxy_testMethodWithParam(JNIEnv* env, const 173 base::android::JavaRef<jobject>& obj, JniIntWrapper iParam) { 174 jclass clazz = org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env); 175 CHECK_CLAZZ(env, obj.obj(), 176 org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env)); 177 178 jni_generator::JniJavaCallContextChecked call_context; 179 call_context.Init< 180 base::android::MethodID::TYPE_INSTANCE>( 181 env, 182 clazz, 183 "testMethodWithParam", 184 "(I)V", 185 &g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testMethodWithParam1); 186 187 env->CallVoidMethod(obj.obj(), 188 call_context.base.method_id, as_jint(iParam)); 189} 190 191static std::atomic<jmethodID> 192 g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testMethodWithParamAndReturn1(nullptr); 193static base::android::ScopedJavaLocalRef<jstring> 194 Java_SampleBidirectionalNonProxy_testMethodWithParamAndReturn(JNIEnv* env, const 195 base::android::JavaRef<jobject>& obj, JniIntWrapper iParam) { 196 jclass clazz = org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env); 197 CHECK_CLAZZ(env, obj.obj(), 198 org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env), nullptr); 199 200 jni_generator::JniJavaCallContextChecked call_context; 201 call_context.Init< 202 base::android::MethodID::TYPE_INSTANCE>( 203 env, 204 clazz, 205 "testMethodWithParamAndReturn", 206 "(I)Ljava/lang/String;", 207 &g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testMethodWithParamAndReturn1); 208 209 jstring ret = 210 static_cast<jstring>(env->CallObjectMethod(obj.obj(), 211 call_context.base.method_id, as_jint(iParam))); 212 return base::android::ScopedJavaLocalRef<jstring>(env, ret); 213} 214 215static std::atomic<jmethodID> 216 g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testStaticMethodWithNoParam0(nullptr); 217static base::android::ScopedJavaLocalRef<jstring> 218 Java_SampleBidirectionalNonProxy_testStaticMethodWithNoParam(JNIEnv* env) { 219 jclass clazz = org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env); 220 CHECK_CLAZZ(env, clazz, 221 org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env), nullptr); 222 223 jni_generator::JniJavaCallContextChecked call_context; 224 call_context.Init< 225 base::android::MethodID::TYPE_STATIC>( 226 env, 227 clazz, 228 "testStaticMethodWithNoParam", 229 "()Ljava/lang/String;", 230 &g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testStaticMethodWithNoParam0); 231 232 jstring ret = 233 static_cast<jstring>(env->CallStaticObjectMethod(clazz, 234 call_context.base.method_id)); 235 return base::android::ScopedJavaLocalRef<jstring>(env, ret); 236} 237 238static std::atomic<jmethodID> 239 g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testStaticMethodWithParam1(nullptr); 240static jint Java_SampleBidirectionalNonProxy_testStaticMethodWithParam(JNIEnv* env, JniIntWrapper 241 iParam) { 242 jclass clazz = org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env); 243 CHECK_CLAZZ(env, clazz, 244 org_jni_1zero_samples_SampleBidirectionalNonProxy_clazz(env), 0); 245 246 jni_generator::JniJavaCallContextChecked call_context; 247 call_context.Init< 248 base::android::MethodID::TYPE_STATIC>( 249 env, 250 clazz, 251 "testStaticMethodWithParam", 252 "(I)I", 253 &g_org_jni_1zero_samples_SampleBidirectionalNonProxy_testStaticMethodWithParam1); 254 255 jint ret = 256 env->CallStaticIntMethod(clazz, 257 call_context.base.method_id, as_jint(iParam)); 258 return ret; 259} 260 261#endif // org_jni_zero_samples_SampleBidirectionalNonProxy_JNI 262