• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// This file was generated by
2//     //third_party/jni_zero/jni_zero.py
3// For
4//     org.jni_zero.SampleBidirectionalNonProxy
5
6#ifndef org_jni_1zero_SampleBidirectionalNonProxy_JNI
7#define org_jni_1zero_SampleBidirectionalNonProxy_JNI
8
9#include <jni.h>
10
11#include "third_party/jni_zero/jni_export.h"
12#include "third_party/jni_zero/jni_zero_helper.h"
13
14// Class Accessors
15#ifndef org_jni_1zero_SampleBidirectionalNonProxy_clazz_defined
16#define org_jni_1zero_SampleBidirectionalNonProxy_clazz_defined
17inline jclass org_jni_1zero_SampleBidirectionalNonProxy_clazz(JNIEnv* env) {
18  static const char kClassName[] = "org/jni_zero/SampleBidirectionalNonProxy";
19  static std::atomic<jclass> cached_class;
20  return jni_zero::internal::LazyGetClass(env, kClassName, &cached_class);
21}
22#endif
23
24
25// Java to native functions
26// Forward declaration. To be implemented by the including .cc file.
27static jint JNI_SampleBidirectionalNonProxy_Init(
28    JNIEnv* env,
29    const jni_zero::JavaParamRef<jobject>& jcaller);
30
31JNI_ZERO_BOUNDARY_EXPORT jint Java_org_jni_1zero_SampleBidirectionalNonProxy_nativeInit(
32    JNIEnv* env,
33    jobject jcaller) {
34  auto _ret = JNI_SampleBidirectionalNonProxy_Init(
35      env,
36      jni_zero::JavaParamRef<jobject>(env, jcaller));
37  return _ret;
38}
39
40// Forward declaration. To be implemented by the including .cc file.
41static jint JNI_SampleBidirectionalNonProxy_Init(
42    JNIEnv* env,
43    const jni_zero::JavaParamRef<jobject>& jcaller);
44
45JNI_ZERO_BOUNDARY_EXPORT jint Java_org_jni_1zero_SampleBidirectionalNonProxy_nativeInit(
46    JNIEnv* env,
47    jobject jcaller) {
48  auto _ret = JNI_SampleBidirectionalNonProxy_Init(
49      env,
50      jni_zero::JavaParamRef<jobject>(env, jcaller));
51  return _ret;
52}
53
54JNI_ZERO_BOUNDARY_EXPORT jint Java_org_jni_1zero_SampleBidirectionalNonProxy_nativeMethod(
55    JNIEnv* env,
56    jobject jcaller,
57    jlong nativeTest,
58    jint arg1) {
59  auto _ret = reinterpret_cast<Test*>(nativeTest)->Method(
60      env,
61      jni_zero::JavaParamRef<jobject>(env, jcaller),
62      arg1);
63  return _ret;
64}
65
66JNI_ZERO_BOUNDARY_EXPORT jint Java_org_jni_1zero_SampleBidirectionalNonProxy_nativeStaticMethod(
67    JNIEnv* env,
68    jclass jcaller,
69    jlong nativeTest,
70    jint arg1) {
71  auto _ret = reinterpret_cast<Test*>(nativeTest)->StaticMethod(env, arg1);
72  return _ret;
73}
74
75
76// Native to Java functions
77static void Java_SampleBidirectionalNonProxy_addStructB(
78    JNIEnv* env,
79    const jni_zero::JavaRef<jobject>& obj,
80    const jni_zero::JavaRef<jobject>& caller,
81    const jni_zero::JavaRef<jobject>& b) {
82  static std::atomic<jmethodID> cached_method_id(nullptr);
83  jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
84  CHECK_CLAZZ(env, obj.obj(), clazz);
85  jni_zero::internal::JniJavaCallContext<true> call_context;
86  call_context.Init<jni_zero::MethodID::TYPE_INSTANCE>(
87      env,
88      clazz,
89      "addStructB",
90      "(Lorg/jni_zero/SampleForTests;Lorg/jni_zero/SampleForTests$InnerStructB;)V",
91      &cached_method_id);
92  env->CallVoidMethod(obj.obj(), call_context.method_id(), caller.obj(), b.obj());
93}
94
95static void Java_SampleBidirectionalNonProxy_setBool(
96    JNIEnv* env,
97    const jni_zero::JavaRef<jobject>& obj,
98    const jni_zero::JavaRef<jobject>& b,
99    const jni_zero::JavaRef<jobject>& i) {
100  static std::atomic<jmethodID> cached_method_id(nullptr);
101  jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
102  CHECK_CLAZZ(env, obj.obj(), clazz);
103  jni_zero::internal::JniJavaCallContext<true> call_context;
104  call_context.Init<jni_zero::MethodID::TYPE_INSTANCE>(
105      env,
106      clazz,
107      "setBool",
108      "(Lorg/jni_zero/Boolean;Ljava/lang/Integer;)V",
109      &cached_method_id);
110  env->CallVoidMethod(obj.obj(), call_context.method_id(), b.obj(), i.obj());
111}
112
113static void Java_SampleBidirectionalNonProxy_setStringBuilder(
114    JNIEnv* env,
115    const jni_zero::JavaRef<jobject>& obj,
116    const jni_zero::JavaRef<jobject>& sb) {
117  static std::atomic<jmethodID> cached_method_id(nullptr);
118  jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
119  CHECK_CLAZZ(env, obj.obj(), clazz);
120  jni_zero::internal::JniJavaCallContext<true> call_context;
121  call_context.Init<jni_zero::MethodID::TYPE_INSTANCE>(
122      env,
123      clazz,
124      "setStringBuilder",
125      "(Ljava/lang/StringBuilder;)V",
126      &cached_method_id);
127  env->CallVoidMethod(obj.obj(), call_context.method_id(), sb.obj());
128}
129
130static jdouble Java_SampleBidirectionalNonProxy_testMethodWithNoParam(JNIEnv* env) {
131  static std::atomic<jmethodID> cached_method_id(nullptr);
132  jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
133  CHECK_CLAZZ(env, clazz, clazz, 0);
134  jni_zero::internal::JniJavaCallContext<true> call_context;
135  call_context.Init<jni_zero::MethodID::TYPE_STATIC>(
136      env,
137      clazz,
138      "testMethodWithNoParam",
139      "()D",
140      &cached_method_id);
141  auto _ret = env->CallStaticDoubleMethod(clazz, call_context.method_id());
142  return _ret;
143}
144
145static void Java_SampleBidirectionalNonProxy_testMethodWithParam(
146    JNIEnv* env,
147    const jni_zero::JavaRef<jobject>& obj,
148    JniIntWrapper iParam) {
149  static std::atomic<jmethodID> cached_method_id(nullptr);
150  jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
151  CHECK_CLAZZ(env, obj.obj(), clazz);
152  jni_zero::internal::JniJavaCallContext<true> call_context;
153  call_context.Init<jni_zero::MethodID::TYPE_INSTANCE>(
154      env,
155      clazz,
156      "testMethodWithParam",
157      "(I)V",
158      &cached_method_id);
159  env->CallVoidMethod(obj.obj(), call_context.method_id(), as_jint(iParam));
160}
161
162static jni_zero::ScopedJavaLocalRef<jstring> Java_SampleBidirectionalNonProxy_testMethodWithParamAndReturn(
163    JNIEnv* env,
164    const jni_zero::JavaRef<jobject>& obj,
165    JniIntWrapper iParam) {
166  static std::atomic<jmethodID> cached_method_id(nullptr);
167  jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
168  CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
169  jni_zero::internal::JniJavaCallContext<true> call_context;
170  call_context.Init<jni_zero::MethodID::TYPE_INSTANCE>(
171      env,
172      clazz,
173      "testMethodWithParamAndReturn",
174      "(I)Ljava/lang/String;",
175      &cached_method_id);
176  auto _ret = env->CallObjectMethod(obj.obj(), call_context.method_id(), as_jint(iParam));
177  jstring _ret2 = static_cast<jstring>(_ret);
178  return jni_zero::ScopedJavaLocalRef<jstring>(env, _ret2);
179}
180
181static jni_zero::ScopedJavaLocalRef<jstring> Java_SampleBidirectionalNonProxy_testStaticMethodWithNoParam(
182    JNIEnv* env) {
183  static std::atomic<jmethodID> cached_method_id(nullptr);
184  jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
185  CHECK_CLAZZ(env, clazz, clazz, nullptr);
186  jni_zero::internal::JniJavaCallContext<true> call_context;
187  call_context.Init<jni_zero::MethodID::TYPE_STATIC>(
188      env,
189      clazz,
190      "testStaticMethodWithNoParam",
191      "()Ljava/lang/String;",
192      &cached_method_id);
193  auto _ret = env->CallStaticObjectMethod(clazz, call_context.method_id());
194  jstring _ret2 = static_cast<jstring>(_ret);
195  return jni_zero::ScopedJavaLocalRef<jstring>(env, _ret2);
196}
197
198static jint Java_SampleBidirectionalNonProxy_testStaticMethodWithParam(
199    JNIEnv* env,
200    JniIntWrapper iParam) {
201  static std::atomic<jmethodID> cached_method_id(nullptr);
202  jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
203  CHECK_CLAZZ(env, clazz, clazz, 0);
204  jni_zero::internal::JniJavaCallContext<true> call_context;
205  call_context.Init<jni_zero::MethodID::TYPE_STATIC>(
206      env,
207      clazz,
208      "testStaticMethodWithParam",
209      "(I)I",
210      &cached_method_id);
211  auto _ret = env->CallStaticIntMethod(clazz, call_context.method_id(), as_jint(iParam));
212  return _ret;
213}
214
215
216
217#endif  // org_jni_1zero_SampleBidirectionalNonProxy_JNI
218