OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file is autogenerated by | 5 // This file is autogenerated by |
6 // base/android/jni_generator/jni_generator.py | 6 // base/android/jni_generator/jni_generator.py |
7 // For | 7 // For |
8 // org/chromium/example/jni_generator/SampleForTests | 8 // org/chromium/example/jni_generator/SampleForTests |
9 | 9 |
10 #ifndef org_chromium_example_jni_generator_SampleForTests_JNI | 10 #ifndef org_chromium_example_jni_generator_SampleForTests_JNI |
(...skipping 21 matching lines...) Expand all Loading... |
32 #define SampleForTests_clazz(env) g_SampleForTests_clazz | 32 #define SampleForTests_clazz(env) g_SampleForTests_clazz |
33 // Leaking this jclass as we cannot use LazyInstance from some threads. | 33 // Leaking this jclass as we cannot use LazyInstance from some threads. |
34 jclass g_InnerStructB_clazz = NULL; | 34 jclass g_InnerStructB_clazz = NULL; |
35 #define InnerStructB_clazz(env) g_InnerStructB_clazz | 35 #define InnerStructB_clazz(env) g_InnerStructB_clazz |
36 | 36 |
37 } // namespace | 37 } // namespace |
38 | 38 |
39 namespace base { | 39 namespace base { |
40 namespace android { | 40 namespace android { |
41 | 41 |
| 42 // Step 2: method stubs. |
| 43 |
42 static jlong Init(JNIEnv* env, jobject jcaller, | 44 static jlong Init(JNIEnv* env, jobject jcaller, |
43 jstring param); | 45 jstring param); |
44 | 46 |
45 static jdouble GetDoubleFunction(JNIEnv* env, jobject jcaller); | 47 static jlong |
| 48 Java_org_chromium_example_jni_1generator_SampleForTests_nativeInit(JNIEnv* |
| 49 env, jobject jcaller, |
| 50 jstring param) { |
| 51 return Init(env, jcaller, param); |
| 52 } |
46 | 53 |
47 static jfloat GetFloatFunction(JNIEnv* env, jclass jcaller); | 54 static void |
48 | 55 Java_org_chromium_example_jni_1generator_SampleForTests_nativeDestroy(JNIEnv
* |
49 static void SetNonPODDatatype(JNIEnv* env, jobject jcaller, | 56 env, |
50 jobject rect); | 57 jobject jcaller, |
51 | |
52 static jobject GetNonPODDatatype(JNIEnv* env, jobject jcaller); | |
53 | |
54 // Step 2: method stubs. | |
55 static void Destroy(JNIEnv* env, jobject jcaller, | |
56 jlong nativeCPPClass) { | 58 jlong nativeCPPClass) { |
57 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | 59 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); |
58 CHECK_NATIVE_PTR(env, jcaller, native, "Destroy"); | 60 CHECK_NATIVE_PTR(env, jcaller, native, "Destroy"); |
59 return native->Destroy(env, jcaller); | 61 return native->Destroy(env, jcaller); |
60 } | 62 } |
61 | 63 |
62 static jint Method(JNIEnv* env, jobject jcaller, | 64 static jdouble GetDoubleFunction(JNIEnv* env, jobject jcaller); |
| 65 |
| 66 static jdouble |
| 67 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetDoubleFunct
ion(JNIEnv* |
| 68 env, jobject jcaller) { |
| 69 return GetDoubleFunction(env, jcaller); |
| 70 } |
| 71 |
| 72 static jfloat GetFloatFunction(JNIEnv* env, jclass jcaller); |
| 73 |
| 74 static jfloat |
| 75 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetFloatFuncti
on(JNIEnv* |
| 76 env, jclass jcaller) { |
| 77 return GetFloatFunction(env, jcaller); |
| 78 } |
| 79 |
| 80 static void SetNonPODDatatype(JNIEnv* env, jobject jcaller, |
| 81 jobject rect); |
| 82 |
| 83 static void |
| 84 Java_org_chromium_example_jni_1generator_SampleForTests_nativeSetNonPODDatat
ype(JNIEnv* |
| 85 env, jobject jcaller, |
| 86 jobject rect) { |
| 87 return SetNonPODDatatype(env, jcaller, rect); |
| 88 } |
| 89 |
| 90 static jobject GetNonPODDatatype(JNIEnv* env, jobject jcaller); |
| 91 |
| 92 static jobject |
| 93 Java_org_chromium_example_jni_1generator_SampleForTests_nativeGetNonPODDatat
ype(JNIEnv* |
| 94 env, jobject jcaller) { |
| 95 return GetNonPODDatatype(env, jcaller); |
| 96 } |
| 97 |
| 98 static jint |
| 99 Java_org_chromium_example_jni_1generator_SampleForTests_nativeMethod(JNIEnv* |
| 100 env, |
| 101 jobject jcaller, |
63 jlong nativeCPPClass) { | 102 jlong nativeCPPClass) { |
64 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | 103 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); |
65 CHECK_NATIVE_PTR(env, jcaller, native, "Method", 0); | 104 CHECK_NATIVE_PTR(env, jcaller, native, "Method", 0); |
66 return native->Method(env, jcaller); | 105 return native->Method(env, jcaller); |
67 } | 106 } |
68 | 107 |
69 static jdouble MethodOtherP0(JNIEnv* env, jobject jcaller, | 108 static jdouble |
| 109 Java_org_chromium_example_jni_1generator_SampleForTests_nativeMethodOtherP0(
JNIEnv* |
| 110 env, |
| 111 jobject jcaller, |
70 jlong nativePtr) { | 112 jlong nativePtr) { |
71 CPPClass::InnerClass* native = | 113 CPPClass::InnerClass* native = |
72 reinterpret_cast<CPPClass::InnerClass*>(nativePtr); | 114 reinterpret_cast<CPPClass::InnerClass*>(nativePtr); |
73 CHECK_NATIVE_PTR(env, jcaller, native, "MethodOtherP0", 0); | 115 CHECK_NATIVE_PTR(env, jcaller, native, "MethodOtherP0", 0); |
74 return native->MethodOtherP0(env, jcaller); | 116 return native->MethodOtherP0(env, jcaller); |
75 } | 117 } |
76 | 118 |
77 static void AddStructB(JNIEnv* env, jobject jcaller, | 119 static void |
| 120 Java_org_chromium_example_jni_1generator_SampleForTests_nativeAddStructB(JNI
Env* |
| 121 env, |
| 122 jobject jcaller, |
78 jlong nativeCPPClass, | 123 jlong nativeCPPClass, |
79 jobject b) { | 124 jobject b) { |
80 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | 125 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); |
81 CHECK_NATIVE_PTR(env, jcaller, native, "AddStructB"); | 126 CHECK_NATIVE_PTR(env, jcaller, native, "AddStructB"); |
82 return native->AddStructB(env, jcaller, b); | 127 return native->AddStructB(env, jcaller, b); |
83 } | 128 } |
84 | 129 |
85 static void IterateAndDoSomethingWithStructB(JNIEnv* env, jobject jcaller, | 130 static void |
| 131 Java_org_chromium_example_jni_1generator_SampleForTests_nativeIterateAndDoSo
methingWithStructB(JNIEnv* |
| 132 env, |
| 133 jobject jcaller, |
86 jlong nativeCPPClass) { | 134 jlong nativeCPPClass) { |
87 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | 135 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); |
88 CHECK_NATIVE_PTR(env, jcaller, native, "IterateAndDoSomethingWithStructB"); | 136 CHECK_NATIVE_PTR(env, jcaller, native, "IterateAndDoSomethingWithStructB"); |
89 return native->IterateAndDoSomethingWithStructB(env, jcaller); | 137 return native->IterateAndDoSomethingWithStructB(env, jcaller); |
90 } | 138 } |
91 | 139 |
92 static jstring ReturnAString(JNIEnv* env, jobject jcaller, | 140 static jstring |
| 141 Java_org_chromium_example_jni_1generator_SampleForTests_nativeReturnAString(
JNIEnv* |
| 142 env, |
| 143 jobject jcaller, |
93 jlong nativeCPPClass) { | 144 jlong nativeCPPClass) { |
94 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); | 145 CPPClass* native = reinterpret_cast<CPPClass*>(nativeCPPClass); |
95 CHECK_NATIVE_PTR(env, jcaller, native, "ReturnAString", NULL); | 146 CHECK_NATIVE_PTR(env, jcaller, native, "ReturnAString", NULL); |
96 return native->ReturnAString(env, jcaller).Release(); | 147 return native->ReturnAString(env, jcaller).Release(); |
97 } | 148 } |
98 | 149 |
99 static base::subtle::AtomicWord g_SampleForTests_javaMethod = 0; | 150 static base::subtle::AtomicWord g_SampleForTests_javaMethod = 0; |
100 static jint Java_SampleForTests_javaMethod(JNIEnv* env, jobject obj, | 151 static jint Java_SampleForTests_javaMethod(JNIEnv* env, jobject obj, |
101 JniIntWrapper foo, | 152 JniIntWrapper foo, |
102 JniIntWrapper bar) { | 153 JniIntWrapper bar) { |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 return base::android::ScopedJavaLocalRef<jstring>(env, ret); | 365 return base::android::ScopedJavaLocalRef<jstring>(env, ret); |
315 } | 366 } |
316 | 367 |
317 // Step 3: RegisterNatives. | 368 // Step 3: RegisterNatives. |
318 | 369 |
319 static const JNINativeMethod kMethodsSampleForTests[] = { | 370 static const JNINativeMethod kMethodsSampleForTests[] = { |
320 { "nativeInit", | 371 { "nativeInit", |
321 "(" | 372 "(" |
322 "Ljava/lang/String;" | 373 "Ljava/lang/String;" |
323 ")" | 374 ")" |
324 "J", reinterpret_cast<void*>(Init) }, | 375 "J", |
| 376 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeInit) |
| 377 }, |
325 { "nativeDestroy", | 378 { "nativeDestroy", |
326 "(" | 379 "(" |
327 "J" | 380 "J" |
328 ")" | 381 ")" |
329 "V", reinterpret_cast<void*>(Destroy) }, | 382 "V", |
| 383 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeDestroy) |
| 384 }, |
330 { "nativeGetDoubleFunction", | 385 { "nativeGetDoubleFunction", |
331 "(" | 386 "(" |
332 ")" | 387 ")" |
333 "D", reinterpret_cast<void*>(GetDoubleFunction) }, | 388 "D", |
| 389 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeGetDoubleFunction) |
| 390 }, |
334 { "nativeGetFloatFunction", | 391 { "nativeGetFloatFunction", |
335 "(" | 392 "(" |
336 ")" | 393 ")" |
337 "F", reinterpret_cast<void*>(GetFloatFunction) }, | 394 "F", |
| 395 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeGetFloatFunction) |
| 396 }, |
338 { "nativeSetNonPODDatatype", | 397 { "nativeSetNonPODDatatype", |
339 "(" | 398 "(" |
340 "Landroid/graphics/Rect;" | 399 "Landroid/graphics/Rect;" |
341 ")" | 400 ")" |
342 "V", reinterpret_cast<void*>(SetNonPODDatatype) }, | 401 "V", |
| 402 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeSetNonPODDatatype) |
| 403 }, |
343 { "nativeGetNonPODDatatype", | 404 { "nativeGetNonPODDatatype", |
344 "(" | 405 "(" |
345 ")" | 406 ")" |
346 "Ljava/lang/Object;", reinterpret_cast<void*>(GetNonPODDatatype) }, | 407 "Ljava/lang/Object;", |
| 408 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeGetNonPODDatatype) |
| 409 }, |
347 { "nativeMethod", | 410 { "nativeMethod", |
348 "(" | 411 "(" |
349 "J" | 412 "J" |
350 ")" | 413 ")" |
351 "I", reinterpret_cast<void*>(Method) }, | 414 "I", |
| 415 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeMethod) |
| 416 }, |
352 { "nativeMethodOtherP0", | 417 { "nativeMethodOtherP0", |
353 "(" | 418 "(" |
354 "J" | 419 "J" |
355 ")" | 420 ")" |
356 "D", reinterpret_cast<void*>(MethodOtherP0) }, | 421 "D", |
| 422 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeMethodOtherP0) |
| 423 }, |
357 { "nativeAddStructB", | 424 { "nativeAddStructB", |
358 "(" | 425 "(" |
359 "J" | 426 "J" |
360 "Lorg/chromium/example/jni_generator/SampleForTests$InnerStructB;" | 427 "Lorg/chromium/example/jni_generator/SampleForTests$InnerStructB;" |
361 ")" | 428 ")" |
362 "V", reinterpret_cast<void*>(AddStructB) }, | 429 "V", |
| 430 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeAddStructB) |
| 431 }, |
363 { "nativeIterateAndDoSomethingWithStructB", | 432 { "nativeIterateAndDoSomethingWithStructB", |
364 "(" | 433 "(" |
365 "J" | 434 "J" |
366 ")" | 435 ")" |
367 "V", reinterpret_cast<void*>(IterateAndDoSomethingWithStructB) }, | 436 "V", |
| 437 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeIterateAndDoSomethingWithStructB) |
| 438 }, |
368 { "nativeReturnAString", | 439 { "nativeReturnAString", |
369 "(" | 440 "(" |
370 "J" | 441 "J" |
371 ")" | 442 ")" |
372 "Ljava/lang/String;", reinterpret_cast<void*>(ReturnAString) }, | 443 "Ljava/lang/String;", |
| 444 reinterpret_cast<void*>(Java_org_chromium_example_jni_1generator_SampleForTe
sts_nativeReturnAString) |
| 445 }, |
373 }; | 446 }; |
374 | 447 |
375 static bool RegisterNativesImpl(JNIEnv* env) { | 448 static bool RegisterNativesImpl(JNIEnv* env) { |
376 | 449 |
377 g_InnerStructA_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( | 450 g_InnerStructA_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( |
378 base::android::GetClass(env, kInnerStructAClassPath).obj())); | 451 base::android::GetClass(env, kInnerStructAClassPath).obj())); |
379 g_SampleForTests_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( | 452 g_SampleForTests_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( |
380 base::android::GetClass(env, kSampleForTestsClassPath).obj())); | 453 base::android::GetClass(env, kSampleForTestsClassPath).obj())); |
381 g_InnerStructB_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( | 454 g_InnerStructB_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( |
382 base::android::GetClass(env, kInnerStructBClassPath).obj())); | 455 base::android::GetClass(env, kInnerStructBClassPath).obj())); |
383 | 456 |
384 const int kMethodsSampleForTestsSize = arraysize(kMethodsSampleForTests); | 457 const int kMethodsSampleForTestsSize = arraysize(kMethodsSampleForTests); |
385 | 458 |
386 if (env->RegisterNatives(SampleForTests_clazz(env), | 459 if (env->RegisterNatives(SampleForTests_clazz(env), |
387 kMethodsSampleForTests, | 460 kMethodsSampleForTests, |
388 kMethodsSampleForTestsSize) < 0) { | 461 kMethodsSampleForTestsSize) < 0) { |
389 jni_generator::HandleRegistrationError( | 462 jni_generator::HandleRegistrationError( |
390 env, SampleForTests_clazz(env), __FILE__); | 463 env, SampleForTests_clazz(env), __FILE__); |
391 return false; | 464 return false; |
392 } | 465 } |
393 | 466 |
394 return true; | 467 return true; |
395 } | 468 } |
396 | 469 |
397 } // namespace android | 470 } // namespace android |
398 } // namespace base | 471 } // namespace base |
399 | 472 |
400 #endif // org_chromium_example_jni_generator_SampleForTests_JNI | 473 #endif // org_chromium_example_jni_generator_SampleForTests_JNI |
OLD | NEW |