• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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//     base/android/jni_generator/jni_generator.py
8// For
9//     org/chromium/foo/Foo
10
11#ifndef org_chromium_foo_Foo_JNI
12#define org_chromium_foo_Foo_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 kClassPath_org_chromium_foo_Foo[];
22const char kClassPath_org_chromium_foo_Foo[] = "org/chromium/foo/Foo";
23// Leaking this jclass as we cannot use LazyInstance from some threads.
24JNI_REGISTRATION_EXPORT std::atomic<jclass> g_org_chromium_foo_Foo_clazz(nullptr);
25#ifndef org_chromium_foo_Foo_clazz_defined
26#define org_chromium_foo_Foo_clazz_defined
27inline jclass org_chromium_foo_Foo_clazz(JNIEnv* env) {
28  return base::android::LazyGetClass(env, kClassPath_org_chromium_foo_Foo,
29      &g_org_chromium_foo_Foo_clazz);
30}
31#endif
32
33
34// Step 2: Constants (optional).
35
36
37// Step 3: Method stubs.
38static void JNI_Foo_ShouldBindCaller(JNIEnv* env, const base::android::JavaParamRef<jobject>&
39    caller);
40
41JNI_GENERATOR_EXPORT void Java_org_chromium_foo_Foo_nativeShouldBindCaller(
42    JNIEnv* env,
43    jclass jcaller,
44    jobject caller) {
45  return JNI_Foo_ShouldBindCaller(env, base::android::JavaParamRef<jobject>(env, caller));
46}
47
48static void JNI_Foo_ShouldBindCaller(JNIEnv* env, const base::android::JavaParamRef<jobject>&
49    caller,
50    jint a);
51
52JNI_GENERATOR_EXPORT void Java_org_chromium_foo_Foo_nativeShouldBindCaller(
53    JNIEnv* env,
54    jclass jcaller,
55    jobject caller,
56    jint a) {
57  return JNI_Foo_ShouldBindCaller(env, base::android::JavaParamRef<jobject>(env, caller), a);
58}
59
60JNI_GENERATOR_EXPORT void Java_org_chromium_foo_Foo_nativeFoo(
61    JNIEnv* env,
62    jclass jcaller,
63    jlong nativeNativeObject,
64    jobject caller) {
65  NativeObject* native = reinterpret_cast<NativeObject*>(nativeNativeObject);
66  CHECK_NATIVE_PTR(env, jcaller, native, "Foo");
67  return native->Foo(env, base::android::JavaParamRef<jobject>(env, caller));
68}
69
70JNI_GENERATOR_EXPORT void Java_org_chromium_foo_Foo_nativeFoo(
71    JNIEnv* env,
72    jclass jcaller,
73    jlong nativeNativeObject,
74    jobject caller,
75    jint a) {
76  NativeObject* native = reinterpret_cast<NativeObject*>(nativeNativeObject);
77  CHECK_NATIVE_PTR(env, jcaller, native, "Foo");
78  return native->Foo(env, base::android::JavaParamRef<jobject>(env, caller), a);
79}
80
81JNI_GENERATOR_EXPORT void Java_org_chromium_foo_Foo_nativeCallNativeMethod(
82    JNIEnv* env,
83    jobject jcaller,
84    jlong nativePtr) {
85  Ptr* native = reinterpret_cast<Ptr*>(nativePtr);
86  CHECK_NATIVE_PTR(env, jcaller, native, "CallNativeMethod");
87  return native->CallNativeMethod(env, base::android::JavaParamRef<jobject>(env, jcaller));
88}
89
90JNI_GENERATOR_EXPORT void Java_org_chromium_foo_Foo_nativeCallWithQualifiedObject(
91    JNIEnv* env,
92    jobject jcaller,
93    jlong nativePtr) {
94  Foo::Bar* native = reinterpret_cast<Foo::Bar*>(nativePtr);
95  CHECK_NATIVE_PTR(env, jcaller, native, "CallWithQualifiedObject");
96  return native->CallWithQualifiedObject(env, base::android::JavaParamRef<jobject>(env, jcaller));
97}
98
99
100#endif  // org_chromium_foo_Foo_JNI
101