1 | /* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation |
---|
2 | |
---|
3 | This file is part of libgcj. |
---|
4 | |
---|
5 | This software is copyrighted work licensed under the terms of the |
---|
6 | Libgcj License. Please consult the file "LIBGCJ_LICENSE" for |
---|
7 | details. */ |
---|
8 | |
---|
9 | /* Note: this file must be compilable by the C compiler (for now, |
---|
10 | assuming GNU C is ok). This means you must never use `//' |
---|
11 | comments, and all C++-specific code must be conditional on |
---|
12 | __cplusplus. */ |
---|
13 | |
---|
14 | #ifndef __GCJ_JNI_H__ |
---|
15 | #define __GCJ_JNI_H__ |
---|
16 | |
---|
17 | #include <gcj/libgcj-config.h> |
---|
18 | |
---|
19 | /* We include <stdio.h> for compatibility with Sun's <jni.h>. */ |
---|
20 | #include <stdio.h> |
---|
21 | |
---|
22 | #include <stdarg.h> |
---|
23 | #define _Jv_va_list va_list |
---|
24 | |
---|
25 | #ifdef __GCJ_JNI_IMPL__ |
---|
26 | |
---|
27 | /* If __GCJ_JNI_IMPL__ is defined, then we assume that we're building |
---|
28 | libgcj itself, and we include headers which taint the namespace |
---|
29 | more than is acceptable for the ordinary JNI user. */ |
---|
30 | #include <gcj/javaprims.h> |
---|
31 | #include <gcj/array.h> |
---|
32 | #include <gnu/gcj/runtime/JNIWeakRef.h> |
---|
33 | |
---|
34 | typedef gnu::gcj::runtime::JNIWeakRef *jweak; |
---|
35 | |
---|
36 | typedef struct _Jv_JNIEnv JNIEnv; |
---|
37 | typedef struct _Jv_JavaVM JavaVM; |
---|
38 | |
---|
39 | #define JNI_TRUE true |
---|
40 | #define JNI_FALSE false |
---|
41 | |
---|
42 | #else /* __GCJ_JNI_IMPL__ */ |
---|
43 | |
---|
44 | # ifdef __GNUC__ |
---|
45 | |
---|
46 | /* If we're using gcc, we can use a platform-independent scheme to get |
---|
47 | the right integer types. */ |
---|
48 | typedef int jbyte __attribute__((__mode__(__QI__))); |
---|
49 | typedef int jshort __attribute__((__mode__(__HI__))); |
---|
50 | typedef int jint __attribute__((__mode__(__SI__))); |
---|
51 | typedef int jlong __attribute__((__mode__(__DI__))); |
---|
52 | typedef int jboolean __attribute__((__mode__(__QI__))); |
---|
53 | typedef unsigned short jchar __attribute__((__mode__(__HI__))); |
---|
54 | typedef float jfloat; |
---|
55 | typedef double jdouble; |
---|
56 | typedef jint jsize; |
---|
57 | |
---|
58 | # else /* __GNUC__ */ |
---|
59 | |
---|
60 | # ifdef JV_HAVE_INTTYPES_H |
---|
61 | |
---|
62 | /* If <inttypes.h> is available, we use it. */ |
---|
63 | |
---|
64 | # include <inttypes.h> |
---|
65 | |
---|
66 | typedef int8_t jbyte; |
---|
67 | typedef int16_t jshort; |
---|
68 | typedef int32_t jint; |
---|
69 | typedef int64_t jlong; |
---|
70 | typedef float jfloat; |
---|
71 | typedef double jdouble; |
---|
72 | typedef jint jsize; |
---|
73 | typedef int8_t jboolean; |
---|
74 | typedef uint16_t jchar; |
---|
75 | |
---|
76 | # else /* JV_HAVE_INTTYPES_H */ |
---|
77 | |
---|
78 | /* For now, we require either gcc or <inttypes.h>. If we did more |
---|
79 | work at configure time we could get around this, but right now it |
---|
80 | doesn't seem worth it. */ |
---|
81 | # error jni.h not ported to this platform |
---|
82 | |
---|
83 | # endif /* JV_HAVE_INTTYPES_H */ |
---|
84 | |
---|
85 | # endif /* __GNUC__ */ |
---|
86 | |
---|
87 | # ifdef __cplusplus |
---|
88 | |
---|
89 | /* Define dummy classes and then define the JNI types as pointers. */ |
---|
90 | struct __jobject {}; |
---|
91 | struct __jclass : __jobject {}; |
---|
92 | struct __jstring : __jobject {}; |
---|
93 | struct __jthrowable : __jobject {}; |
---|
94 | struct __jweak : __jobject {}; |
---|
95 | struct __jarray : __jobject {}; |
---|
96 | struct __jobjectArray : __jarray {}; |
---|
97 | struct __jbyteArray : __jarray {}; |
---|
98 | struct __jshortArray : __jarray {}; |
---|
99 | struct __jintArray : __jarray {}; |
---|
100 | struct __jlongArray : __jarray {}; |
---|
101 | struct __jbooleanArray : __jarray {}; |
---|
102 | struct __jcharArray : __jarray {}; |
---|
103 | struct __jfloatArray : __jarray {}; |
---|
104 | struct __jdoubleArray : __jarray {}; |
---|
105 | |
---|
106 | typedef __jobject *jobject; |
---|
107 | typedef __jclass *jclass; |
---|
108 | typedef __jstring *jstring; |
---|
109 | typedef __jthrowable *jthrowable; |
---|
110 | typedef __jweak *jweak; |
---|
111 | typedef __jarray *jarray; |
---|
112 | typedef __jobjectArray *jobjectArray; |
---|
113 | typedef __jbyteArray *jbyteArray; |
---|
114 | typedef __jshortArray *jshortArray; |
---|
115 | typedef __jintArray *jintArray; |
---|
116 | typedef __jlongArray *jlongArray; |
---|
117 | typedef __jbooleanArray *jbooleanArray; |
---|
118 | typedef __jcharArray *jcharArray; |
---|
119 | typedef __jfloatArray *jfloatArray; |
---|
120 | typedef __jdoubleArray *jdoubleArray; |
---|
121 | |
---|
122 | #define JNI_TRUE true |
---|
123 | #define JNI_FALSE false |
---|
124 | |
---|
125 | typedef struct _Jv_JNIEnv JNIEnv; |
---|
126 | typedef struct _Jv_JavaVM JavaVM; |
---|
127 | |
---|
128 | # else /* __cplusplus */ |
---|
129 | |
---|
130 | /* For C, simply define the class types as generic pointers. */ |
---|
131 | typedef void *jobject; |
---|
132 | typedef jobject jclass; |
---|
133 | typedef jobject jstring; |
---|
134 | typedef jobject jthrowable; |
---|
135 | typedef jobject jweak; |
---|
136 | typedef jobject jarray; |
---|
137 | typedef jobject jobjectArray; |
---|
138 | typedef jobject jbyteArray; |
---|
139 | typedef jobject jshortArray; |
---|
140 | typedef jobject jintArray; |
---|
141 | typedef jobject jlongArray; |
---|
142 | typedef jobject jbooleanArray; |
---|
143 | typedef jobject jcharArray; |
---|
144 | typedef jobject jfloatArray; |
---|
145 | typedef jobject jdoubleArray; |
---|
146 | |
---|
147 | #define JNI_TRUE 1 |
---|
148 | #define JNI_FALSE 0 |
---|
149 | |
---|
150 | typedef const struct JNINativeInterface *JNIEnv; |
---|
151 | typedef const struct JNIInvokeInterface *JavaVM; |
---|
152 | |
---|
153 | # endif /* __cplusplus */ |
---|
154 | |
---|
155 | /* Dummy defines. */ |
---|
156 | typedef void *jfieldID; |
---|
157 | typedef void *jmethodID; |
---|
158 | |
---|
159 | #endif /* __GCJ_JNI_IMPL__ */ |
---|
160 | |
---|
161 | /* Version numbers. */ |
---|
162 | #define JNI_VERSION_1_1 0x00010001 |
---|
163 | #define JNI_VERSION_1_2 0x00010002 |
---|
164 | |
---|
165 | /* Used when releasing array elements. */ |
---|
166 | #define JNI_COMMIT 1 |
---|
167 | #define JNI_ABORT 2 |
---|
168 | |
---|
169 | /* Error codes */ |
---|
170 | #define JNI_OK 0 |
---|
171 | #define JNI_ERR -1 |
---|
172 | #define JNI_EDETACHED -2 |
---|
173 | #define JNI_EVERSION -3 |
---|
174 | |
---|
175 | /* Linkage and calling conventions. This will need updating when we |
---|
176 | support Windows DLLs. */ |
---|
177 | #define JNIIMPORT |
---|
178 | #define JNIEXPORT |
---|
179 | #define JNICALL |
---|
180 | |
---|
181 | #ifdef __cplusplus |
---|
182 | extern "C" |
---|
183 | { |
---|
184 | #endif /* __cplusplus */ |
---|
185 | |
---|
186 | /* These functions might be defined in libraries which we load; the |
---|
187 | JNI implementation calls them at the appropriate times. */ |
---|
188 | extern jint JNI_OnLoad (JavaVM *, void *); |
---|
189 | extern void JNI_OnUnload (JavaVM *, void *); |
---|
190 | |
---|
191 | /* These functions are called by user code to start using the |
---|
192 | invocation API. */ |
---|
193 | extern jint JNI_GetDefaultJavaVMInitArgs (void *); |
---|
194 | extern jint JNI_CreateJavaVM (JavaVM **, void **, void *); |
---|
195 | extern jint JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *); |
---|
196 | |
---|
197 | #ifdef __cplusplus |
---|
198 | }; |
---|
199 | #endif /* __cplusplus */ |
---|
200 | |
---|
201 | typedef union jvalue |
---|
202 | { |
---|
203 | jboolean z; |
---|
204 | jbyte b; |
---|
205 | jchar c; |
---|
206 | jshort s; |
---|
207 | jint i; |
---|
208 | jlong j; |
---|
209 | jfloat f; |
---|
210 | jdouble d; |
---|
211 | jobject l; |
---|
212 | } jvalue; |
---|
213 | |
---|
214 | #ifdef __cplusplus |
---|
215 | typedef void * (*_Jv_func) (...); |
---|
216 | #else |
---|
217 | typedef void * (*_Jv_func) (); |
---|
218 | #endif |
---|
219 | |
---|
220 | /* This structure is used when registering native methods. */ |
---|
221 | typedef struct |
---|
222 | { |
---|
223 | char *name; |
---|
224 | char *signature; |
---|
225 | void *fnPtr; /* Sigh. */ |
---|
226 | } JNINativeMethod; |
---|
227 | |
---|
228 | struct JNINativeInterface |
---|
229 | { |
---|
230 | _Jv_func reserved0; |
---|
231 | _Jv_func reserved1; |
---|
232 | _Jv_func reserved2; |
---|
233 | _Jv_func reserved3; |
---|
234 | |
---|
235 | jint (*GetVersion) (JNIEnv *); |
---|
236 | jclass (*DefineClass) (JNIEnv *, jobject, |
---|
237 | const jbyte *, jsize); |
---|
238 | jclass (*FindClass) (JNIEnv *, const char *); |
---|
239 | |
---|
240 | jmethodID (*FromReflectedMethod) (JNIEnv *, jobject); |
---|
241 | jfieldID (*FromReflectedField) (JNIEnv *, jobject); |
---|
242 | jobject (*ToReflectedMethod) (JNIEnv *, jclass, jmethodID, |
---|
243 | jboolean); |
---|
244 | |
---|
245 | jclass (*GetSuperclass) (JNIEnv *, jclass); |
---|
246 | jboolean (*IsAssignableFrom) (JNIEnv *, jclass, jclass); |
---|
247 | |
---|
248 | jobject (*ToReflectedField) (JNIEnv *, jclass, jfieldID, |
---|
249 | jboolean); |
---|
250 | |
---|
251 | jint (*Throw) (JNIEnv *, jthrowable); |
---|
252 | jint (*ThrowNew) (JNIEnv *, jclass, const char *); |
---|
253 | jthrowable (*ExceptionOccurred) (JNIEnv *); |
---|
254 | void (*ExceptionDescribe) (JNIEnv *); |
---|
255 | void (*ExceptionClear) (JNIEnv *); |
---|
256 | void (*FatalError) (JNIEnv *, const char *); |
---|
257 | |
---|
258 | jint (*PushLocalFrame) (JNIEnv *, jint); |
---|
259 | jobject (*PopLocalFrame) (JNIEnv *, jobject); |
---|
260 | |
---|
261 | jobject (*NewGlobalRef) (JNIEnv *, jobject); |
---|
262 | void (*DeleteGlobalRef) (JNIEnv *, jobject); |
---|
263 | void (*DeleteLocalRef) (JNIEnv *, jobject); |
---|
264 | jboolean (*IsSameObject) (JNIEnv *, jobject, jobject); |
---|
265 | |
---|
266 | jobject (*NewLocalRef) (JNIEnv *, jobject); |
---|
267 | jint (*EnsureLocalCapacity) (JNIEnv *, jint); |
---|
268 | |
---|
269 | jobject (*AllocObject) (JNIEnv *, jclass); |
---|
270 | jobject (*NewObject) (JNIEnv *, jclass, jmethodID, ...); |
---|
271 | jobject (*NewObjectV) (JNIEnv *, jclass, jmethodID, |
---|
272 | _Jv_va_list); |
---|
273 | jobject (*NewObjectA) (JNIEnv *, jclass, jmethodID, |
---|
274 | jvalue *); |
---|
275 | |
---|
276 | jclass (*GetObjectClass) (JNIEnv *, jobject); |
---|
277 | jboolean (*IsInstanceOf) (JNIEnv *, jobject, jclass); |
---|
278 | jmethodID (*GetMethodID) (JNIEnv *, jclass, const char *, |
---|
279 | const char *); |
---|
280 | |
---|
281 | jobject (*CallObjectMethod) (JNIEnv *, jobject, jmethodID, |
---|
282 | ...); |
---|
283 | jobject (*CallObjectMethodV) (JNIEnv *, jobject, jmethodID, |
---|
284 | _Jv_va_list); |
---|
285 | jobject (*CallObjectMethodA) (JNIEnv *, jobject, jmethodID, |
---|
286 | jvalue *); |
---|
287 | jboolean (*CallBooleanMethod) (JNIEnv *, jobject, jmethodID, |
---|
288 | ...); |
---|
289 | jboolean (*CallBooleanMethodV) (JNIEnv *, jobject, jmethodID, |
---|
290 | _Jv_va_list); |
---|
291 | jboolean (*CallBooleanMethodA) (JNIEnv *, jobject, jmethodID, |
---|
292 | jvalue *); |
---|
293 | jbyte (*CallByteMethod) (JNIEnv *, jobject, jmethodID, |
---|
294 | ...); |
---|
295 | jbyte (*CallByteMethodV) (JNIEnv *, jobject, jmethodID, |
---|
296 | _Jv_va_list); |
---|
297 | jbyte (*CallByteMethodA) (JNIEnv *, jobject, jmethodID, |
---|
298 | jvalue *); |
---|
299 | jchar (*CallCharMethod) (JNIEnv *, jobject, jmethodID, |
---|
300 | ...); |
---|
301 | jchar (*CallCharMethodV) (JNIEnv *, jobject, jmethodID, |
---|
302 | _Jv_va_list); |
---|
303 | jchar (*CallCharMethodA) (JNIEnv *, jobject, jmethodID, |
---|
304 | jvalue *); |
---|
305 | jshort (*CallShortMethod) (JNIEnv *, jobject, jmethodID, |
---|
306 | ...); |
---|
307 | jshort (*CallShortMethodV) (JNIEnv *, jobject, jmethodID, |
---|
308 | _Jv_va_list); |
---|
309 | jshort (*CallShortMethodA) (JNIEnv *, jobject, jmethodID, |
---|
310 | jvalue *); |
---|
311 | jint (*CallIntMethod) (JNIEnv *, jobject, jmethodID, |
---|
312 | ...); |
---|
313 | jint (*CallIntMethodV) (JNIEnv *, jobject, jmethodID, |
---|
314 | _Jv_va_list); |
---|
315 | jint (*CallIntMethodA) (JNIEnv *, jobject, jmethodID, |
---|
316 | jvalue *); |
---|
317 | jlong (*CallLongMethod) (JNIEnv *, jobject, jmethodID, |
---|
318 | ...); |
---|
319 | jlong (*CallLongMethodV) (JNIEnv *, jobject, jmethodID, |
---|
320 | _Jv_va_list); |
---|
321 | jlong (*CallLongMethodA) (JNIEnv *, jobject, jmethodID, |
---|
322 | jvalue *); |
---|
323 | jfloat (*CallFloatMethod) (JNIEnv *, jobject, jmethodID, |
---|
324 | ...); |
---|
325 | jfloat (*CallFloatMethodV) (JNIEnv *, jobject, jmethodID, |
---|
326 | _Jv_va_list); |
---|
327 | jfloat (*CallFloatMethodA) (JNIEnv *, jobject, jmethodID, |
---|
328 | jvalue *); |
---|
329 | jdouble (*CallDoubleMethod) (JNIEnv *, jobject, jmethodID, |
---|
330 | ...); |
---|
331 | jdouble (*CallDoubleMethodV) (JNIEnv *, jobject, jmethodID, |
---|
332 | _Jv_va_list); |
---|
333 | jdouble (*CallDoubleMethodA) (JNIEnv *, jobject, jmethodID, |
---|
334 | jvalue *); |
---|
335 | void (*CallVoidMethod) (JNIEnv *, jobject, jmethodID, |
---|
336 | ...); |
---|
337 | void (*CallVoidMethodV) (JNIEnv *, jobject, jmethodID, |
---|
338 | _Jv_va_list); |
---|
339 | void (*CallVoidMethodA) (JNIEnv *, jobject, jmethodID, |
---|
340 | jvalue *); |
---|
341 | |
---|
342 | jobject (*CallNonvirtualObjectMethod) (JNIEnv *, jobject, jclass, |
---|
343 | jmethodID, ...); |
---|
344 | jobject (*CallNonvirtualObjectMethodV) (JNIEnv *, jobject, jclass, |
---|
345 | jmethodID, _Jv_va_list); |
---|
346 | jobject (*CallNonvirtualObjectMethodA) (JNIEnv *, jobject, jclass, |
---|
347 | jmethodID, jvalue *); |
---|
348 | jboolean (*CallNonvirtualBooleanMethod) (JNIEnv *, jobject, jclass, |
---|
349 | jmethodID, ...); |
---|
350 | jboolean (*CallNonvirtualBooleanMethodV) (JNIEnv *, jobject, jclass, |
---|
351 | jmethodID, _Jv_va_list); |
---|
352 | jboolean (*CallNonvirtualBooleanMethodA) (JNIEnv *, jobject, jclass, |
---|
353 | jmethodID, jvalue *); |
---|
354 | jbyte (*CallNonvirtualByteMethod) (JNIEnv *, jobject, jclass, |
---|
355 | jmethodID, ...); |
---|
356 | jbyte (*CallNonvirtualByteMethodV) (JNIEnv *, jobject, jclass, |
---|
357 | jmethodID, _Jv_va_list); |
---|
358 | jbyte (*CallNonvirtualByteMethodA) (JNIEnv *, jobject, jclass, |
---|
359 | jmethodID, jvalue *); |
---|
360 | jchar (*CallNonvirtualCharMethod) (JNIEnv *, jobject, jclass, |
---|
361 | jmethodID, ...); |
---|
362 | jchar (*CallNonvirtualCharMethodV) (JNIEnv *, jobject, jclass, |
---|
363 | jmethodID, _Jv_va_list); |
---|
364 | jchar (*CallNonvirtualCharMethodA) (JNIEnv *, jobject, jclass, |
---|
365 | jmethodID, jvalue *); |
---|
366 | jshort (*CallNonvirtualShortMethod) (JNIEnv *, jobject, jclass, |
---|
367 | jmethodID, ...); |
---|
368 | jshort (*CallNonvirtualShortMethodV) (JNIEnv *, jobject, jclass, |
---|
369 | jmethodID, _Jv_va_list); |
---|
370 | jshort (*CallNonvirtualShortMethodA) (JNIEnv *, jobject, jclass, |
---|
371 | jmethodID, jvalue *); |
---|
372 | jint (*CallNonvirtualIntMethod) (JNIEnv *, jobject, jclass, |
---|
373 | jmethodID, ...); |
---|
374 | jint (*CallNonvirtualIntMethodV) (JNIEnv *, jobject, jclass, |
---|
375 | jmethodID, _Jv_va_list); |
---|
376 | jint (*CallNonvirtualIntMethodA) (JNIEnv *, jobject, jclass, |
---|
377 | jmethodID, jvalue *); |
---|
378 | jlong (*CallNonvirtualLongMethod) (JNIEnv *, jobject, jclass, |
---|
379 | jmethodID, ...); |
---|
380 | jlong (*CallNonvirtualLongMethodV) (JNIEnv *, jobject, jclass, |
---|
381 | jmethodID, _Jv_va_list); |
---|
382 | jlong (*CallNonvirtualLongMethodA) (JNIEnv *, jobject, jclass, |
---|
383 | jmethodID, jvalue *); |
---|
384 | jfloat (*CallNonvirtualFloatMethod) (JNIEnv *, jobject, jclass, |
---|
385 | jmethodID, ...); |
---|
386 | jfloat (*CallNonvirtualFloatMethodV) (JNIEnv *, jobject, jclass, |
---|
387 | jmethodID, _Jv_va_list); |
---|
388 | jfloat (*CallNonvirtualFloatMethodA) (JNIEnv *, jobject, jclass, |
---|
389 | jmethodID, jvalue *); |
---|
390 | jdouble (*CallNonvirtualDoubleMethod) (JNIEnv *, jobject, jclass, |
---|
391 | jmethodID, ...); |
---|
392 | jdouble (*CallNonvirtualDoubleMethodV) (JNIEnv *, jobject, jclass, |
---|
393 | jmethodID, _Jv_va_list); |
---|
394 | jdouble (*CallNonvirtualDoubleMethodA) (JNIEnv *, jobject, jclass, |
---|
395 | jmethodID, jvalue *); |
---|
396 | void (*CallNonvirtualVoidMethod) (JNIEnv *, jobject, jclass, |
---|
397 | jmethodID, ...); |
---|
398 | void (*CallNonvirtualVoidMethodV) (JNIEnv *, jobject, jclass, |
---|
399 | jmethodID, _Jv_va_list); |
---|
400 | void (*CallNonvirtualVoidMethodA) (JNIEnv *, jobject, jclass, |
---|
401 | jmethodID, jvalue *); |
---|
402 | |
---|
403 | jfieldID (*GetFieldID) (JNIEnv *, jclass, const char *, |
---|
404 | const char *); |
---|
405 | |
---|
406 | jobject (*GetObjectField) (JNIEnv *, jobject, jfieldID); |
---|
407 | jboolean (*GetBooleanField) (JNIEnv *, jobject, jfieldID); |
---|
408 | jbyte (*GetByteField) (JNIEnv *, jobject, jfieldID); |
---|
409 | jchar (*GetCharField) (JNIEnv *, jobject, jfieldID); |
---|
410 | jshort (*GetShortField) (JNIEnv *, jobject, jfieldID); |
---|
411 | jint (*GetIntField) (JNIEnv *, jobject, jfieldID); |
---|
412 | jlong (*GetLongField) (JNIEnv *, jobject, jfieldID); |
---|
413 | jfloat (*GetFloatField) (JNIEnv *, jobject, jfieldID); |
---|
414 | jdouble (*GetDoubleField) (JNIEnv *, jobject, jfieldID); |
---|
415 | |
---|
416 | void (*SetObjectField) (JNIEnv *, jobject, |
---|
417 | jfieldID, jobject); |
---|
418 | void (*SetBooleanField) (JNIEnv *, jobject, |
---|
419 | jfieldID, jboolean); |
---|
420 | void (*SetByteField) (JNIEnv *, jobject, |
---|
421 | jfieldID, jbyte); |
---|
422 | void (*SetCharField) (JNIEnv *, jobject, |
---|
423 | jfieldID, jchar); |
---|
424 | void (*SetShortField) (JNIEnv *, jobject, |
---|
425 | jfieldID, jshort); |
---|
426 | void (*SetIntField) (JNIEnv *, jobject, |
---|
427 | jfieldID, jint); |
---|
428 | void (*SetLongField) (JNIEnv *, jobject, |
---|
429 | jfieldID, jlong); |
---|
430 | void (*SetFloatField) (JNIEnv *, jobject, |
---|
431 | jfieldID, jfloat); |
---|
432 | void (*SetDoubleField) (JNIEnv *, jobject, |
---|
433 | jfieldID, jdouble); |
---|
434 | |
---|
435 | jmethodID (*GetStaticMethodID) (JNIEnv *, jclass, const char *, |
---|
436 | const char *); |
---|
437 | |
---|
438 | jobject (*CallStaticObjectMethod) (JNIEnv *, jclass, jmethodID, |
---|
439 | ...); |
---|
440 | jobject (*CallStaticObjectMethodV) (JNIEnv *, jclass, jmethodID, |
---|
441 | _Jv_va_list); |
---|
442 | jobject (*CallStaticObjectMethodA) (JNIEnv *, jclass, jmethodID, |
---|
443 | jvalue *); |
---|
444 | jboolean (*CallStaticBooleanMethod) (JNIEnv *, jclass, jmethodID, |
---|
445 | ...); |
---|
446 | jboolean (*CallStaticBooleanMethodV) (JNIEnv *, jclass, jmethodID, |
---|
447 | _Jv_va_list); |
---|
448 | jboolean (*CallStaticBooleanMethodA) (JNIEnv *, jclass, jmethodID, |
---|
449 | jvalue *); |
---|
450 | jbyte (*CallStaticByteMethod) (JNIEnv *, jclass, jmethodID, |
---|
451 | ...); |
---|
452 | jbyte (*CallStaticByteMethodV) (JNIEnv *, jclass, jmethodID, |
---|
453 | _Jv_va_list); |
---|
454 | jbyte (*CallStaticByteMethodA) (JNIEnv *, jclass, jmethodID, |
---|
455 | jvalue *); |
---|
456 | jchar (*CallStaticCharMethod) (JNIEnv *, jclass, jmethodID, |
---|
457 | ...); |
---|
458 | jchar (*CallStaticCharMethodV) (JNIEnv *, jclass, jmethodID, |
---|
459 | _Jv_va_list); |
---|
460 | jchar (*CallStaticCharMethodA) (JNIEnv *, jclass, jmethodID, |
---|
461 | jvalue *); |
---|
462 | jshort (*CallStaticShortMethod) (JNIEnv *, jclass, jmethodID, |
---|
463 | ...); |
---|
464 | jshort (*CallStaticShortMethodV) (JNIEnv *, jclass, jmethodID, |
---|
465 | _Jv_va_list); |
---|
466 | jshort (*CallStaticShortMethodA) (JNIEnv *, jclass, jmethodID, |
---|
467 | jvalue *); |
---|
468 | jint (*CallStaticIntMethod) (JNIEnv *, jclass, jmethodID, |
---|
469 | ...); |
---|
470 | jint (*CallStaticIntMethodV) (JNIEnv *, jclass, jmethodID, |
---|
471 | _Jv_va_list); |
---|
472 | jint (*CallStaticIntMethodA) (JNIEnv *, jclass, jmethodID, |
---|
473 | jvalue *); |
---|
474 | jlong (*CallStaticLongMethod) (JNIEnv *, jclass, jmethodID, |
---|
475 | ...); |
---|
476 | jlong (*CallStaticLongMethodV) (JNIEnv *, jclass, jmethodID, |
---|
477 | _Jv_va_list); |
---|
478 | jlong (*CallStaticLongMethodA) (JNIEnv *, jclass, jmethodID, |
---|
479 | jvalue *); |
---|
480 | jfloat (*CallStaticFloatMethod) (JNIEnv *, jclass, jmethodID, |
---|
481 | ...); |
---|
482 | jfloat (*CallStaticFloatMethodV) (JNIEnv *, jclass, jmethodID, |
---|
483 | _Jv_va_list); |
---|
484 | jfloat (*CallStaticFloatMethodA) (JNIEnv *, jclass, jmethodID, |
---|
485 | jvalue *); |
---|
486 | jdouble (*CallStaticDoubleMethod) (JNIEnv *, jclass, jmethodID, |
---|
487 | ...); |
---|
488 | jdouble (*CallStaticDoubleMethodV) (JNIEnv *, jclass, jmethodID, |
---|
489 | _Jv_va_list); |
---|
490 | jdouble (*CallStaticDoubleMethodA) (JNIEnv *, jclass, jmethodID, |
---|
491 | jvalue *); |
---|
492 | void (*CallStaticVoidMethod) (JNIEnv *, jclass, jmethodID, |
---|
493 | ...); |
---|
494 | void (*CallStaticVoidMethodV) (JNIEnv *, jclass, jmethodID, |
---|
495 | _Jv_va_list); |
---|
496 | void (*CallStaticVoidMethodA) (JNIEnv *, jclass, jmethodID, |
---|
497 | jvalue *); |
---|
498 | |
---|
499 | jfieldID (*GetStaticFieldID) (JNIEnv *, jclass, const char *, |
---|
500 | const char *); |
---|
501 | |
---|
502 | jobject (*GetStaticObjectField) (JNIEnv *, jclass, jfieldID); |
---|
503 | jboolean (*GetStaticBooleanField) (JNIEnv *, jclass, jfieldID); |
---|
504 | jbyte (*GetStaticByteField) (JNIEnv *, jclass, jfieldID); |
---|
505 | jchar (*GetStaticCharField) (JNIEnv *, jclass, jfieldID); |
---|
506 | jshort (*GetStaticShortField) (JNIEnv *, jclass, jfieldID); |
---|
507 | jint (*GetStaticIntField) (JNIEnv *, jclass, jfieldID); |
---|
508 | jlong (*GetStaticLongField) (JNIEnv *, jclass, jfieldID); |
---|
509 | jfloat (*GetStaticFloatField) (JNIEnv *, jclass, jfieldID); |
---|
510 | jdouble (*GetStaticDoubleField) (JNIEnv *, jclass, jfieldID); |
---|
511 | |
---|
512 | void (*SetStaticObjectField) (JNIEnv *, jclass, |
---|
513 | jfieldID, jobject); |
---|
514 | void (*SetStaticBooleanField) (JNIEnv *, jclass, |
---|
515 | jfieldID, jboolean); |
---|
516 | void (*SetStaticByteField) (JNIEnv *, jclass, |
---|
517 | jfieldID, jbyte); |
---|
518 | void (*SetStaticCharField) (JNIEnv *, jclass, |
---|
519 | jfieldID, jchar); |
---|
520 | void (*SetStaticShortField) (JNIEnv *, jclass, |
---|
521 | jfieldID, jshort); |
---|
522 | void (*SetStaticIntField) (JNIEnv *, jclass, |
---|
523 | jfieldID, jint); |
---|
524 | void (*SetStaticLongField) (JNIEnv *, jclass, |
---|
525 | jfieldID, jlong); |
---|
526 | void (*SetStaticFloatField) (JNIEnv *, jclass, |
---|
527 | jfieldID, jfloat); |
---|
528 | void (*SetStaticDoubleField) (JNIEnv *, jclass, |
---|
529 | jfieldID, jdouble); |
---|
530 | |
---|
531 | jstring (*NewString) (JNIEnv *, const jchar *, jsize); |
---|
532 | jsize (*GetStringLength) (JNIEnv *, jstring); |
---|
533 | const jchar * (*GetStringChars) (JNIEnv *, jstring, jboolean *); |
---|
534 | void (*ReleaseStringChars) (JNIEnv *, jstring, const jchar *); |
---|
535 | jstring (*NewStringUTF) (JNIEnv *, const char *); |
---|
536 | jsize (*GetStringUTFLength) (JNIEnv *, jstring); |
---|
537 | const char * (*GetStringUTFChars) (JNIEnv *, jstring, jboolean *); |
---|
538 | void (*ReleaseStringUTFChars) (JNIEnv *, jstring, const char *); |
---|
539 | jsize (*GetArrayLength) (JNIEnv *, jarray); |
---|
540 | jarray (*NewObjectArray) (JNIEnv *, jsize, jclass, jobject); |
---|
541 | jobject (*GetObjectArrayElement) (JNIEnv *, jobjectArray, jsize); |
---|
542 | void (*SetObjectArrayElement) (JNIEnv *, jobjectArray, jsize, |
---|
543 | jobject); |
---|
544 | |
---|
545 | jbooleanArray (*NewBooleanArray) (JNIEnv *, jsize); |
---|
546 | jbyteArray (*NewByteArray) (JNIEnv *, jsize); |
---|
547 | jcharArray (*NewCharArray) (JNIEnv *, jsize); |
---|
548 | jshortArray (*NewShortArray) (JNIEnv *, jsize); |
---|
549 | jintArray (*NewIntArray) (JNIEnv *, jsize); |
---|
550 | jlongArray (*NewLongArray) (JNIEnv *, jsize); |
---|
551 | jfloatArray (*NewFloatArray) (JNIEnv *, jsize); |
---|
552 | jdoubleArray (*NewDoubleArray) (JNIEnv *, jsize); |
---|
553 | |
---|
554 | jboolean * (*GetBooleanArrayElements) (JNIEnv *, jbooleanArray, |
---|
555 | jboolean *); |
---|
556 | jbyte * (*GetByteArrayElements) (JNIEnv *, jbyteArray, |
---|
557 | jboolean *); |
---|
558 | jchar * (*GetCharArrayElements) (JNIEnv *, jcharArray, |
---|
559 | jboolean *); |
---|
560 | jshort * (*GetShortArrayElements) (JNIEnv *, jshortArray, |
---|
561 | jboolean *); |
---|
562 | jint * (*GetIntArrayElements) (JNIEnv *, jintArray, |
---|
563 | jboolean *); |
---|
564 | jlong * (*GetLongArrayElements) (JNIEnv *, jlongArray, |
---|
565 | jboolean *); |
---|
566 | jfloat * (*GetFloatArrayElements) (JNIEnv *, jfloatArray, |
---|
567 | jboolean *); |
---|
568 | jdouble * (*GetDoubleArrayElements) (JNIEnv *, jdoubleArray, |
---|
569 | jboolean *); |
---|
570 | |
---|
571 | void (*ReleaseBooleanArrayElements) (JNIEnv *, jbooleanArray, |
---|
572 | jboolean *, jint); |
---|
573 | void (*ReleaseByteArrayElements) (JNIEnv *, jbyteArray, |
---|
574 | jbyte *, jint); |
---|
575 | void (*ReleaseCharArrayElements) (JNIEnv *, jcharArray, |
---|
576 | jchar *, jint); |
---|
577 | void (*ReleaseShortArrayElements) (JNIEnv *, jshortArray, |
---|
578 | jshort *, jint); |
---|
579 | void (*ReleaseIntArrayElements) (JNIEnv *, jintArray, |
---|
580 | jint *, jint); |
---|
581 | void (*ReleaseLongArrayElements) (JNIEnv *, jlongArray, |
---|
582 | jlong *, jint); |
---|
583 | void (*ReleaseFloatArrayElements) (JNIEnv *, jfloatArray, |
---|
584 | jfloat *, jint); |
---|
585 | void (*ReleaseDoubleArrayElements) (JNIEnv *, jdoubleArray, |
---|
586 | jdouble *, jint); |
---|
587 | |
---|
588 | void (*GetBooleanArrayRegion) (JNIEnv *, jbooleanArray, |
---|
589 | jsize, jsize, jboolean *); |
---|
590 | void (*GetByteArrayRegion) (JNIEnv *, jbyteArray, |
---|
591 | jsize, jsize, jbyte *); |
---|
592 | void (*GetCharArrayRegion) (JNIEnv *, jcharArray, |
---|
593 | jsize, jsize, jchar *); |
---|
594 | void (*GetShortArrayRegion) (JNIEnv *, jshortArray, |
---|
595 | jsize, jsize, jshort *); |
---|
596 | void (*GetIntArrayRegion) (JNIEnv *, jintArray, |
---|
597 | jsize, jsize, jint *); |
---|
598 | void (*GetLongArrayRegion) (JNIEnv *, jlongArray, |
---|
599 | jsize, jsize, jlong *); |
---|
600 | void (*GetFloatArrayRegion) (JNIEnv *, jfloatArray, |
---|
601 | jsize, jsize, jfloat *); |
---|
602 | void (*GetDoubleArrayRegion) (JNIEnv *, jdoubleArray, |
---|
603 | jsize, jsize, jdouble *); |
---|
604 | |
---|
605 | void (*SetBooleanArrayRegion) (JNIEnv *, jbooleanArray, |
---|
606 | jsize, jsize, jboolean *); |
---|
607 | void (*SetByteArrayRegion) (JNIEnv *, jbyteArray, |
---|
608 | jsize, jsize, jbyte *); |
---|
609 | void (*SetCharArrayRegion) (JNIEnv *, jcharArray, |
---|
610 | jsize, jsize, jchar *); |
---|
611 | void (*SetShortArrayRegion) (JNIEnv *, jshortArray, |
---|
612 | jsize, jsize, jshort *); |
---|
613 | void (*SetIntArrayRegion) (JNIEnv *, jintArray, |
---|
614 | jsize, jsize, jint *); |
---|
615 | void (*SetLongArrayRegion) (JNIEnv *, jlongArray, |
---|
616 | jsize, jsize, jlong *); |
---|
617 | void (*SetFloatArrayRegion) (JNIEnv *, jfloatArray, |
---|
618 | jsize, jsize, jfloat *); |
---|
619 | void (*SetDoubleArrayRegion) (JNIEnv *, jdoubleArray, |
---|
620 | jsize, jsize, jdouble *); |
---|
621 | |
---|
622 | jint (*RegisterNatives) (JNIEnv *, jclass, |
---|
623 | const JNINativeMethod *, jint); |
---|
624 | jint (*UnregisterNatives) (JNIEnv *, jclass); |
---|
625 | jint (*MonitorEnter) (JNIEnv *, jobject); |
---|
626 | jint (*MonitorExit) (JNIEnv *, jobject); |
---|
627 | jint (*GetJavaVM) (JNIEnv *, JavaVM **); |
---|
628 | |
---|
629 | void (*GetStringRegion) (JNIEnv *, jstring, jsize, |
---|
630 | jsize, jchar *); |
---|
631 | void (*GetStringUTFRegion) (JNIEnv *, jstring, jsize, |
---|
632 | jsize, char *); |
---|
633 | |
---|
634 | void * (*GetPrimitiveArrayCritical) (JNIEnv *, jarray, jboolean *); |
---|
635 | void (*ReleasePrimitiveArrayCritical) (JNIEnv *, jarray, void *, jint); |
---|
636 | |
---|
637 | const jchar * (*GetStringCritical) (JNIEnv *, jstring, jboolean *); |
---|
638 | void (*ReleaseStringCritical) (JNIEnv *, jstring, const jchar *); |
---|
639 | |
---|
640 | jweak (*NewWeakGlobalRef) (JNIEnv *, jobject); |
---|
641 | void (*DeleteWeakGlobalRef) (JNIEnv *, jweak); |
---|
642 | |
---|
643 | jboolean (*ExceptionCheck) (JNIEnv *); |
---|
644 | }; |
---|
645 | |
---|
646 | #ifdef __cplusplus |
---|
647 | |
---|
648 | class _Jv_JNIEnv |
---|
649 | { |
---|
650 | public: |
---|
651 | /* The method table. */ |
---|
652 | struct JNINativeInterface *p; |
---|
653 | |
---|
654 | /* This is ugly, but we must live with it. */ |
---|
655 | #ifndef __GCJ_JNI_IMPL__ |
---|
656 | private: |
---|
657 | #endif |
---|
658 | /* The current exception. */ |
---|
659 | jthrowable ex; |
---|
660 | |
---|
661 | /* The class of the current native method. */ |
---|
662 | jclass klass; |
---|
663 | |
---|
664 | /* The chain of local frames. */ |
---|
665 | struct _Jv_JNI_LocalFrame *locals; |
---|
666 | |
---|
667 | public: |
---|
668 | jint GetVersion () |
---|
669 | { return p->GetVersion (this); } |
---|
670 | |
---|
671 | jclass DefineClass (jobject obj0, const jbyte * val1, jsize val2) |
---|
672 | { return p->DefineClass (this, obj0, val1, val2); } |
---|
673 | |
---|
674 | jclass FindClass (const char * val0) |
---|
675 | { return p->FindClass (this, val0); } |
---|
676 | |
---|
677 | jmethodID FromReflectedMethod (jobject obj0) |
---|
678 | { return p->FromReflectedMethod (this, obj0); } |
---|
679 | |
---|
680 | jfieldID FromReflectedField (jobject obj0) |
---|
681 | { return p->FromReflectedField (this, obj0); } |
---|
682 | |
---|
683 | jobject ToReflectedMethod (jclass cl0, jmethodID meth1, jboolean val2) |
---|
684 | { return p->ToReflectedMethod (this, cl0, meth1, val2); } |
---|
685 | |
---|
686 | jclass GetSuperclass (jclass cl0) |
---|
687 | { return p->GetSuperclass (this, cl0); } |
---|
688 | |
---|
689 | jboolean IsAssignableFrom (jclass cl0, jclass cl1) |
---|
690 | { return p->IsAssignableFrom (this, cl0, cl1); } |
---|
691 | |
---|
692 | jobject ToReflectedField (jclass cl0, jfieldID fld1, jboolean val2) |
---|
693 | { return p->ToReflectedField (this, cl0, fld1, val2); } |
---|
694 | |
---|
695 | jint Throw (jthrowable val0) |
---|
696 | { return p->Throw (this, val0); } |
---|
697 | |
---|
698 | jint ThrowNew (jclass cl0, const char * val1) |
---|
699 | { return p->ThrowNew (this, cl0, val1); } |
---|
700 | |
---|
701 | jthrowable ExceptionOccurred () |
---|
702 | { return p->ExceptionOccurred (this); } |
---|
703 | |
---|
704 | void ExceptionDescribe () |
---|
705 | { p->ExceptionDescribe (this); } |
---|
706 | |
---|
707 | void ExceptionClear () |
---|
708 | { p->ExceptionClear (this); } |
---|
709 | |
---|
710 | void FatalError (const char * val0) |
---|
711 | { p->FatalError (this, val0); } |
---|
712 | |
---|
713 | jint PushLocalFrame (jint val0) |
---|
714 | { return p->PushLocalFrame (this, val0); } |
---|
715 | |
---|
716 | jobject PopLocalFrame (jobject obj0) |
---|
717 | { return p->PopLocalFrame (this, obj0); } |
---|
718 | |
---|
719 | jobject NewGlobalRef (jobject obj0) |
---|
720 | { return p->NewGlobalRef (this, obj0); } |
---|
721 | |
---|
722 | void DeleteGlobalRef (jobject obj0) |
---|
723 | { p->DeleteGlobalRef (this, obj0); } |
---|
724 | |
---|
725 | void DeleteLocalRef (jobject obj0) |
---|
726 | { p->DeleteLocalRef (this, obj0); } |
---|
727 | |
---|
728 | jboolean IsSameObject (jobject obj0, jobject obj1) |
---|
729 | { return p->IsSameObject (this, obj0, obj1); } |
---|
730 | |
---|
731 | jobject NewLocalRef (jobject obj0) |
---|
732 | { return p->NewLocalRef (this, obj0); } |
---|
733 | |
---|
734 | jint EnsureLocalCapacity (jint val0) |
---|
735 | { return p->EnsureLocalCapacity (this, val0); } |
---|
736 | |
---|
737 | jobject AllocObject (jclass cl0) |
---|
738 | { return p->AllocObject (this, cl0); } |
---|
739 | |
---|
740 | jobject NewObject (jclass cl0, jmethodID meth1, ...) |
---|
741 | { |
---|
742 | _Jv_va_list args; |
---|
743 | va_start (args, meth1); |
---|
744 | jobject result = p->NewObjectV (this, cl0, meth1, args); |
---|
745 | va_end (args); |
---|
746 | return result; |
---|
747 | } |
---|
748 | |
---|
749 | jobject NewObjectV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
750 | { return p->NewObjectV (this, cl0, meth1, val2); } |
---|
751 | |
---|
752 | jobject NewObjectA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
753 | { return p->NewObjectA (this, cl0, meth1, val2); } |
---|
754 | |
---|
755 | jclass GetObjectClass (jobject obj0) |
---|
756 | { return p->GetObjectClass (this, obj0); } |
---|
757 | |
---|
758 | jboolean IsInstanceOf (jobject obj0, jclass cl1) |
---|
759 | { return p->IsInstanceOf (this, obj0, cl1); } |
---|
760 | |
---|
761 | jmethodID GetMethodID (jclass cl0, const char * val1, const char * val2) |
---|
762 | { return p->GetMethodID (this, cl0, val1, val2); } |
---|
763 | |
---|
764 | jobject CallObjectMethod (jobject obj0, jmethodID meth1, ...) |
---|
765 | { |
---|
766 | _Jv_va_list args; |
---|
767 | va_start (args, meth1); |
---|
768 | jobject result = p->CallObjectMethodV (this, obj0, meth1, args); |
---|
769 | va_end (args); |
---|
770 | return result; |
---|
771 | } |
---|
772 | |
---|
773 | jobject CallObjectMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
774 | { return p->CallObjectMethodV (this, obj0, meth1, val2); } |
---|
775 | |
---|
776 | jobject CallObjectMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
777 | { return p->CallObjectMethodA (this, obj0, meth1, val2); } |
---|
778 | |
---|
779 | jboolean CallBooleanMethod (jobject obj0, jmethodID meth1, ...) |
---|
780 | { |
---|
781 | _Jv_va_list args; |
---|
782 | va_start (args, meth1); |
---|
783 | jboolean result = p->CallBooleanMethodV (this, obj0, meth1, args); |
---|
784 | va_end (args); |
---|
785 | return result; |
---|
786 | } |
---|
787 | |
---|
788 | jboolean CallBooleanMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
789 | { return p->CallBooleanMethodV (this, obj0, meth1, val2); } |
---|
790 | |
---|
791 | jboolean CallBooleanMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
792 | { return p->CallBooleanMethodA (this, obj0, meth1, val2); } |
---|
793 | |
---|
794 | jbyte CallByteMethod (jobject obj0, jmethodID meth1, ...) |
---|
795 | { |
---|
796 | _Jv_va_list args; |
---|
797 | va_start (args, meth1); |
---|
798 | jbyte result = p->CallByteMethodV (this, obj0, meth1, args); |
---|
799 | va_end (args); |
---|
800 | return result; |
---|
801 | } |
---|
802 | |
---|
803 | jbyte CallByteMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
804 | { return p->CallByteMethodV (this, obj0, meth1, val2); } |
---|
805 | |
---|
806 | jbyte CallByteMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
807 | { return p->CallByteMethodA (this, obj0, meth1, val2); } |
---|
808 | |
---|
809 | jchar CallCharMethod (jobject obj0, jmethodID meth1, ...) |
---|
810 | { |
---|
811 | _Jv_va_list args; |
---|
812 | va_start (args, meth1); |
---|
813 | jchar result = p->CallCharMethodV (this, obj0, meth1, args); |
---|
814 | va_end (args); |
---|
815 | return result; |
---|
816 | } |
---|
817 | |
---|
818 | jchar CallCharMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
819 | { return p->CallCharMethodV (this, obj0, meth1, val2); } |
---|
820 | |
---|
821 | jchar CallCharMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
822 | { return p->CallCharMethodA (this, obj0, meth1, val2); } |
---|
823 | |
---|
824 | jshort CallShortMethod (jobject obj0, jmethodID meth1, ...) |
---|
825 | { |
---|
826 | _Jv_va_list args; |
---|
827 | va_start (args, meth1); |
---|
828 | jshort result = p->CallShortMethodV (this, obj0, meth1, args); |
---|
829 | va_end (args); |
---|
830 | return result; |
---|
831 | } |
---|
832 | |
---|
833 | jshort CallShortMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
834 | { return p->CallShortMethodV (this, obj0, meth1, val2); } |
---|
835 | |
---|
836 | jshort CallShortMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
837 | { return p->CallShortMethodA (this, obj0, meth1, val2); } |
---|
838 | |
---|
839 | jint CallIntMethod (jobject obj0, jmethodID meth1, ...) |
---|
840 | { |
---|
841 | _Jv_va_list args; |
---|
842 | va_start (args, meth1); |
---|
843 | jint result = p->CallIntMethodV (this, obj0, meth1, args); |
---|
844 | va_end (args); |
---|
845 | return result; |
---|
846 | } |
---|
847 | |
---|
848 | jint CallIntMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
849 | { return p->CallIntMethodV (this, obj0, meth1, val2); } |
---|
850 | |
---|
851 | jint CallIntMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
852 | { return p->CallIntMethodA (this, obj0, meth1, val2); } |
---|
853 | |
---|
854 | jlong CallLongMethod (jobject obj0, jmethodID meth1, ...) |
---|
855 | { |
---|
856 | _Jv_va_list args; |
---|
857 | va_start (args, meth1); |
---|
858 | jlong result = p->CallLongMethodV (this, obj0, meth1, args); |
---|
859 | va_end (args); |
---|
860 | return result; |
---|
861 | } |
---|
862 | |
---|
863 | jlong CallLongMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
864 | { return p->CallLongMethodV (this, obj0, meth1, val2); } |
---|
865 | |
---|
866 | jlong CallLongMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
867 | { return p->CallLongMethodA (this, obj0, meth1, val2); } |
---|
868 | |
---|
869 | jfloat CallFloatMethod (jobject obj0, jmethodID meth1, ...) |
---|
870 | { |
---|
871 | _Jv_va_list args; |
---|
872 | va_start (args, meth1); |
---|
873 | jfloat result = p->CallFloatMethodV (this, obj0, meth1, args); |
---|
874 | va_end (args); |
---|
875 | return result; |
---|
876 | } |
---|
877 | |
---|
878 | jfloat CallFloatMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
879 | { return p->CallFloatMethodV (this, obj0, meth1, val2); } |
---|
880 | |
---|
881 | jfloat CallFloatMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
882 | { return p->CallFloatMethodA (this, obj0, meth1, val2); } |
---|
883 | |
---|
884 | jdouble CallDoubleMethod (jobject obj0, jmethodID meth1, ...) |
---|
885 | { |
---|
886 | _Jv_va_list args; |
---|
887 | va_start (args, meth1); |
---|
888 | jdouble result = p->CallDoubleMethodV (this, obj0, meth1, args); |
---|
889 | va_end (args); |
---|
890 | return result; |
---|
891 | } |
---|
892 | |
---|
893 | jdouble CallDoubleMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
894 | { return p->CallDoubleMethodV (this, obj0, meth1, val2); } |
---|
895 | |
---|
896 | jdouble CallDoubleMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
897 | { return p->CallDoubleMethodA (this, obj0, meth1, val2); } |
---|
898 | |
---|
899 | void CallVoidMethod (jobject obj0, jmethodID meth1, ...) |
---|
900 | { |
---|
901 | _Jv_va_list args; |
---|
902 | va_start (args, meth1); |
---|
903 | p->CallVoidMethodV (this, obj0, meth1, args); |
---|
904 | va_end (args); |
---|
905 | } |
---|
906 | |
---|
907 | void CallVoidMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2) |
---|
908 | { p->CallVoidMethodV (this, obj0, meth1, val2); } |
---|
909 | |
---|
910 | void CallVoidMethodA (jobject obj0, jmethodID meth1, jvalue * val2) |
---|
911 | { p->CallVoidMethodA (this, obj0, meth1, val2); } |
---|
912 | |
---|
913 | jobject CallNonvirtualObjectMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
914 | { |
---|
915 | _Jv_va_list args; |
---|
916 | va_start (args, meth2); |
---|
917 | jobject result = p->CallNonvirtualObjectMethodV (this, obj0, cl1, meth2, args); |
---|
918 | va_end (args); |
---|
919 | return result; |
---|
920 | } |
---|
921 | |
---|
922 | jobject CallNonvirtualObjectMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
923 | { return p->CallNonvirtualObjectMethodV (this, obj0, cl1, meth2, val3); } |
---|
924 | |
---|
925 | jobject CallNonvirtualObjectMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
926 | { return p->CallNonvirtualObjectMethodA (this, obj0, cl1, meth2, val3); } |
---|
927 | |
---|
928 | jboolean CallNonvirtualBooleanMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
929 | { |
---|
930 | _Jv_va_list args; |
---|
931 | va_start (args, meth2); |
---|
932 | jboolean result = p->CallNonvirtualBooleanMethodV (this, obj0, cl1, meth2, args); |
---|
933 | va_end (args); |
---|
934 | return result; |
---|
935 | } |
---|
936 | |
---|
937 | jboolean CallNonvirtualBooleanMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
938 | { return p->CallNonvirtualBooleanMethodV (this, obj0, cl1, meth2, val3); } |
---|
939 | |
---|
940 | jboolean CallNonvirtualBooleanMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
941 | { return p->CallNonvirtualBooleanMethodA (this, obj0, cl1, meth2, val3); } |
---|
942 | |
---|
943 | jbyte CallNonvirtualByteMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
944 | { |
---|
945 | _Jv_va_list args; |
---|
946 | va_start (args, meth2); |
---|
947 | jbyte result = p->CallNonvirtualByteMethodV (this, obj0, cl1, meth2, args); |
---|
948 | va_end (args); |
---|
949 | return result; |
---|
950 | } |
---|
951 | |
---|
952 | jbyte CallNonvirtualByteMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
953 | { return p->CallNonvirtualByteMethodV (this, obj0, cl1, meth2, val3); } |
---|
954 | |
---|
955 | jbyte CallNonvirtualByteMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
956 | { return p->CallNonvirtualByteMethodA (this, obj0, cl1, meth2, val3); } |
---|
957 | |
---|
958 | jchar CallNonvirtualCharMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
959 | { |
---|
960 | _Jv_va_list args; |
---|
961 | va_start (args, meth2); |
---|
962 | jchar result = p->CallNonvirtualCharMethodV (this, obj0, cl1, meth2, args); |
---|
963 | va_end (args); |
---|
964 | return result; |
---|
965 | } |
---|
966 | |
---|
967 | jchar CallNonvirtualCharMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
968 | { return p->CallNonvirtualCharMethodV (this, obj0, cl1, meth2, val3); } |
---|
969 | |
---|
970 | jchar CallNonvirtualCharMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
971 | { return p->CallNonvirtualCharMethodA (this, obj0, cl1, meth2, val3); } |
---|
972 | |
---|
973 | jshort CallNonvirtualShortMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
974 | { |
---|
975 | _Jv_va_list args; |
---|
976 | va_start (args, meth2); |
---|
977 | jshort result = p->CallNonvirtualShortMethodV (this, obj0, cl1, meth2, args); |
---|
978 | va_end (args); |
---|
979 | return result; |
---|
980 | } |
---|
981 | |
---|
982 | jshort CallNonvirtualShortMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
983 | { return p->CallNonvirtualShortMethodV (this, obj0, cl1, meth2, val3); } |
---|
984 | |
---|
985 | jshort CallNonvirtualShortMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
986 | { return p->CallNonvirtualShortMethodA (this, obj0, cl1, meth2, val3); } |
---|
987 | |
---|
988 | jint CallNonvirtualIntMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
989 | { |
---|
990 | _Jv_va_list args; |
---|
991 | va_start (args, meth2); |
---|
992 | jint result = p->CallNonvirtualIntMethodV (this, obj0, cl1, meth2, args); |
---|
993 | va_end (args); |
---|
994 | return result; |
---|
995 | } |
---|
996 | |
---|
997 | jint CallNonvirtualIntMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
998 | { return p->CallNonvirtualIntMethodV (this, obj0, cl1, meth2, val3); } |
---|
999 | |
---|
1000 | jint CallNonvirtualIntMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
1001 | { return p->CallNonvirtualIntMethodA (this, obj0, cl1, meth2, val3); } |
---|
1002 | |
---|
1003 | jlong CallNonvirtualLongMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
1004 | { |
---|
1005 | _Jv_va_list args; |
---|
1006 | va_start (args, meth2); |
---|
1007 | jlong result = p->CallNonvirtualLongMethodV (this, obj0, cl1, meth2, args); |
---|
1008 | va_end (args); |
---|
1009 | return result; |
---|
1010 | } |
---|
1011 | |
---|
1012 | jlong CallNonvirtualLongMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
1013 | { return p->CallNonvirtualLongMethodV (this, obj0, cl1, meth2, val3); } |
---|
1014 | |
---|
1015 | jlong CallNonvirtualLongMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
1016 | { return p->CallNonvirtualLongMethodA (this, obj0, cl1, meth2, val3); } |
---|
1017 | |
---|
1018 | jfloat CallNonvirtualFloatMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
1019 | { |
---|
1020 | _Jv_va_list args; |
---|
1021 | va_start (args, meth2); |
---|
1022 | jfloat result = p->CallNonvirtualFloatMethodV (this, obj0, cl1, meth2, args); |
---|
1023 | va_end (args); |
---|
1024 | return result; |
---|
1025 | } |
---|
1026 | |
---|
1027 | jfloat CallNonvirtualFloatMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
1028 | { return p->CallNonvirtualFloatMethodV (this, obj0, cl1, meth2, val3); } |
---|
1029 | |
---|
1030 | jfloat CallNonvirtualFloatMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
1031 | { return p->CallNonvirtualFloatMethodA (this, obj0, cl1, meth2, val3); } |
---|
1032 | |
---|
1033 | jdouble CallNonvirtualDoubleMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
1034 | { |
---|
1035 | _Jv_va_list args; |
---|
1036 | va_start (args, meth2); |
---|
1037 | jdouble result = p->CallNonvirtualDoubleMethodV (this, obj0, cl1, meth2, args); |
---|
1038 | va_end (args); |
---|
1039 | return result; |
---|
1040 | } |
---|
1041 | |
---|
1042 | jdouble CallNonvirtualDoubleMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
1043 | { return p->CallNonvirtualDoubleMethodV (this, obj0, cl1, meth2, val3); } |
---|
1044 | |
---|
1045 | jdouble CallNonvirtualDoubleMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
1046 | { return p->CallNonvirtualDoubleMethodA (this, obj0, cl1, meth2, val3); } |
---|
1047 | |
---|
1048 | void CallNonvirtualVoidMethod (jobject obj0, jclass cl1, jmethodID meth2, ...) |
---|
1049 | { |
---|
1050 | _Jv_va_list args; |
---|
1051 | va_start (args, meth2); |
---|
1052 | p->CallNonvirtualVoidMethodV (this, obj0, cl1, meth2, args); |
---|
1053 | va_end (args); |
---|
1054 | } |
---|
1055 | |
---|
1056 | void CallNonvirtualVoidMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3) |
---|
1057 | { p->CallNonvirtualVoidMethodV (this, obj0, cl1, meth2, val3); } |
---|
1058 | |
---|
1059 | void CallNonvirtualVoidMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3) |
---|
1060 | { p->CallNonvirtualVoidMethodA (this, obj0, cl1, meth2, val3); } |
---|
1061 | |
---|
1062 | jfieldID GetFieldID (jclass cl0, const char * val1, const char * val2) |
---|
1063 | { return p->GetFieldID (this, cl0, val1, val2); } |
---|
1064 | |
---|
1065 | jobject GetObjectField (jobject obj0, jfieldID fld1) |
---|
1066 | { return p->GetObjectField (this, obj0, fld1); } |
---|
1067 | |
---|
1068 | jboolean GetBooleanField (jobject obj0, jfieldID fld1) |
---|
1069 | { return p->GetBooleanField (this, obj0, fld1); } |
---|
1070 | |
---|
1071 | jbyte GetByteField (jobject obj0, jfieldID fld1) |
---|
1072 | { return p->GetByteField (this, obj0, fld1); } |
---|
1073 | |
---|
1074 | jchar GetCharField (jobject obj0, jfieldID fld1) |
---|
1075 | { return p->GetCharField (this, obj0, fld1); } |
---|
1076 | |
---|
1077 | jshort GetShortField (jobject obj0, jfieldID fld1) |
---|
1078 | { return p->GetShortField (this, obj0, fld1); } |
---|
1079 | |
---|
1080 | jint GetIntField (jobject obj0, jfieldID fld1) |
---|
1081 | { return p->GetIntField (this, obj0, fld1); } |
---|
1082 | |
---|
1083 | jlong GetLongField (jobject obj0, jfieldID fld1) |
---|
1084 | { return p->GetLongField (this, obj0, fld1); } |
---|
1085 | |
---|
1086 | jfloat GetFloatField (jobject obj0, jfieldID fld1) |
---|
1087 | { return p->GetFloatField (this, obj0, fld1); } |
---|
1088 | |
---|
1089 | jdouble GetDoubleField (jobject obj0, jfieldID fld1) |
---|
1090 | { return p->GetDoubleField (this, obj0, fld1); } |
---|
1091 | |
---|
1092 | void SetObjectField (jobject obj0, jfieldID fld1, jobject obj2) |
---|
1093 | { p->SetObjectField (this, obj0, fld1, obj2); } |
---|
1094 | |
---|
1095 | void SetBooleanField (jobject obj0, jfieldID fld1, jboolean val2) |
---|
1096 | { p->SetBooleanField (this, obj0, fld1, val2); } |
---|
1097 | |
---|
1098 | void SetByteField (jobject obj0, jfieldID fld1, jbyte val2) |
---|
1099 | { p->SetByteField (this, obj0, fld1, val2); } |
---|
1100 | |
---|
1101 | void SetCharField (jobject obj0, jfieldID fld1, jchar val2) |
---|
1102 | { p->SetCharField (this, obj0, fld1, val2); } |
---|
1103 | |
---|
1104 | void SetShortField (jobject obj0, jfieldID fld1, jshort val2) |
---|
1105 | { p->SetShortField (this, obj0, fld1, val2); } |
---|
1106 | |
---|
1107 | void SetIntField (jobject obj0, jfieldID fld1, jint val2) |
---|
1108 | { p->SetIntField (this, obj0, fld1, val2); } |
---|
1109 | |
---|
1110 | void SetLongField (jobject obj0, jfieldID fld1, jlong val2) |
---|
1111 | { p->SetLongField (this, obj0, fld1, val2); } |
---|
1112 | |
---|
1113 | void SetFloatField (jobject obj0, jfieldID fld1, jfloat val2) |
---|
1114 | { p->SetFloatField (this, obj0, fld1, val2); } |
---|
1115 | |
---|
1116 | void SetDoubleField (jobject obj0, jfieldID fld1, jdouble val2) |
---|
1117 | { p->SetDoubleField (this, obj0, fld1, val2); } |
---|
1118 | |
---|
1119 | jmethodID GetStaticMethodID (jclass cl0, const char * val1, const char * val2) |
---|
1120 | { return p->GetStaticMethodID (this, cl0, val1, val2); } |
---|
1121 | |
---|
1122 | jobject CallStaticObjectMethod (jclass cl0, jmethodID meth1, ...) |
---|
1123 | { |
---|
1124 | _Jv_va_list args; |
---|
1125 | va_start (args, meth1); |
---|
1126 | jobject result = p->CallStaticObjectMethodV (this, cl0, meth1, args); |
---|
1127 | va_end (args); |
---|
1128 | return result; |
---|
1129 | } |
---|
1130 | |
---|
1131 | jobject CallStaticObjectMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1132 | { return p->CallStaticObjectMethodV (this, cl0, meth1, val2); } |
---|
1133 | |
---|
1134 | jobject CallStaticObjectMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1135 | { return p->CallStaticObjectMethodA (this, cl0, meth1, val2); } |
---|
1136 | |
---|
1137 | jboolean CallStaticBooleanMethod (jclass cl0, jmethodID meth1, ...) |
---|
1138 | { |
---|
1139 | _Jv_va_list args; |
---|
1140 | va_start (args, meth1); |
---|
1141 | jboolean result = p->CallStaticBooleanMethodV (this, cl0, meth1, args); |
---|
1142 | va_end (args); |
---|
1143 | return result; |
---|
1144 | } |
---|
1145 | |
---|
1146 | jboolean CallStaticBooleanMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1147 | { return p->CallStaticBooleanMethodV (this, cl0, meth1, val2); } |
---|
1148 | |
---|
1149 | jboolean CallStaticBooleanMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1150 | { return p->CallStaticBooleanMethodA (this, cl0, meth1, val2); } |
---|
1151 | |
---|
1152 | jbyte CallStaticByteMethod (jclass cl0, jmethodID meth1, ...) |
---|
1153 | { |
---|
1154 | _Jv_va_list args; |
---|
1155 | va_start (args, meth1); |
---|
1156 | jbyte result = p->CallStaticByteMethodV (this, cl0, meth1, args); |
---|
1157 | va_end (args); |
---|
1158 | return result; |
---|
1159 | } |
---|
1160 | |
---|
1161 | jbyte CallStaticByteMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1162 | { return p->CallStaticByteMethodV (this, cl0, meth1, val2); } |
---|
1163 | |
---|
1164 | jbyte CallStaticByteMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1165 | { return p->CallStaticByteMethodA (this, cl0, meth1, val2); } |
---|
1166 | |
---|
1167 | jchar CallStaticCharMethod (jclass cl0, jmethodID meth1, ...) |
---|
1168 | { |
---|
1169 | _Jv_va_list args; |
---|
1170 | va_start (args, meth1); |
---|
1171 | jchar result = p->CallStaticCharMethodV (this, cl0, meth1, args); |
---|
1172 | va_end (args); |
---|
1173 | return result; |
---|
1174 | } |
---|
1175 | |
---|
1176 | jchar CallStaticCharMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1177 | { return p->CallStaticCharMethodV (this, cl0, meth1, val2); } |
---|
1178 | |
---|
1179 | jchar CallStaticCharMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1180 | { return p->CallStaticCharMethodA (this, cl0, meth1, val2); } |
---|
1181 | |
---|
1182 | jshort CallStaticShortMethod (jclass cl0, jmethodID meth1, ...) |
---|
1183 | { |
---|
1184 | _Jv_va_list args; |
---|
1185 | va_start (args, meth1); |
---|
1186 | jshort result = p->CallStaticShortMethodV (this, cl0, meth1, args); |
---|
1187 | va_end (args); |
---|
1188 | return result; |
---|
1189 | } |
---|
1190 | |
---|
1191 | jshort CallStaticShortMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1192 | { return p->CallStaticShortMethodV (this, cl0, meth1, val2); } |
---|
1193 | |
---|
1194 | jshort CallStaticShortMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1195 | { return p->CallStaticShortMethodA (this, cl0, meth1, val2); } |
---|
1196 | |
---|
1197 | jint CallStaticIntMethod (jclass cl0, jmethodID meth1, ...) |
---|
1198 | { |
---|
1199 | _Jv_va_list args; |
---|
1200 | va_start (args, meth1); |
---|
1201 | jint result = p->CallStaticIntMethodV (this, cl0, meth1, args); |
---|
1202 | va_end (args); |
---|
1203 | return result; |
---|
1204 | } |
---|
1205 | |
---|
1206 | jint CallStaticIntMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1207 | { return p->CallStaticIntMethodV (this, cl0, meth1, val2); } |
---|
1208 | |
---|
1209 | jint CallStaticIntMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1210 | { return p->CallStaticIntMethodA (this, cl0, meth1, val2); } |
---|
1211 | |
---|
1212 | jlong CallStaticLongMethod (jclass cl0, jmethodID meth1, ...) |
---|
1213 | { |
---|
1214 | _Jv_va_list args; |
---|
1215 | va_start (args, meth1); |
---|
1216 | jlong result = p->CallStaticLongMethodV (this, cl0, meth1, args); |
---|
1217 | va_end (args); |
---|
1218 | return result; |
---|
1219 | } |
---|
1220 | |
---|
1221 | jlong CallStaticLongMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1222 | { return p->CallStaticLongMethodV (this, cl0, meth1, val2); } |
---|
1223 | |
---|
1224 | jlong CallStaticLongMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1225 | { return p->CallStaticLongMethodA (this, cl0, meth1, val2); } |
---|
1226 | |
---|
1227 | jfloat CallStaticFloatMethod (jclass cl0, jmethodID meth1, ...) |
---|
1228 | { |
---|
1229 | _Jv_va_list args; |
---|
1230 | va_start (args, meth1); |
---|
1231 | jfloat result = p->CallStaticFloatMethodV (this, cl0, meth1, args); |
---|
1232 | va_end (args); |
---|
1233 | return result; |
---|
1234 | } |
---|
1235 | |
---|
1236 | jfloat CallStaticFloatMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1237 | { return p->CallStaticFloatMethodV (this, cl0, meth1, val2); } |
---|
1238 | |
---|
1239 | jfloat CallStaticFloatMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1240 | { return p->CallStaticFloatMethodA (this, cl0, meth1, val2); } |
---|
1241 | |
---|
1242 | jdouble CallStaticDoubleMethod (jclass cl0, jmethodID meth1, ...) |
---|
1243 | { |
---|
1244 | _Jv_va_list args; |
---|
1245 | va_start (args, meth1); |
---|
1246 | jdouble result = p->CallStaticDoubleMethodV (this, cl0, meth1, args); |
---|
1247 | va_end (args); |
---|
1248 | return result; |
---|
1249 | } |
---|
1250 | |
---|
1251 | jdouble CallStaticDoubleMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1252 | { return p->CallStaticDoubleMethodV (this, cl0, meth1, val2); } |
---|
1253 | |
---|
1254 | jdouble CallStaticDoubleMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1255 | { return p->CallStaticDoubleMethodA (this, cl0, meth1, val2); } |
---|
1256 | |
---|
1257 | void CallStaticVoidMethod (jclass cl0, jmethodID meth1, ...) |
---|
1258 | { |
---|
1259 | _Jv_va_list args; |
---|
1260 | va_start (args, meth1); |
---|
1261 | p->CallStaticVoidMethodV (this, cl0, meth1, args); |
---|
1262 | va_end (args); |
---|
1263 | } |
---|
1264 | |
---|
1265 | void CallStaticVoidMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2) |
---|
1266 | { p->CallStaticVoidMethodV (this, cl0, meth1, val2); } |
---|
1267 | |
---|
1268 | void CallStaticVoidMethodA (jclass cl0, jmethodID meth1, jvalue * val2) |
---|
1269 | { p->CallStaticVoidMethodA (this, cl0, meth1, val2); } |
---|
1270 | |
---|
1271 | jfieldID GetStaticFieldID (jclass cl0, const char * val1, const char * val2) |
---|
1272 | { return p->GetStaticFieldID (this, cl0, val1, val2); } |
---|
1273 | |
---|
1274 | jobject GetStaticObjectField (jclass cl0, jfieldID fld1) |
---|
1275 | { return p->GetStaticObjectField (this, cl0, fld1); } |
---|
1276 | |
---|
1277 | jboolean GetStaticBooleanField (jclass cl0, jfieldID fld1) |
---|
1278 | { return p->GetStaticBooleanField (this, cl0, fld1); } |
---|
1279 | |
---|
1280 | jbyte GetStaticByteField (jclass cl0, jfieldID fld1) |
---|
1281 | { return p->GetStaticByteField (this, cl0, fld1); } |
---|
1282 | |
---|
1283 | jchar GetStaticCharField (jclass cl0, jfieldID fld1) |
---|
1284 | { return p->GetStaticCharField (this, cl0, fld1); } |
---|
1285 | |
---|
1286 | jshort GetStaticShortField (jclass cl0, jfieldID fld1) |
---|
1287 | { return p->GetStaticShortField (this, cl0, fld1); } |
---|
1288 | |
---|
1289 | jint GetStaticIntField (jclass cl0, jfieldID fld1) |
---|
1290 | { return p->GetStaticIntField (this, cl0, fld1); } |
---|
1291 | |
---|
1292 | jlong GetStaticLongField (jclass cl0, jfieldID fld1) |
---|
1293 | { return p->GetStaticLongField (this, cl0, fld1); } |
---|
1294 | |
---|
1295 | jfloat GetStaticFloatField (jclass cl0, jfieldID fld1) |
---|
1296 | { return p->GetStaticFloatField (this, cl0, fld1); } |
---|
1297 | |
---|
1298 | jdouble GetStaticDoubleField (jclass cl0, jfieldID fld1) |
---|
1299 | { return p->GetStaticDoubleField (this, cl0, fld1); } |
---|
1300 | |
---|
1301 | void SetStaticObjectField (jclass cl0, jfieldID fld1, jobject obj2) |
---|
1302 | { p->SetStaticObjectField (this, cl0, fld1, obj2); } |
---|
1303 | |
---|
1304 | void SetStaticBooleanField (jclass cl0, jfieldID fld1, jboolean val2) |
---|
1305 | { p->SetStaticBooleanField (this, cl0, fld1, val2); } |
---|
1306 | |
---|
1307 | void SetStaticByteField (jclass cl0, jfieldID fld1, jbyte val2) |
---|
1308 | { p->SetStaticByteField (this, cl0, fld1, val2); } |
---|
1309 | |
---|
1310 | void SetStaticCharField (jclass cl0, jfieldID fld1, jchar val2) |
---|
1311 | { p->SetStaticCharField (this, cl0, fld1, val2); } |
---|
1312 | |
---|
1313 | void SetStaticShortField (jclass cl0, jfieldID fld1, jshort val2) |
---|
1314 | { p->SetStaticShortField (this, cl0, fld1, val2); } |
---|
1315 | |
---|
1316 | void SetStaticIntField (jclass cl0, jfieldID fld1, jint val2) |
---|
1317 | { p->SetStaticIntField (this, cl0, fld1, val2); } |
---|
1318 | |
---|
1319 | void SetStaticLongField (jclass cl0, jfieldID fld1, jlong val2) |
---|
1320 | { p->SetStaticLongField (this, cl0, fld1, val2); } |
---|
1321 | |
---|
1322 | void SetStaticFloatField (jclass cl0, jfieldID fld1, jfloat val2) |
---|
1323 | { p->SetStaticFloatField (this, cl0, fld1, val2); } |
---|
1324 | |
---|
1325 | void SetStaticDoubleField (jclass cl0, jfieldID fld1, jdouble val2) |
---|
1326 | { p->SetStaticDoubleField (this, cl0, fld1, val2); } |
---|
1327 | |
---|
1328 | jstring NewString (const jchar * val0, jsize val1) |
---|
1329 | { return p->NewString (this, val0, val1); } |
---|
1330 | |
---|
1331 | jint GetStringLength (jstring val0) |
---|
1332 | { return p->GetStringLength (this, val0); } |
---|
1333 | |
---|
1334 | const jchar * GetStringChars (jstring val0, jboolean * val1) |
---|
1335 | { return p->GetStringChars (this, val0, val1); } |
---|
1336 | |
---|
1337 | void ReleaseStringChars (jstring val0, const jchar * val1) |
---|
1338 | { p->ReleaseStringChars (this, val0, val1); } |
---|
1339 | |
---|
1340 | jstring NewStringUTF (const char * val0) |
---|
1341 | { return p->NewStringUTF (this, val0); } |
---|
1342 | |
---|
1343 | jsize GetStringUTFLength (jstring val0) |
---|
1344 | { return p->GetStringUTFLength (this, val0); } |
---|
1345 | |
---|
1346 | const char * GetStringUTFChars (jstring val0, jboolean * val1) |
---|
1347 | { return p->GetStringUTFChars (this, val0, val1); } |
---|
1348 | |
---|
1349 | void ReleaseStringUTFChars (jstring val0, const char * val1) |
---|
1350 | { p->ReleaseStringUTFChars (this, val0, val1); } |
---|
1351 | |
---|
1352 | jsize GetArrayLength (jarray val0) |
---|
1353 | { return p->GetArrayLength (this, val0); } |
---|
1354 | |
---|
1355 | jarray NewObjectArray (jsize val0, jclass cl1, jobject obj2) |
---|
1356 | { return p->NewObjectArray (this, val0, cl1, obj2); } |
---|
1357 | |
---|
1358 | jobject GetObjectArrayElement (jobjectArray val0, jsize val1) |
---|
1359 | { return p->GetObjectArrayElement (this, val0, val1); } |
---|
1360 | |
---|
1361 | void SetObjectArrayElement (jobjectArray val0, jsize val1, jobject obj2) |
---|
1362 | { p->SetObjectArrayElement (this, val0, val1, obj2); } |
---|
1363 | |
---|
1364 | jbooleanArray NewBooleanArray (jsize val0) |
---|
1365 | { return p->NewBooleanArray (this, val0); } |
---|
1366 | |
---|
1367 | jbyteArray NewByteArray (jsize val0) |
---|
1368 | { return p->NewByteArray (this, val0); } |
---|
1369 | |
---|
1370 | jcharArray NewCharArray (jsize val0) |
---|
1371 | { return p->NewCharArray (this, val0); } |
---|
1372 | |
---|
1373 | jshortArray NewShortArray (jsize val0) |
---|
1374 | { return p->NewShortArray (this, val0); } |
---|
1375 | |
---|
1376 | jintArray NewIntArray (jsize val0) |
---|
1377 | { return p->NewIntArray (this, val0); } |
---|
1378 | |
---|
1379 | jlongArray NewLongArray (jsize val0) |
---|
1380 | { return p->NewLongArray (this, val0); } |
---|
1381 | |
---|
1382 | jfloatArray NewFloatArray (jsize val0) |
---|
1383 | { return p->NewFloatArray (this, val0); } |
---|
1384 | |
---|
1385 | jdoubleArray NewDoubleArray (jsize val0) |
---|
1386 | { return p->NewDoubleArray (this, val0); } |
---|
1387 | |
---|
1388 | jboolean * GetBooleanArrayElements (jbooleanArray val0, jboolean * val1) |
---|
1389 | { return p->GetBooleanArrayElements (this, val0, val1); } |
---|
1390 | |
---|
1391 | jbyte * GetByteArrayElements (jbyteArray val0, jboolean * val1) |
---|
1392 | { return p->GetByteArrayElements (this, val0, val1); } |
---|
1393 | |
---|
1394 | jchar * GetCharArrayElements (jcharArray val0, jboolean * val1) |
---|
1395 | { return p->GetCharArrayElements (this, val0, val1); } |
---|
1396 | |
---|
1397 | jshort * GetShortArrayElements (jshortArray val0, jboolean * val1) |
---|
1398 | { return p->GetShortArrayElements (this, val0, val1); } |
---|
1399 | |
---|
1400 | jint * GetIntArrayElements (jintArray val0, jboolean * val1) |
---|
1401 | { return p->GetIntArrayElements (this, val0, val1); } |
---|
1402 | |
---|
1403 | jlong * GetLongArrayElements (jlongArray val0, jboolean * val1) |
---|
1404 | { return p->GetLongArrayElements (this, val0, val1); } |
---|
1405 | |
---|
1406 | jfloat * GetFloatArrayElements (jfloatArray val0, jboolean * val1) |
---|
1407 | { return p->GetFloatArrayElements (this, val0, val1); } |
---|
1408 | |
---|
1409 | jdouble * GetDoubleArrayElements (jdoubleArray val0, jboolean * val1) |
---|
1410 | { return p->GetDoubleArrayElements (this, val0, val1); } |
---|
1411 | |
---|
1412 | void ReleaseBooleanArrayElements (jbooleanArray val0, jboolean * val1, jint val2) |
---|
1413 | { p->ReleaseBooleanArrayElements (this, val0, val1, val2); } |
---|
1414 | |
---|
1415 | void ReleaseByteArrayElements (jbyteArray val0, jbyte * val1, jint val2) |
---|
1416 | { p->ReleaseByteArrayElements (this, val0, val1, val2); } |
---|
1417 | |
---|
1418 | void ReleaseCharArrayElements (jcharArray val0, jchar * val1, jint val2) |
---|
1419 | { p->ReleaseCharArrayElements (this, val0, val1, val2); } |
---|
1420 | |
---|
1421 | void ReleaseShortArrayElements (jshortArray val0, jshort * val1, jint val2) |
---|
1422 | { p->ReleaseShortArrayElements (this, val0, val1, val2); } |
---|
1423 | |
---|
1424 | void ReleaseIntArrayElements (jintArray val0, jint * val1, jint val2) |
---|
1425 | { p->ReleaseIntArrayElements (this, val0, val1, val2); } |
---|
1426 | |
---|
1427 | void ReleaseLongArrayElements (jlongArray val0, jlong * val1, jint val2) |
---|
1428 | { p->ReleaseLongArrayElements (this, val0, val1, val2); } |
---|
1429 | |
---|
1430 | void ReleaseFloatArrayElements (jfloatArray val0, jfloat * val1, jint val2) |
---|
1431 | { p->ReleaseFloatArrayElements (this, val0, val1, val2); } |
---|
1432 | |
---|
1433 | void ReleaseDoubleArrayElements (jdoubleArray val0, jdouble * val1, jint val2) |
---|
1434 | { p->ReleaseDoubleArrayElements (this, val0, val1, val2); } |
---|
1435 | |
---|
1436 | void GetBooleanArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3) |
---|
1437 | { p->GetBooleanArrayRegion (this, val0, val1, val2, val3); } |
---|
1438 | |
---|
1439 | void GetByteArrayRegion (jbyteArray val0, jsize val1, jsize val2, jbyte * val3) |
---|
1440 | { p->GetByteArrayRegion (this, val0, val1, val2, val3); } |
---|
1441 | |
---|
1442 | void GetCharArrayRegion (jcharArray val0, jsize val1, jsize val2, jchar * val3) |
---|
1443 | { p->GetCharArrayRegion (this, val0, val1, val2, val3); } |
---|
1444 | |
---|
1445 | void GetShortArrayRegion (jshortArray val0, jsize val1, jsize val2, jshort * val3) |
---|
1446 | { p->GetShortArrayRegion (this, val0, val1, val2, val3); } |
---|
1447 | |
---|
1448 | void GetIntArrayRegion (jintArray val0, jsize val1, jsize val2, jint * val3) |
---|
1449 | { p->GetIntArrayRegion (this, val0, val1, val2, val3); } |
---|
1450 | |
---|
1451 | void GetLongArrayRegion (jlongArray val0, jsize val1, jsize val2, jlong * val3) |
---|
1452 | { p->GetLongArrayRegion (this, val0, val1, val2, val3); } |
---|
1453 | |
---|
1454 | void GetFloatArrayRegion (jfloatArray val0, jsize val1, jsize val2, jfloat * val3) |
---|
1455 | { p->GetFloatArrayRegion (this, val0, val1, val2, val3); } |
---|
1456 | |
---|
1457 | void GetDoubleArrayRegion (jdoubleArray val0, jsize val1, jsize val2, jdouble * val3) |
---|
1458 | { p->GetDoubleArrayRegion (this, val0, val1, val2, val3); } |
---|
1459 | |
---|
1460 | void SetBooleanArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3) |
---|
1461 | { p->SetBooleanArrayRegion (this, val0, val1, val2, val3); } |
---|
1462 | |
---|
1463 | void SetByteArrayRegion (jbyteArray val0, jsize val1, jsize val2, jbyte * val3) |
---|
1464 | { p->SetByteArrayRegion (this, val0, val1, val2, val3); } |
---|
1465 | |
---|
1466 | void SetCharArrayRegion (jcharArray val0, jsize val1, jsize val2, jchar * val3) |
---|
1467 | { p->SetCharArrayRegion (this, val0, val1, val2, val3); } |
---|
1468 | |
---|
1469 | void SetShortArrayRegion (jshortArray val0, jsize val1, jsize val2, jshort * val3) |
---|
1470 | { p->SetShortArrayRegion (this, val0, val1, val2, val3); } |
---|
1471 | |
---|
1472 | void SetIntArrayRegion (jintArray val0, jsize val1, jsize val2, jint * val3) |
---|
1473 | { p->SetIntArrayRegion (this, val0, val1, val2, val3); } |
---|
1474 | |
---|
1475 | void SetLongArrayRegion (jlongArray val0, jsize val1, jsize val2, jlong * val3) |
---|
1476 | { p->SetLongArrayRegion (this, val0, val1, val2, val3); } |
---|
1477 | |
---|
1478 | void SetFloatArrayRegion (jfloatArray val0, jsize val1, jsize val2, jfloat * val3) |
---|
1479 | { p->SetFloatArrayRegion (this, val0, val1, val2, val3); } |
---|
1480 | |
---|
1481 | void SetDoubleArrayRegion (jdoubleArray val0, jsize val1, jsize val2, jdouble * val3) |
---|
1482 | { p->SetDoubleArrayRegion (this, val0, val1, val2, val3); } |
---|
1483 | |
---|
1484 | jint RegisterNatives (jclass cl0, const JNINativeMethod * val1, jint val2) |
---|
1485 | { return p->RegisterNatives (this, cl0, val1, val2); } |
---|
1486 | |
---|
1487 | jint UnregisterNatives (jclass cl0) |
---|
1488 | { return p->UnregisterNatives (this, cl0); } |
---|
1489 | |
---|
1490 | jint MonitorEnter (jobject obj0) |
---|
1491 | { return p->MonitorEnter (this, obj0); } |
---|
1492 | |
---|
1493 | jint MonitorExit (jobject obj0) |
---|
1494 | { return p->MonitorExit (this, obj0); } |
---|
1495 | |
---|
1496 | jint GetJavaVM (JavaVM ** val0) |
---|
1497 | { return p->GetJavaVM (this, val0); } |
---|
1498 | |
---|
1499 | void GetStringRegion (jstring val0, jsize val1, jsize val2, jchar * val3) |
---|
1500 | { p->GetStringRegion (this, val0, val1, val2, val3); } |
---|
1501 | |
---|
1502 | void GetStringUTFRegion (jstring val0, jsize val1, jsize val2, char * val3) |
---|
1503 | { p->GetStringUTFRegion (this, val0, val1, val2, val3); } |
---|
1504 | |
---|
1505 | void * GetPrimitiveArrayCritical (jarray val0, jboolean * val1) |
---|
1506 | { return p->GetPrimitiveArrayCritical (this, val0, val1); } |
---|
1507 | |
---|
1508 | void ReleasePrimitiveArrayCritical (jarray val0, void * val1, jint val2) |
---|
1509 | { p->ReleasePrimitiveArrayCritical (this, val0, val1, val2); } |
---|
1510 | |
---|
1511 | const jchar * GetStringCritical (jstring val0, jboolean * val1) |
---|
1512 | { return p->GetStringCritical (this, val0, val1); } |
---|
1513 | |
---|
1514 | void ReleaseStringCritical (jstring val0, const jchar * val1) |
---|
1515 | { p->ReleaseStringCritical (this, val0, val1); } |
---|
1516 | |
---|
1517 | jweak NewWeakGlobalRef (jobject obj0) |
---|
1518 | { return p->NewWeakGlobalRef (this, obj0); } |
---|
1519 | |
---|
1520 | void DeleteWeakGlobalRef (jweak val0) |
---|
1521 | { p->DeleteWeakGlobalRef (this, val0); } |
---|
1522 | |
---|
1523 | jboolean ExceptionCheck () |
---|
1524 | { return p->ExceptionCheck (this); } |
---|
1525 | }; |
---|
1526 | #endif /* __cplusplus */ |
---|
1527 | |
---|
1528 | /* |
---|
1529 | * Invocation API. |
---|
1530 | */ |
---|
1531 | |
---|
1532 | struct JNIInvokeInterface |
---|
1533 | { |
---|
1534 | _Jv_func reserved0; |
---|
1535 | _Jv_func reserved1; |
---|
1536 | _Jv_func reserved2; |
---|
1537 | |
---|
1538 | jint (*DestroyJavaVM) (JavaVM *); |
---|
1539 | jint (*AttachCurrentThread) (JavaVM *, void **, void *); |
---|
1540 | jint (*DetachCurrentThread) (JavaVM *); |
---|
1541 | jint (*GetEnv) (JavaVM *, void **, jint); |
---|
1542 | }; |
---|
1543 | |
---|
1544 | #ifdef __cplusplus |
---|
1545 | |
---|
1546 | class _Jv_JavaVM |
---|
1547 | { |
---|
1548 | public: |
---|
1549 | const struct JNIInvokeInterface *functions; |
---|
1550 | |
---|
1551 | private: |
---|
1552 | /* FIXME: other fields. */ |
---|
1553 | |
---|
1554 | public: |
---|
1555 | jint DestroyJavaVM () |
---|
1556 | { return functions->DestroyJavaVM (this); } |
---|
1557 | |
---|
1558 | jint AttachCurrentThread (void **penv, void *args) |
---|
1559 | { return functions->AttachCurrentThread (this, penv, args); } |
---|
1560 | |
---|
1561 | jint DetachCurrentThread () |
---|
1562 | { return functions->DetachCurrentThread (this); } |
---|
1563 | |
---|
1564 | jint GetEnv (void **penv, jint version) |
---|
1565 | { return functions->GetEnv (this, penv, version); } |
---|
1566 | }; |
---|
1567 | #endif /* __cplusplus */ |
---|
1568 | |
---|
1569 | typedef struct JavaVMAttachArgs |
---|
1570 | { |
---|
1571 | jint version; /* Must be JNI_VERSION_1_2. */ |
---|
1572 | char *name; /* The name of the thread (or NULL). */ |
---|
1573 | jobject group; /* Global ref of a ThreadGroup object |
---|
1574 | (or NULL). */ |
---|
1575 | } JavaVMAttachArgs; |
---|
1576 | |
---|
1577 | typedef struct JavaVMOption |
---|
1578 | { |
---|
1579 | char *optionString; |
---|
1580 | void *extraInfo; |
---|
1581 | } JavaVMOption; |
---|
1582 | |
---|
1583 | typedef struct JavaVMInitArgs |
---|
1584 | { |
---|
1585 | /* Must be JNI_VERSION_1_2. */ |
---|
1586 | jint version; |
---|
1587 | |
---|
1588 | /* Number of options. */ |
---|
1589 | jint nOptions; |
---|
1590 | |
---|
1591 | /* Options to the VM. */ |
---|
1592 | JavaVMOption *options; |
---|
1593 | |
---|
1594 | /* Whether we should ignore unrecognized options. */ |
---|
1595 | jboolean ignoreUnrecognized; |
---|
1596 | } JavaVMInitArgs; |
---|
1597 | |
---|
1598 | #endif /* __GCJ_JNI_H__ */ |
---|