125
124
return (JNIEnv *) pthread_getspecific(VM_ENV);
128
virtual void set_vm(JavaVM *vm, JNIEnv *vm_env);
129
virtual void set_vm_env(JNIEnv *vm_env);
131
virtual jint getJNIVersion() const;
132
virtual jstring getJavaVersion() const;
134
virtual jclass findClass(const char *className) const;
135
virtual jboolean isInstanceOf(jobject obj,
136
getclassfn initializeClass) const;
138
virtual void registerNatives(jclass cls, JNINativeMethod *methods,
141
virtual jobject iterator(jobject obj) const;
142
virtual jobject iteratorNext(jobject obj) const;
143
virtual jobject enumerationNext(jobject obj) const;
145
virtual jobject newGlobalRef(jobject obj, int id);
146
virtual jobject deleteGlobalRef(jobject obj, int id);
148
virtual jobject newObject(getclassfn initializeClass, jmethodID **mids,
151
virtual jobjectArray newObjectArray(jclass cls, int size);
152
virtual void setObjectArrayElement(jobjectArray a, int n,
127
void set_vm(JavaVM *vm, JNIEnv *vm_env);
128
void set_vm_env(JNIEnv *vm_env);
129
int attachCurrentThread(char *name, int asDaemon);
131
jint getJNIVersion() const;
132
jstring getJavaVersion() const;
134
jclass findClass(const char *className) const;
135
jboolean isInstanceOf(jobject obj, getclassfn initializeClass) const;
137
void registerNatives(jclass cls, JNINativeMethod *methods, int n) const;
139
jobject iterator(jobject obj) const;
140
jobject iteratorNext(jobject obj) const;
141
jobject enumerationNext(jobject obj) const;
143
jobject newGlobalRef(jobject obj, int id);
144
jobject deleteGlobalRef(jobject obj, int id);
146
jobject newObject(getclassfn initializeClass, jmethodID **mids, int m, ...);
148
jobjectArray newObjectArray(jclass cls, int size);
149
void setObjectArrayElement(jobjectArray a, int n,
153
150
jobject obj) const;
154
virtual jobject getObjectArrayElement(jobjectArray a, int n) const;
155
virtual int getArrayLength(jarray a) const;
157
virtual void reportException() const;
159
virtual jobject callObjectMethod(jobject obj, jmethodID mid, ...) const;
160
virtual jboolean callBooleanMethod(jobject obj, jmethodID mid, ...) const;
161
virtual jbyte callByteMethod(jobject obj, jmethodID mid, ...) const;
162
virtual jchar callCharMethod(jobject obj, jmethodID mid, ...) const;
163
virtual jdouble callDoubleMethod(jobject obj, jmethodID mid, ...) const;
164
virtual jfloat callFloatMethod(jobject obj, jmethodID mid, ...) const;
165
virtual jint callIntMethod(jobject obj, jmethodID mid, ...) const;
166
virtual jlong callLongMethod(jobject obj, jmethodID mid, ...) const;
167
virtual jshort callShortMethod(jobject obj, jmethodID mid, ...) const;
168
virtual void callVoidMethod(jobject obj, jmethodID mid, ...) const;
170
virtual jobject callNonvirtualObjectMethod(jobject obj, jclass cls,
171
jmethodID mid, ...) const;
172
virtual jboolean callNonvirtualBooleanMethod(jobject obj, jclass cls,
173
jmethodID mid, ...) const;
174
virtual jbyte callNonvirtualByteMethod(jobject obj, jclass cls,
175
jmethodID mid, ...) const;
176
virtual jchar callNonvirtualCharMethod(jobject obj, jclass cls,
177
jmethodID mid, ...) const;
178
virtual jdouble callNonvirtualDoubleMethod(jobject obj, jclass cls,
179
jmethodID mid, ...) const;
180
virtual jfloat callNonvirtualFloatMethod(jobject obj, jclass cls,
181
jmethodID mid, ...) const;
182
virtual jint callNonvirtualIntMethod(jobject obj, jclass cls,
183
jmethodID mid, ...) const;
184
virtual jlong callNonvirtualLongMethod(jobject obj, jclass cls,
185
jmethodID mid, ...) const;
186
virtual jshort callNonvirtualShortMethod(jobject obj, jclass cls,
187
jmethodID mid, ...) const;
188
virtual void callNonvirtualVoidMethod(jobject obj, jclass cls,
189
jmethodID mid, ...) const;
191
virtual jobject callStaticObjectMethod(jclass cls,
192
jmethodID mid, ...) const;
193
virtual jboolean callStaticBooleanMethod(jclass cls,
194
jmethodID mid, ...) const;
195
virtual jbyte callStaticByteMethod(jclass cls,
196
jmethodID mid, ...) const;
197
virtual jchar callStaticCharMethod(jclass cls,
198
jmethodID mid, ...) const;
199
virtual jdouble callStaticDoubleMethod(jclass cls,
200
jmethodID mid, ...) const;
201
virtual jfloat callStaticFloatMethod(jclass cls,
202
jmethodID mid, ...) const;
203
virtual jint callStaticIntMethod(jclass cls,
204
jmethodID mid, ...) const;
205
virtual jlong callStaticLongMethod(jclass cls,
206
jmethodID mid, ...) const;
207
virtual jshort callStaticShortMethod(jclass cls,
208
jmethodID mid, ...) const;
209
virtual void callStaticVoidMethod(jclass cls,
210
jmethodID mid, ...) const;
212
virtual jboolean booleanValue(jobject obj) const;
213
virtual jbyte byteValue(jobject obj) const;
214
virtual jchar charValue(jobject obj) const;
215
virtual jdouble doubleValue(jobject obj) const;
216
virtual jfloat floatValue(jobject obj) const;
217
virtual jint intValue(jobject obj) const;
218
virtual jlong longValue(jobject obj) const;
219
virtual jshort shortValue(jobject obj) const;
221
virtual jmethodID getMethodID(jclass cls, const char *name,
151
jobject getObjectArrayElement(jobjectArray a, int n) const;
152
int getArrayLength(jarray a) const;
154
void reportException() const;
156
jobject callObjectMethod(jobject obj, jmethodID mid, ...) const;
157
jboolean callBooleanMethod(jobject obj, jmethodID mid, ...) const;
158
jbyte callByteMethod(jobject obj, jmethodID mid, ...) const;
159
jchar callCharMethod(jobject obj, jmethodID mid, ...) const;
160
jdouble callDoubleMethod(jobject obj, jmethodID mid, ...) const;
161
jfloat callFloatMethod(jobject obj, jmethodID mid, ...) const;
162
jint callIntMethod(jobject obj, jmethodID mid, ...) const;
163
jlong callLongMethod(jobject obj, jmethodID mid, ...) const;
164
jshort callShortMethod(jobject obj, jmethodID mid, ...) const;
165
void callVoidMethod(jobject obj, jmethodID mid, ...) const;
167
jobject callNonvirtualObjectMethod(jobject obj, jclass cls,
168
jmethodID mid, ...) const;
169
jboolean callNonvirtualBooleanMethod(jobject obj, jclass cls,
170
jmethodID mid, ...) const;
171
jbyte callNonvirtualByteMethod(jobject obj, jclass cls,
172
jmethodID mid, ...) const;
173
jchar callNonvirtualCharMethod(jobject obj, jclass cls,
174
jmethodID mid, ...) const;
175
jdouble callNonvirtualDoubleMethod(jobject obj, jclass cls,
176
jmethodID mid, ...) const;
177
jfloat callNonvirtualFloatMethod(jobject obj, jclass cls,
178
jmethodID mid, ...) const;
179
jint callNonvirtualIntMethod(jobject obj, jclass cls,
180
jmethodID mid, ...) const;
181
jlong callNonvirtualLongMethod(jobject obj, jclass cls,
182
jmethodID mid, ...) const;
183
jshort callNonvirtualShortMethod(jobject obj, jclass cls,
184
jmethodID mid, ...) const;
185
void callNonvirtualVoidMethod(jobject obj, jclass cls,
186
jmethodID mid, ...) const;
188
jobject callStaticObjectMethod(jclass cls, jmethodID mid, ...) const;
189
jboolean callStaticBooleanMethod(jclass cls, jmethodID mid, ...) const;
190
jbyte callStaticByteMethod(jclass cls, jmethodID mid, ...) const;
191
jchar callStaticCharMethod(jclass cls, jmethodID mid, ...) const;
192
jdouble callStaticDoubleMethod(jclass cls, jmethodID mid, ...) const;
193
jfloat callStaticFloatMethod(jclass cls, jmethodID mid, ...) const;
194
jint callStaticIntMethod(jclass cls, jmethodID mid, ...) const;
195
jlong callStaticLongMethod(jclass cls, jmethodID mid, ...) const;
196
jshort callStaticShortMethod(jclass cls, jmethodID mid, ...) const;
197
void callStaticVoidMethod(jclass cls, jmethodID mid, ...) const;
199
jboolean booleanValue(jobject obj) const;
200
jbyte byteValue(jobject obj) const;
201
jchar charValue(jobject obj) const;
202
jdouble doubleValue(jobject obj) const;
203
jfloat floatValue(jobject obj) const;
204
jint intValue(jobject obj) const;
205
jlong longValue(jobject obj) const;
206
jshort shortValue(jobject obj) const;
208
jmethodID getMethodID(jclass cls, const char *name,
222
209
const char *signature) const;
223
virtual jfieldID getFieldID(jclass cls, const char *name,
224
const char *signature) const;
225
virtual jmethodID getStaticMethodID(jclass cls, const char *name,
226
const char *signature) const;
210
jfieldID getFieldID(jclass cls, const char *name,
211
const char *signature) const;
212
jmethodID getStaticMethodID(jclass cls, const char *name,
213
const char *signature) const;
228
virtual jobject getStaticObjectField(jclass cls, const char *name,
215
jobject getStaticObjectField(jclass cls, const char *name,
229
216
const char *signature) const;
230
virtual jboolean getStaticBooleanField(jclass cls, const char *name) const;
231
virtual jbyte getStaticByteField(jclass cls, const char *name) const;
232
virtual jchar getStaticCharField(jclass cls, const char *name) const;
233
virtual jdouble getStaticDoubleField(jclass cls, const char *name) const;
234
virtual jfloat getStaticFloatField(jclass cls, const char *name) const;
235
virtual jint getStaticIntField(jclass cls, const char *name) const;
236
virtual jlong getStaticLongField(jclass cls, const char *name) const;
237
virtual jshort getStaticShortField(jclass cls, const char *name) const;
239
virtual jobject getObjectField(jobject obj, jfieldID id) const;
240
virtual jboolean getBooleanField(jobject obj, jfieldID id) const;
241
virtual jbyte getByteField(jobject obj, jfieldID id) const;
242
virtual jchar getCharField(jobject obj, jfieldID id) const;
243
virtual jdouble getDoubleField(jobject obj, jfieldID id) const;
244
virtual jfloat getFloatField(jobject obj, jfieldID id) const;
245
virtual jint getIntField(jobject obj, jfieldID id) const;
246
virtual jlong getLongField(jobject obj, jfieldID id) const;
247
virtual jshort getShortField(jobject obj, jfieldID id) const;
249
virtual void setObjectField(jobject obj, jfieldID id, jobject value) const;
250
virtual void setBooleanField(jobject obj, jfieldID id, jboolean value) const;
251
virtual void setByteField(jobject obj, jfieldID id, jbyte value) const;
252
virtual void setCharField(jobject obj, jfieldID id, jchar value) const;
253
virtual void setDoubleField(jobject obj, jfieldID id, jdouble value) const;
254
virtual void setFloatField(jobject obj, jfieldID id, jfloat value) const;
255
virtual void setIntField(jobject obj, jfieldID id, jint value) const;
256
virtual void setLongField(jobject obj, jfieldID id, jlong value) const;
257
virtual void setShortField(jobject obj, jfieldID id, jshort value) const;
217
jboolean getStaticBooleanField(jclass cls, const char *name) const;
218
jbyte getStaticByteField(jclass cls, const char *name) const;
219
jchar getStaticCharField(jclass cls, const char *name) const;
220
jdouble getStaticDoubleField(jclass cls, const char *name) const;
221
jfloat getStaticFloatField(jclass cls, const char *name) const;
222
jint getStaticIntField(jclass cls, const char *name) const;
223
jlong getStaticLongField(jclass cls, const char *name) const;
224
jshort getStaticShortField(jclass cls, const char *name) const;
226
jobject getObjectField(jobject obj, jfieldID id) const;
227
jboolean getBooleanField(jobject obj, jfieldID id) const;
228
jbyte getByteField(jobject obj, jfieldID id) const;
229
jchar getCharField(jobject obj, jfieldID id) const;
230
jdouble getDoubleField(jobject obj, jfieldID id) const;
231
jfloat getFloatField(jobject obj, jfieldID id) const;
232
jint getIntField(jobject obj, jfieldID id) const;
233
jlong getLongField(jobject obj, jfieldID id) const;
234
jshort getShortField(jobject obj, jfieldID id) const;
236
void setObjectField(jobject obj, jfieldID id, jobject value) const;
237
void setBooleanField(jobject obj, jfieldID id, jboolean value) const;
238
void setByteField(jobject obj, jfieldID id, jbyte value) const;
239
void setCharField(jobject obj, jfieldID id, jchar value) const;
240
void setDoubleField(jobject obj, jfieldID id, jdouble value) const;
241
void setFloatField(jobject obj, jfieldID id, jfloat value) const;
242
void setIntField(jobject obj, jfieldID id, jint value) const;
243
void setLongField(jobject obj, jfieldID id, jlong value) const;
244
void setShortField(jobject obj, jfieldID id, jshort value) const;
259
246
int id(jobject obj) const {