| OLD | NEW |
| (Empty) |
| 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/example/jni_generator/SampleForTests | |
| 9 | |
| 10 #ifndef org_chromium_example_jni_generator_SampleForTests_JNI | |
| 11 #define org_chromium_example_jni_generator_SampleForTests_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. | |
| 20 namespace { | |
| 21 const char kInnerStructAClassPath[] = | |
| 22 "org/chromium/example/jni_generator/SampleForTests$InnerStructA"; | |
| 23 const char kInnerClassClassPath[] = | |
| 24 "org/chromium/example/jni_generator/SampleForTests$InnerClass"; | |
| 25 const char kSampleForTestsClassPath[] = | |
| 26 "org/chromium/example/jni_generator/SampleForTests"; | |
| 27 const char kInnerStructBClassPath[] = | |
| 28 "org/chromium/example/jni_generator/SampleForTests$InnerStructB"; | |
| 29 // Leaking this jclass as we cannot use LazyInstance from some threads. | |
| 30 base::subtle::AtomicWord g_InnerStructA_clazz __attribute__((unused)) = 0; | |
| 31 #define InnerStructA_clazz(env) base::android::LazyGetClass(env, kInnerStructACl
assPath, &g_InnerStructA_clazz) | |
| 32 // Leaking this jclass as we cannot use LazyInstance from some threads. | |
| 33 base::subtle::AtomicWord g_InnerClass_clazz __attribute__((unused)) = 0; | |
| 34 #define InnerClass_clazz(env) base::android::LazyGetClass(env, kInnerClassClassP
ath, &g_InnerClass_clazz) | |
| 35 // Leaking this jclass as we cannot use LazyInstance from some threads. | |
| 36 base::subtle::AtomicWord g_SampleForTests_clazz __attribute__((unused)) = 0; | |
| 37 #define SampleForTests_clazz(env) base::android::LazyGetClass(env, kSampleForTes
tsClassPath, &g_SampleForTests_clazz) | |
| 38 // Leaking this jclass as we cannot use LazyInstance from some threads. | |
| 39 base::subtle::AtomicWord g_InnerStructB_clazz __attribute__((unused)) = 0; | |
| 40 #define InnerStructB_clazz(env) base::android::LazyGetClass(env, kInnerStructBCl
assPath, &g_InnerStructB_clazz) | |
| 41 | |
| 42 } // namespace | |
| 43 | |
| 44 namespace base { | |
| 45 namespace android { | |
| 46 | |
| 47 // Step 2: method stubs. | |
| 48 | |
| 49 static jlong Init(JNIEnv* env, const base::android::JavaParamRef<jobject>& | |
| 50 jcaller, | |
| 51 const base::android::JavaParamRef<jstring>& param); | |
| 52 | |
| 53 extern "C" __attribute__((visibility("default"))) | |
| 54 jlong Java_org_chromium_example_jni_1generator_SampleForTests_nativeInit(JNIEnv* | |
| 55 env, jobject jcaller, | |
| 56 jstring param) { | |
| 57 return Init(env, base::android::JavaParamRef<jobject>(env, jcaller), | |
| 58 base::android::JavaParamRef<jstring>(env, param)); | |
| 59 } | |
| 60 | |
| 61 extern "C" __attribute__((visibility("default"))) | |
| 62 void | |
| 63 Java_org_chromium_example_jni_1generator_SampleForTests_nativeDestroy(JNIEnv
* | |
| 64 env, | |
| 65 jobject jcaller, | |
| 66 jlong nativeCPPClass) { | |
| 67 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | |
| 68 CHECK_NATIVE_PTR(env, jcaller, native, "Destroy"); | |
| 69 return native->Destroy(env, base::android::JavaParamRef<jobject>(env, | |
| 70 jcaller)); | |
| 71 } | |
| 72 | |
| 73 static jdouble GetDoubleFunction(JNIEnv* env, const | |
| 74 base::android::JavaParamRef<jobject>& jcaller); | |
| 75 | |
| 76 extern "C" __attribute__((visibility("default"))) | |
| 77 jdouble | |
| 78 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetDoubleFunct
ion(JNIEnv* | |
| 79 env, jobject jcaller) { | |
| 80 return GetDoubleFunction(env, base::android::JavaParamRef<jobject>(env, | |
| 81 jcaller)); | |
| 82 } | |
| 83 | |
| 84 static jfloat GetFloatFunction(JNIEnv* env, const | |
| 85 base::android::JavaParamRef<jclass>& jcaller); | |
| 86 | |
| 87 extern "C" __attribute__((visibility("default"))) | |
| 88 jfloat | |
| 89 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetFloatFuncti
on(JNIEnv* | |
| 90 env, jclass jcaller) { | |
| 91 return GetFloatFunction(env, base::android::JavaParamRef<jclass>(env, | |
| 92 jcaller)); | |
| 93 } | |
| 94 | |
| 95 static void SetNonPODDatatype(JNIEnv* env, const | |
| 96 base::android::JavaParamRef<jobject>& jcaller, | |
| 97 const base::android::JavaParamRef<jobject>& rect); | |
| 98 | |
| 99 extern "C" __attribute__((visibility("default"))) | |
| 100 void | |
| 101 Java_org_chromium_example_jni_1generator_SampleForTests_nativeSetNonPODDatat
ype(JNIEnv* | |
| 102 env, jobject jcaller, | |
| 103 jobject rect) { | |
| 104 return SetNonPODDatatype(env, base::android::JavaParamRef<jobject>(env, | |
| 105 jcaller), base::android::JavaParamRef<jobject>(env, rect)); | |
| 106 } | |
| 107 | |
| 108 static base::android::ScopedJavaLocalRef<jobject> GetNonPODDatatype(JNIEnv* env, | |
| 109 const base::android::JavaParamRef<jobject>& jcaller); | |
| 110 | |
| 111 extern "C" __attribute__((visibility("default"))) | |
| 112 jobject | |
| 113 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetNonPODDatat
ype(JNIEnv* | |
| 114 env, jobject jcaller) { | |
| 115 return GetNonPODDatatype(env, base::android::JavaParamRef<jobject>(env, | |
| 116 jcaller)).Release(); | |
| 117 } | |
| 118 | |
| 119 extern "C" __attribute__((visibility("default"))) | |
| 120 jint | |
| 121 Java_org_chromium_example_jni_1generator_SampleForTests_nativeMethod(JNIEnv* | |
| 122 env, | |
| 123 jobject jcaller, | |
| 124 jlong nativeCPPClass) { | |
| 125 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | |
| 126 CHECK_NATIVE_PTR(env, jcaller, native, "Method", 0); | |
| 127 return native->Method(env, base::android::JavaParamRef<jobject>(env, | |
| 128 jcaller)); | |
| 129 } | |
| 130 | |
| 131 extern "C" __attribute__((visibility("default"))) | |
| 132 jdouble | |
| 133 Java_org_chromium_example_jni_1generator_SampleForTests_nativeMethodOtherP0(
JNIEnv* | |
| 134 env, | |
| 135 jobject jcaller, | |
| 136 jlong nativePtr) { | |
| 137 CPPClass::InnerClass* native = | |
| 138 reinterpret_cast<CPPClass::InnerClass*>(nativePtr); | |
| 139 CHECK_NATIVE_PTR(env, jcaller, native, "MethodOtherP0", 0); | |
| 140 return native->MethodOtherP0(env, base::android::JavaParamRef<jobject>(env, | |
| 141 jcaller)); | |
| 142 } | |
| 143 | |
| 144 extern "C" __attribute__((visibility("default"))) | |
| 145 void | |
| 146 Java_org_chromium_example_jni_1generator_SampleForTests_nativeAddStructB(JNI
Env* | |
| 147 env, | |
| 148 jobject jcaller, | |
| 149 jlong nativeCPPClass, | |
| 150 jobject b) { | |
| 151 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | |
| 152 CHECK_NATIVE_PTR(env, jcaller, native, "AddStructB"); | |
| 153 return native->AddStructB(env, base::android::JavaParamRef<jobject>(env, | |
| 154 jcaller), base::android::JavaParamRef<jobject>(env, b)); | |
| 155 } | |
| 156 | |
| 157 extern "C" __attribute__((visibility("default"))) | |
| 158 void | |
| 159 Java_org_chromium_example_jni_1generator_SampleForTests_nativeIterateAndDoSo
methingWithStructB(JNIEnv* | |
| 160 env, | |
| 161 jobject jcaller, | |
| 162 jlong nativeCPPClass) { | |
| 163 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | |
| 164 CHECK_NATIVE_PTR(env, jcaller, native, "IterateAndDoSomethingWithStructB"); | |
| 165 return native->IterateAndDoSomethingWithStructB(env, | |
| 166 base::android::JavaParamRef<jobject>(env, jcaller)); | |
| 167 } | |
| 168 | |
| 169 extern "C" __attribute__((visibility("default"))) | |
| 170 jstring | |
| 171 Java_org_chromium_example_jni_1generator_SampleForTests_nativeReturnAString(
JNIEnv* | |
| 172 env, | |
| 173 jobject jcaller, | |
| 174 jlong nativeCPPClass) { | |
| 175 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | |
| 176 CHECK_NATIVE_PTR(env, jcaller, native, "ReturnAString", NULL); | |
| 177 return native->ReturnAString(env, base::android::JavaParamRef<jobject>(env, | |
| 178 jcaller)).Release(); | |
| 179 } | |
| 180 | |
| 181 static jint GetInnerIntFunction(JNIEnv* env, const | |
| 182 base::android::JavaParamRef<jclass>& jcaller); | |
| 183 | |
| 184 extern "C" __attribute__((visibility("default"))) | |
| 185 jint | |
| 186 Java_org_chromium_example_jni_1generator_SampleForTests_00024InnerClass_nati
veGetInnerIntFunction(JNIEnv* | |
| 187 env, jclass jcaller) { | |
| 188 return GetInnerIntFunction(env, base::android::JavaParamRef<jclass>(env, | |
| 189 jcaller)); | |
| 190 } | |
| 191 | |
| 192 static base::subtle::AtomicWord g_SampleForTests_javaMethod = 0; | |
| 193 static jint Java_SampleForTests_javaMethod(JNIEnv* env, const | |
| 194 base::android::JavaRefOrBare<jobject>& obj, JniIntWrapper foo, | |
| 195 JniIntWrapper bar) { | |
| 196 CHECK_CLAZZ(env, obj.obj(), | |
| 197 SampleForTests_clazz(env), 0); | |
| 198 jmethodID method_id = | |
| 199 base::android::MethodID::LazyGet< | |
| 200 base::android::MethodID::TYPE_INSTANCE>( | |
| 201 env, SampleForTests_clazz(env), | |
| 202 "javaMethod", | |
| 203 | |
| 204 "(" | |
| 205 "I" | |
| 206 "I" | |
| 207 ")" | |
| 208 "I", | |
| 209 &g_SampleForTests_javaMethod); | |
| 210 | |
| 211 jint ret = | |
| 212 env->CallIntMethod(obj.obj(), | |
| 213 method_id, as_jint(foo), as_jint(bar)); | |
| 214 jni_generator::CheckException(env); | |
| 215 return ret; | |
| 216 } | |
| 217 | |
| 218 static base::subtle::AtomicWord g_SampleForTests_staticJavaMethod = 0; | |
| 219 static jboolean Java_SampleForTests_staticJavaMethod(JNIEnv* env) { | |
| 220 CHECK_CLAZZ(env, SampleForTests_clazz(env), | |
| 221 SampleForTests_clazz(env), false); | |
| 222 jmethodID method_id = | |
| 223 base::android::MethodID::LazyGet< | |
| 224 base::android::MethodID::TYPE_STATIC>( | |
| 225 env, SampleForTests_clazz(env), | |
| 226 "staticJavaMethod", | |
| 227 | |
| 228 "(" | |
| 229 ")" | |
| 230 "Z", | |
| 231 &g_SampleForTests_staticJavaMethod); | |
| 232 | |
| 233 jboolean ret = | |
| 234 env->CallStaticBooleanMethod(SampleForTests_clazz(env), | |
| 235 method_id); | |
| 236 jni_generator::CheckException(env); | |
| 237 return ret; | |
| 238 } | |
| 239 | |
| 240 static base::subtle::AtomicWord g_SampleForTests_packagePrivateJavaMethod = 0; | |
| 241 static void Java_SampleForTests_packagePrivateJavaMethod(JNIEnv* env, const | |
| 242 base::android::JavaRefOrBare<jobject>& obj) { | |
| 243 CHECK_CLAZZ(env, obj.obj(), | |
| 244 SampleForTests_clazz(env)); | |
| 245 jmethodID method_id = | |
| 246 base::android::MethodID::LazyGet< | |
| 247 base::android::MethodID::TYPE_INSTANCE>( | |
| 248 env, SampleForTests_clazz(env), | |
| 249 "packagePrivateJavaMethod", | |
| 250 | |
| 251 "(" | |
| 252 ")" | |
| 253 "V", | |
| 254 &g_SampleForTests_packagePrivateJavaMethod); | |
| 255 | |
| 256 env->CallVoidMethod(obj.obj(), | |
| 257 method_id); | |
| 258 jni_generator::CheckException(env); | |
| 259 | |
| 260 } | |
| 261 | |
| 262 static base::subtle::AtomicWord g_SampleForTests_methodThatThrowsException = 0; | |
| 263 static void Java_SampleForTests_methodThatThrowsException(JNIEnv* env, const | |
| 264 base::android::JavaRefOrBare<jobject>& obj) { | |
| 265 CHECK_CLAZZ(env, obj.obj(), | |
| 266 SampleForTests_clazz(env)); | |
| 267 jmethodID method_id = | |
| 268 base::android::MethodID::LazyGet< | |
| 269 base::android::MethodID::TYPE_INSTANCE>( | |
| 270 env, SampleForTests_clazz(env), | |
| 271 "methodThatThrowsException", | |
| 272 | |
| 273 "(" | |
| 274 ")" | |
| 275 "V", | |
| 276 &g_SampleForTests_methodThatThrowsException); | |
| 277 | |
| 278 env->CallVoidMethod(obj.obj(), | |
| 279 method_id); | |
| 280 | |
| 281 } | |
| 282 | |
| 283 static base::subtle::AtomicWord g_SampleForTests_javaMethodWithAnnotatedParam = | |
| 284 0; | |
| 285 static void Java_SampleForTests_javaMethodWithAnnotatedParam(JNIEnv* env, const | |
| 286 base::android::JavaRefOrBare<jobject>& obj, JniIntWrapper foo) { | |
| 287 CHECK_CLAZZ(env, obj.obj(), | |
| 288 SampleForTests_clazz(env)); | |
| 289 jmethodID method_id = | |
| 290 base::android::MethodID::LazyGet< | |
| 291 base::android::MethodID::TYPE_INSTANCE>( | |
| 292 env, SampleForTests_clazz(env), | |
| 293 "javaMethodWithAnnotatedParam", | |
| 294 | |
| 295 "(" | |
| 296 "I" | |
| 297 ")" | |
| 298 "V", | |
| 299 &g_SampleForTests_javaMethodWithAnnotatedParam); | |
| 300 | |
| 301 env->CallVoidMethod(obj.obj(), | |
| 302 method_id, as_jint(foo)); | |
| 303 jni_generator::CheckException(env); | |
| 304 | |
| 305 } | |
| 306 | |
| 307 static base::subtle::AtomicWord g_InnerStructA_create = 0; | |
| 308 static base::android::ScopedJavaLocalRef<jobject> | |
| 309 Java_InnerStructA_create(JNIEnv* env, jlong l, | |
| 310 JniIntWrapper i, | |
| 311 const base::android::JavaRefOrBare<jstring>& s) { | |
| 312 CHECK_CLAZZ(env, InnerStructA_clazz(env), | |
| 313 InnerStructA_clazz(env), NULL); | |
| 314 jmethodID method_id = | |
| 315 base::android::MethodID::LazyGet< | |
| 316 base::android::MethodID::TYPE_STATIC>( | |
| 317 env, InnerStructA_clazz(env), | |
| 318 "create", | |
| 319 | |
| 320 "(" | |
| 321 "J" | |
| 322 "I" | |
| 323 "Ljava/lang/String;" | |
| 324 ")" | |
| 325 "Lorg/chromium/example/jni_generator/SampleForTests$InnerStructA;", | |
| 326 &g_InnerStructA_create); | |
| 327 | |
| 328 jobject ret = | |
| 329 env->CallStaticObjectMethod(InnerStructA_clazz(env), | |
| 330 method_id, l, as_jint(i), s.obj()); | |
| 331 jni_generator::CheckException(env); | |
| 332 return base::android::ScopedJavaLocalRef<jobject>(env, ret); | |
| 333 } | |
| 334 | |
| 335 static base::subtle::AtomicWord g_SampleForTests_addStructA = 0; | |
| 336 static void Java_SampleForTests_addStructA(JNIEnv* env, const | |
| 337 base::android::JavaRefOrBare<jobject>& obj, const | |
| 338 base::android::JavaRefOrBare<jobject>& a) { | |
| 339 CHECK_CLAZZ(env, obj.obj(), | |
| 340 SampleForTests_clazz(env)); | |
| 341 jmethodID method_id = | |
| 342 base::android::MethodID::LazyGet< | |
| 343 base::android::MethodID::TYPE_INSTANCE>( | |
| 344 env, SampleForTests_clazz(env), | |
| 345 "addStructA", | |
| 346 | |
| 347 "(" | |
| 348 "Lorg/chromium/example/jni_generator/SampleForTests$InnerStructA;" | |
| 349 ")" | |
| 350 "V", | |
| 351 &g_SampleForTests_addStructA); | |
| 352 | |
| 353 env->CallVoidMethod(obj.obj(), | |
| 354 method_id, a.obj()); | |
| 355 jni_generator::CheckException(env); | |
| 356 | |
| 357 } | |
| 358 | |
| 359 static base::subtle::AtomicWord g_SampleForTests_iterateAndDoSomething = 0; | |
| 360 static void Java_SampleForTests_iterateAndDoSomething(JNIEnv* env, const | |
| 361 base::android::JavaRefOrBare<jobject>& obj) { | |
| 362 CHECK_CLAZZ(env, obj.obj(), | |
| 363 SampleForTests_clazz(env)); | |
| 364 jmethodID method_id = | |
| 365 base::android::MethodID::LazyGet< | |
| 366 base::android::MethodID::TYPE_INSTANCE>( | |
| 367 env, SampleForTests_clazz(env), | |
| 368 "iterateAndDoSomething", | |
| 369 | |
| 370 "(" | |
| 371 ")" | |
| 372 "V", | |
| 373 &g_SampleForTests_iterateAndDoSomething); | |
| 374 | |
| 375 env->CallVoidMethod(obj.obj(), | |
| 376 method_id); | |
| 377 jni_generator::CheckException(env); | |
| 378 | |
| 379 } | |
| 380 | |
| 381 static base::subtle::AtomicWord g_InnerStructB_getKey = 0; | |
| 382 static jlong Java_InnerStructB_getKey(JNIEnv* env, const | |
| 383 base::android::JavaRefOrBare<jobject>& obj) { | |
| 384 CHECK_CLAZZ(env, obj.obj(), | |
| 385 InnerStructB_clazz(env), 0); | |
| 386 jmethodID method_id = | |
| 387 base::android::MethodID::LazyGet< | |
| 388 base::android::MethodID::TYPE_INSTANCE>( | |
| 389 env, InnerStructB_clazz(env), | |
| 390 "getKey", | |
| 391 | |
| 392 "(" | |
| 393 ")" | |
| 394 "J", | |
| 395 &g_InnerStructB_getKey); | |
| 396 | |
| 397 jlong ret = | |
| 398 env->CallLongMethod(obj.obj(), | |
| 399 method_id); | |
| 400 jni_generator::CheckException(env); | |
| 401 return ret; | |
| 402 } | |
| 403 | |
| 404 static base::subtle::AtomicWord g_InnerStructB_getValue = 0; | |
| 405 static base::android::ScopedJavaLocalRef<jstring> | |
| 406 Java_InnerStructB_getValue(JNIEnv* env, const | |
| 407 base::android::JavaRefOrBare<jobject>& obj) { | |
| 408 CHECK_CLAZZ(env, obj.obj(), | |
| 409 InnerStructB_clazz(env), NULL); | |
| 410 jmethodID method_id = | |
| 411 base::android::MethodID::LazyGet< | |
| 412 base::android::MethodID::TYPE_INSTANCE>( | |
| 413 env, InnerStructB_clazz(env), | |
| 414 "getValue", | |
| 415 | |
| 416 "(" | |
| 417 ")" | |
| 418 "Ljava/lang/String;", | |
| 419 &g_InnerStructB_getValue); | |
| 420 | |
| 421 jstring ret = | |
| 422 static_cast<jstring>(env->CallObjectMethod(obj.obj(), | |
| 423 method_id)); | |
| 424 jni_generator::CheckException(env); | |
| 425 return base::android::ScopedJavaLocalRef<jstring>(env, ret); | |
| 426 } | |
| 427 | |
| 428 // Step 3: RegisterNatives. | |
| 429 | |
| 430 static const JNINativeMethod kMethodsInnerClass[] = { | |
| 431 { "nativeGetInnerIntFunction", | |
| 432 "(" | |
| 433 ")" | |
| 434 "I", | |
| 435 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_00024InnerClass_nativeGetInnerIntFunction) | |
| 436 }, | |
| 437 }; | |
| 438 | |
| 439 static const JNINativeMethod kMethodsSampleForTests[] = { | |
| 440 { "nativeInit", | |
| 441 "(" | |
| 442 "Ljava/lang/String;" | |
| 443 ")" | |
| 444 "J", | |
| 445 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeInit) | |
| 446 }, | |
| 447 { "nativeDestroy", | |
| 448 "(" | |
| 449 "J" | |
| 450 ")" | |
| 451 "V", | |
| 452 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeDestroy) | |
| 453 }, | |
| 454 { "nativeGetDoubleFunction", | |
| 455 "(" | |
| 456 ")" | |
| 457 "D", | |
| 458 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeGetDoubleFunction) | |
| 459 }, | |
| 460 { "nativeGetFloatFunction", | |
| 461 "(" | |
| 462 ")" | |
| 463 "F", | |
| 464 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeGetFloatFunction) | |
| 465 }, | |
| 466 { "nativeSetNonPODDatatype", | |
| 467 "(" | |
| 468 "Landroid/graphics/Rect;" | |
| 469 ")" | |
| 470 "V", | |
| 471 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeSetNonPODDatatype) | |
| 472 }, | |
| 473 { "nativeGetNonPODDatatype", | |
| 474 "(" | |
| 475 ")" | |
| 476 "Ljava/lang/Object;", | |
| 477 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeGetNonPODDatatype) | |
| 478 }, | |
| 479 { "nativeMethod", | |
| 480 "(" | |
| 481 "J" | |
| 482 ")" | |
| 483 "I", | |
| 484 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeMethod) | |
| 485 }, | |
| 486 { "nativeMethodOtherP0", | |
| 487 "(" | |
| 488 "J" | |
| 489 ")" | |
| 490 "D", | |
| 491 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeMethodOtherP0) | |
| 492 }, | |
| 493 { "nativeAddStructB", | |
| 494 "(" | |
| 495 "J" | |
| 496 "Lorg/chromium/example/jni_generator/SampleForTests$InnerStructB;" | |
| 497 ")" | |
| 498 "V", | |
| 499 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeAddStructB) | |
| 500 }, | |
| 501 { "nativeIterateAndDoSomethingWithStructB", | |
| 502 "(" | |
| 503 "J" | |
| 504 ")" | |
| 505 "V", | |
| 506 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeIterateAndDoSomethingWithStructB) | |
| 507 }, | |
| 508 { "nativeReturnAString", | |
| 509 "(" | |
| 510 "J" | |
| 511 ")" | |
| 512 "Ljava/lang/String;", | |
| 513 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeReturnAString) | |
| 514 }, | |
| 515 }; | |
| 516 | |
| 517 static bool RegisterNativesImpl(JNIEnv* env) { | |
| 518 if (base::android::IsManualJniRegistrationDisabled()) return true; | |
| 519 | |
| 520 const int kMethodsInnerClassSize = arraysize(kMethodsInnerClass); | |
| 521 | |
| 522 if (env->RegisterNatives(InnerClass_clazz(env), | |
| 523 kMethodsInnerClass, | |
| 524 kMethodsInnerClassSize) < 0) { | |
| 525 jni_generator::HandleRegistrationError( | |
| 526 env, InnerClass_clazz(env), __FILE__); | |
| 527 return false; | |
| 528 } | |
| 529 | |
| 530 const int kMethodsSampleForTestsSize = arraysize(kMethodsSampleForTests); | |
| 531 | |
| 532 if (env->RegisterNatives(SampleForTests_clazz(env), | |
| 533 kMethodsSampleForTests, | |
| 534 kMethodsSampleForTestsSize) < 0) { | |
| 535 jni_generator::HandleRegistrationError( | |
| 536 env, SampleForTests_clazz(env), __FILE__); | |
| 537 return false; | |
| 538 } | |
| 539 | |
| 540 return true; | |
| 541 } | |
| 542 | |
| 543 } // namespace android | |
| 544 } // namespace base | |
| 545 | |
| 546 #endif // org_chromium_example_jni_generator_SampleForTests_JNI | |
| OLD | NEW |