~james-page/ubuntu/oneiric/jcc/fix-library-linking

« back to all changes in this revision

Viewing changes to jcc/sources/JCCEnv.h

  • Committer: Bazaar Package Importer
  • Author(s): Ludovico Cavedon
  • Date: 2011-07-07 22:03:05 UTC
  • mfrom: (3.2.3 sid)
  • Revision ID: james.westby@ubuntu.com-20110707220305-44qgdatqsoieybog
Tags: 2.9-1
* New upstream release.
* Update Standards-Version to 3.9.2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
110
110
    int handlers;
111
111
 
112
112
    explicit JCCEnv(JavaVM *vm, JNIEnv *env);
113
 
    virtual ~JCCEnv() {};
114
113
 
115
114
#if defined(_MSC_VER) || defined(__WIN32)
116
115
    inline JNIEnv *get_vm_env() const
125
124
        return (JNIEnv *) pthread_getspecific(VM_ENV);
126
125
    }
127
126
#endif
128
 
    virtual void set_vm(JavaVM *vm, JNIEnv *vm_env);
129
 
    virtual void set_vm_env(JNIEnv *vm_env);
130
 
 
131
 
    virtual jint getJNIVersion() const;
132
 
    virtual jstring getJavaVersion() const;
133
 
 
134
 
    virtual jclass findClass(const char *className) const;
135
 
    virtual jboolean isInstanceOf(jobject obj,
136
 
                                  getclassfn initializeClass) const;
137
 
 
138
 
    virtual void registerNatives(jclass cls, JNINativeMethod *methods,
139
 
                                 int n) const;
140
 
 
141
 
    virtual jobject iterator(jobject obj) const;
142
 
    virtual jobject iteratorNext(jobject obj) const;
143
 
    virtual jobject enumerationNext(jobject obj) const;
144
 
 
145
 
    virtual jobject newGlobalRef(jobject obj, int id);
146
 
    virtual jobject deleteGlobalRef(jobject obj, int id);
147
 
 
148
 
    virtual jobject newObject(getclassfn initializeClass, jmethodID **mids,
149
 
                              int m, ...);
150
 
 
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);
 
130
 
 
131
    jint getJNIVersion() const;
 
132
    jstring getJavaVersion() const;
 
133
 
 
134
    jclass findClass(const char *className) const;
 
135
    jboolean isInstanceOf(jobject obj, getclassfn initializeClass) const;
 
136
 
 
137
    void registerNatives(jclass cls, JNINativeMethod *methods, int n) const;
 
138
 
 
139
    jobject iterator(jobject obj) const;
 
140
    jobject iteratorNext(jobject obj) const;
 
141
    jobject enumerationNext(jobject obj) const;
 
142
 
 
143
    jobject newGlobalRef(jobject obj, int id);
 
144
    jobject deleteGlobalRef(jobject obj, int id);
 
145
 
 
146
    jobject newObject(getclassfn initializeClass, jmethodID **mids, int m, ...);
 
147
 
 
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;
156
 
 
157
 
    virtual void reportException() const;
158
 
 
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;
169
 
 
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;
190
 
 
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;
211
 
 
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;
220
 
 
221
 
    virtual jmethodID getMethodID(jclass cls, const char *name,
 
151
    jobject getObjectArrayElement(jobjectArray a, int n) const;
 
152
    int getArrayLength(jarray a) const;
 
153
 
 
154
    void reportException() const;
 
155
 
 
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;
 
166
 
 
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;
 
187
 
 
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;
 
198
 
 
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;
 
207
 
 
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;
227
214
 
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;
238
 
 
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;
248
 
 
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;
 
225
 
 
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;
 
235
 
 
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;
258
245
 
259
246
    int id(jobject obj) const {
260
247
        return obj
270
257
            : 0;
271
258
    }
272
259
 
273
 
    virtual void setClassPath(const char *classPath);
274
 
    virtual char *getClassPath();
 
260
    void setClassPath(const char *classPath);
 
261
    char *getClassPath();
275
262
 
276
 
    virtual jstring fromUTF(const char *bytes) const;
277
 
    virtual char *toUTF(jstring str) const;
278
 
    virtual char *toString(jobject obj) const;
279
 
    virtual char *getClassName(jobject obj) const;
 
263
    jstring fromUTF(const char *bytes) const;
 
264
    char *toUTF(jstring str) const;
 
265
    char *toString(jobject obj) const;
 
266
    char *getClassName(jobject obj) const;
280
267
#ifdef PYTHON
281
 
    virtual jclass getPythonExceptionClass() const;
282
 
    virtual jstring fromPyString(PyObject *object) const;
283
 
    virtual PyObject *fromJString(jstring js, int delete_local_ref) const;
284
 
    virtual void finalizeObject(JNIEnv *jenv, PyObject *obj);
 
268
    jclass getPythonExceptionClass() const;
 
269
    jstring fromPyString(PyObject *object) const;
 
270
    PyObject *fromJString(jstring js, int delete_local_ref) const;
 
271
    void finalizeObject(JNIEnv *jenv, PyObject *obj);
285
272
#endif
286
273
 
287
 
    virtual inline int isSame(jobject o1, jobject o2) const
 
274
    inline int isSame(jobject o1, jobject o2) const
288
275
    {
289
276
        return o1 == o2 || get_vm_env()->IsSameObject(o1, o2);
290
277
    }