File: javahead.swg

package info (click to toggle)
swig1.3 1.3.11-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 6,852 kB
  • ctags: 4,764
  • sloc: ansic: 20,489; cpp: 10,052; sh: 7,256; yacc: 2,669; makefile: 2,381; python: 873; java: 762; tcl: 686; perl: 474; lisp: 444; ruby: 370; php: 367
file content (283 lines) | stat: -rw-r--r-- 13,196 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
#if defined(__GNUC__)
    typedef long long __int64; /*For gcc on Windows */
#endif
#include <jni.h>
#include <stdlib.h>
#include <string.h>

#ifdef __cplusplus
#   define JCALL0(func, jenv) jenv->func()
#   define JCALL1(func, jenv, ar1) jenv->func(ar1)
#   define JCALL2(func, jenv, ar1, ar2) jenv->func(ar1, ar2)
#   define JCALL3(func, jenv, ar1, ar2, ar3) jenv->func(ar1, ar2, ar3)
#   define JCALL4(func, jenv, ar1, ar2, ar3, ar4) jenv->func(ar1, ar2, ar3, ar4)
#else
#   define JCALL0(func, jenv) (*jenv)->func(jenv)
#   define JCALL1(func, jenv, ar1) (*jenv)->func(jenv, ar1)
#   define JCALL2(func, jenv, ar1, ar2) (*jenv)->func(jenv, ar1, ar2)
#   define JCALL3(func, jenv, ar1, ar2, ar3) (*jenv)->func(jenv, ar1, ar2, ar3)
#   define JCALL4(func, jenv, ar1, ar2, ar3, ar4) (*jenv)->func(jenv, ar1, ar2, ar3, ar4)
#endif

#ifdef SWIG_NOINCLUDE
void SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg);
int SWIG_JavaArrayInSchar(JNIEnv *jenv, jbyte **jarr, signed char **carr, jbyteArray input);
void SWIG_JavaArrayArgoutSchar(JNIEnv *jenv, jbyte *jarr, signed char *carr, jbyteArray input);
jbyteArray SWIG_JavaArrayOutSchar(JNIEnv *jenv, signed char *result, jsize sz);
int SWIG_JavaArrayInUchar(JNIEnv *jenv, jshort **jarr, unsigned char **carr, jshortArray input);
void SWIG_JavaArrayArgoutUchar(JNIEnv *jenv, jshort *jarr, unsigned char *carr, jshortArray input);
jshortArray SWIG_JavaArrayOutUchar(JNIEnv *jenv, unsigned char *result, jsize sz);
int SWIG_JavaArrayInShort(JNIEnv *jenv, jshort **jarr, short **carr, jshortArray input);
void SWIG_JavaArrayArgoutShort(JNIEnv *jenv, jshort *jarr, short *carr, jshortArray input);
jshortArray SWIG_JavaArrayOutShort(JNIEnv *jenv, short *result, jsize sz);
int SWIG_JavaArrayInUshort(JNIEnv *jenv, jint **jarr, unsigned short **carr, jintArray input);
void SWIG_JavaArrayArgoutUshort(JNIEnv *jenv, jint *jarr, unsigned short *carr, jintArray input);
jintArray SWIG_JavaArrayOutUshort(JNIEnv *jenv, unsigned short *result, jsize sz);
int SWIG_JavaArrayInInt(JNIEnv *jenv, jint **jarr, int **carr, jintArray input);
void SWIG_JavaArrayArgoutInt(JNIEnv *jenv, jint *jarr, int *carr, jintArray input);
jintArray SWIG_JavaArrayOutInt(JNIEnv *jenv, int *result, jsize sz);
int SWIG_JavaArrayInUint(JNIEnv *jenv, jlong **jarr, unsigned int **carr, jlongArray input);
void SWIG_JavaArrayArgoutUint(JNIEnv *jenv, jlong *jarr, unsigned int *carr, jlongArray input);
jlongArray SWIG_JavaArrayOutUint(JNIEnv *jenv, unsigned int *result, jsize sz);
int SWIG_JavaArrayInLong(JNIEnv *jenv, jint **jarr, long **carr, jintArray input);
void SWIG_JavaArrayArgoutLong(JNIEnv *jenv, jint *jarr, long *carr, jintArray input);
jintArray SWIG_JavaArrayOutLong(JNIEnv *jenv, long *result, jsize sz);
int SWIG_JavaArrayInUlong(JNIEnv *jenv, jlong **jarr, unsigned long **carr, jlongArray input);
void SWIG_JavaArrayArgoutUlong(JNIEnv *jenv, jlong *jarr, unsigned long *carr, jlongArray input);
jlongArray SWIG_JavaArrayOutUlong(JNIEnv *jenv, unsigned long *result, jsize sz);
int SWIG_JavaArrayInLonglong(JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input);
void SWIG_JavaArrayArgoutLonglong(JNIEnv *jenv, jlong *jarr, jlong *carr, jlongArray input);
jlongArray SWIG_JavaArrayOutLonglong(JNIEnv *jenv, jlong *result, jsize sz);
int SWIG_JavaArrayInFloat(JNIEnv *jenv, jfloat **jarr, float **carr, jfloatArray input);
void SWIG_JavaArrayArgoutFloat(JNIEnv *jenv, jfloat *jarr, float *carr, jfloatArray input);
jfloatArray SWIG_JavaArrayOutFloat(JNIEnv *jenv, float *result, jsize sz);
int SWIG_JavaArrayInDouble(JNIEnv *jenv, jdouble **jarr, double **carr, jdoubleArray input);
void SWIG_JavaArrayArgoutDouble(JNIEnv *jenv, jdouble *jarr, double *carr, jdoubleArray input);
jdoubleArray SWIG_JavaArrayOutDouble(JNIEnv *jenv, double *result, jsize sz);
#ifdef __cplusplus
int SWIG_JavaArrayInBool(JNIEnv *jenv, jboolean **jarr, bool **carr, jbooleanArray input);
void SWIG_JavaArrayArgoutBool(JNIEnv *jenv, jboolean *jarr, bool *carr, jbooleanArray input);
jbooleanArray SWIG_JavaArrayOutBool(JNIEnv *jenv, bool *result, jsize sz);
#endif

#else
/* Support for throwing Java exceptions */
typedef enum {
  SWIG_JavaOutOfMemoryError = 1, 
  SWIG_JavaIOException, 
  SWIG_JavaRuntimeException, 
  SWIG_JavaIndexOutOfBoundsException,
  SWIG_JavaArithmeticException,
  SWIG_JavaIllegalArgumentException,
  SWIG_JavaNullPointerException,
  SWIG_JavaUnknownError
} SWIG_JavaExceptionCodes;

typedef struct {
  SWIG_JavaExceptionCodes code;
  const char *java_exception;
} SWIG_JavaExceptions_t;

void SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) {
  jclass excep;
  static const SWIG_JavaExceptions_t java_exceptions[] = {
    { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" },
    { SWIG_JavaIOException, "java/io/IOException" },
    { SWIG_JavaRuntimeException, "java/lang/RuntimeException" },
    { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" },
    { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" },
    { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" },
    { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
    { SWIG_JavaUnknownError,  "java/lang/UnknownError" },
    { (SWIG_JavaExceptionCodes)0,  "java/lang/UnknownError" } };
  const SWIG_JavaExceptions_t *except_ptr = java_exceptions;

  while (except_ptr->code != code && except_ptr->code)
    except_ptr++;

  JCALL0(ExceptionClear, jenv);
  excep = JCALL1(FindClass, jenv, except_ptr->java_exception);
  if (excep)
    JCALL2(ThrowNew, jenv, excep, msg);
}

/* Array support is a combination of macros and functions. It may initially do your head in following 
 * it but it avoids code bloat and aids maintainability. */
#define SWIG_JavaArrayIn(CTYPE, GETARRAYELEMENTS) \
  int i; \
  jsize sz; \
  if (!input) { \
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); \
    return 0; \
  } \
  sz = JCALL1(GetArrayLength, jenv, input); \
  *jarr = JCALL2(GETARRAYELEMENTS, jenv, input, 0); \
  if (!*jarr) \
    return 0; \
  *carr = (CTYPE*) calloc(sz, sizeof(CTYPE)); \
  if (!*carr) { \
    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "calloc failed"); \
    return 0; \
  } \
  for (i=0; i<sz; i++) \
    (*carr)[i] = (CTYPE)(*jarr)[i]; \
  return 1;

#define SWIG_JavaArrayArgout(JTYPE, RELEASEARRAYELEMENTS) \
  int i; \
  jsize sz; \
  sz = JCALL1(GetArrayLength, jenv, input); \
  for (i=0; i<sz; i++) \
    jarr[i] = (JTYPE)carr[i]; \
  JCALL3(RELEASEARRAYELEMENTS, jenv, input, jarr, 0);

#define SWIG_JavaArrayOut(JTYPE, JARRAY, NEWARRAY, GETARRAYELEMENTS, RELEASEARRAYELEMENTS) \
  JTYPE *arr; \
  int i; \
  JARRAY jresult = JCALL1(NEWARRAY, jenv, sz); \
  if (!jresult) \
    return NULL; \
  arr = JCALL2(GETARRAYELEMENTS, jenv, jresult, 0); \
  if (!arr) \
    return NULL; \
  for (i=0; i<sz; i++) \
    arr[i] = (JTYPE)result[i]; \
  JCALL3(RELEASEARRAYELEMENTS, jenv, jresult, arr, 0); \
  return jresult;

/* signed char[] support */
int SWIG_JavaArrayInSchar(JNIEnv *jenv, jbyte **jarr, signed char **carr, jbyteArray input) {
  SWIG_JavaArrayIn(signed char, GetByteArrayElements)
}
void SWIG_JavaArrayArgoutSchar(JNIEnv *jenv, jbyte *jarr, signed char *carr, jbyteArray input) {
  SWIG_JavaArrayArgout(jbyte, ReleaseByteArrayElements)
}
jbyteArray SWIG_JavaArrayOutSchar(JNIEnv *jenv, signed char *result, jsize sz) {
  SWIG_JavaArrayOut(jbyte, jbyteArray, NewByteArray, GetByteArrayElements, ReleaseByteArrayElements)
}

/* unsigned char[] support */
int SWIG_JavaArrayInUchar(JNIEnv *jenv, jshort **jarr, unsigned char **carr, jshortArray input) {
  SWIG_JavaArrayIn(unsigned char, GetShortArrayElements)
}
void SWIG_JavaArrayArgoutUchar(JNIEnv *jenv, jshort *jarr, unsigned char *carr, jshortArray input) {
  SWIG_JavaArrayArgout(jshort, ReleaseShortArrayElements)
}
jshortArray SWIG_JavaArrayOutUchar(JNIEnv *jenv, unsigned char *result, jsize sz) {
  SWIG_JavaArrayOut(jshort, jshortArray, NewShortArray, GetShortArrayElements, ReleaseShortArrayElements)
}

/* short[] support */
int SWIG_JavaArrayInShort(JNIEnv *jenv, jshort **jarr, short **carr, jshortArray input) {
  SWIG_JavaArrayIn(short, GetShortArrayElements)
}
void SWIG_JavaArrayArgoutShort(JNIEnv *jenv, jshort *jarr, short *carr, jshortArray input) {
  SWIG_JavaArrayArgout(jshort, ReleaseShortArrayElements)
}
jshortArray SWIG_JavaArrayOutShort(JNIEnv *jenv, short *result, jsize sz) {
  SWIG_JavaArrayOut(jshort, jshortArray, NewShortArray, GetShortArrayElements, ReleaseShortArrayElements)
}

/* unsigned short[] support */
int SWIG_JavaArrayInUshort(JNIEnv *jenv, jint **jarr, unsigned short **carr, jintArray input) {
  SWIG_JavaArrayIn(unsigned short, GetIntArrayElements)
}
void SWIG_JavaArrayArgoutUshort(JNIEnv *jenv, jint *jarr, unsigned short *carr, jintArray input) {
  SWIG_JavaArrayArgout(jint, ReleaseIntArrayElements)
}
jintArray SWIG_JavaArrayOutUshort(JNIEnv *jenv, unsigned short *result, jsize sz) {
  SWIG_JavaArrayOut(jint, jintArray, NewIntArray, GetIntArrayElements, ReleaseIntArrayElements)
}

/* int[] support */
int SWIG_JavaArrayInInt(JNIEnv *jenv, jint **jarr, int **carr, jintArray input) {
  SWIG_JavaArrayIn(int, GetIntArrayElements)
}
void SWIG_JavaArrayArgoutInt(JNIEnv *jenv, jint *jarr, int *carr, jintArray input) {
  SWIG_JavaArrayArgout(jint, ReleaseIntArrayElements)
}
jintArray SWIG_JavaArrayOutInt(JNIEnv *jenv, int *result, jsize sz) {
  SWIG_JavaArrayOut(jint, jintArray, NewIntArray, GetIntArrayElements, ReleaseIntArrayElements)
}

/* unsigned int[] support */
int SWIG_JavaArrayInUint(JNIEnv *jenv, jlong **jarr, unsigned int **carr, jlongArray input) {
  SWIG_JavaArrayIn(unsigned int, GetLongArrayElements)
}
void SWIG_JavaArrayArgoutUint(JNIEnv *jenv, jlong *jarr, unsigned int *carr, jlongArray input) {
  SWIG_JavaArrayArgout(jlong, ReleaseLongArrayElements)
}
jlongArray SWIG_JavaArrayOutUint(JNIEnv *jenv, unsigned int *result, jsize sz) {
  SWIG_JavaArrayOut(jlong, jlongArray, NewLongArray, GetLongArrayElements, ReleaseLongArrayElements)
}

/* long[] support */
int SWIG_JavaArrayInLong(JNIEnv *jenv, jint **jarr, long **carr, jintArray input) {
  SWIG_JavaArrayIn(long, GetIntArrayElements)
}
void SWIG_JavaArrayArgoutLong(JNIEnv *jenv, jint *jarr, long *carr, jintArray input) {
  SWIG_JavaArrayArgout(jint, ReleaseIntArrayElements)
}
jintArray SWIG_JavaArrayOutLong(JNIEnv *jenv, long *result, jsize sz) {
  SWIG_JavaArrayOut(jint, jintArray, NewIntArray, GetIntArrayElements, ReleaseIntArrayElements)
}

/* unsigned long[] support */
int SWIG_JavaArrayInUlong(JNIEnv *jenv, jlong **jarr, unsigned long **carr, jlongArray input) {
  SWIG_JavaArrayIn(unsigned long, GetLongArrayElements)
}
void SWIG_JavaArrayArgoutUlong(JNIEnv *jenv, jlong *jarr, unsigned long *carr, jlongArray input) {
  SWIG_JavaArrayArgout(jlong, ReleaseLongArrayElements)
}
jlongArray SWIG_JavaArrayOutUlong(JNIEnv *jenv, unsigned long *result, jsize sz) {
  SWIG_JavaArrayOut(jlong, jlongArray, NewLongArray, GetLongArrayElements, ReleaseLongArrayElements)
}

/* long long[] support */
int SWIG_JavaArrayInLonglong(JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input) {
  SWIG_JavaArrayIn(jlong, GetLongArrayElements)
}
void SWIG_JavaArrayArgoutLonglong(JNIEnv *jenv, jlong *jarr, jlong *carr, jlongArray input) {
  SWIG_JavaArrayArgout(jlong, ReleaseLongArrayElements)
}
jlongArray SWIG_JavaArrayOutLonglong(JNIEnv *jenv, jlong *result, jsize sz) {
  SWIG_JavaArrayOut(jlong, jlongArray, NewLongArray, GetLongArrayElements, ReleaseLongArrayElements)
}

/* float[] support */
int SWIG_JavaArrayInFloat(JNIEnv *jenv, jfloat **jarr, float **carr, jfloatArray input) {
  SWIG_JavaArrayIn(float, GetFloatArrayElements)
}
void SWIG_JavaArrayArgoutFloat(JNIEnv *jenv, jfloat *jarr, float *carr, jfloatArray input) {
  SWIG_JavaArrayArgout(jfloat, ReleaseFloatArrayElements)
}
jfloatArray SWIG_JavaArrayOutFloat(JNIEnv *jenv, float *result, jsize sz) {
  SWIG_JavaArrayOut(jfloat, jfloatArray, NewFloatArray, GetFloatArrayElements, ReleaseFloatArrayElements)
}

/* double[] support */
int SWIG_JavaArrayInDouble(JNIEnv *jenv, jdouble **jarr, double **carr, jdoubleArray input) {
  SWIG_JavaArrayIn(double, GetDoubleArrayElements)
}
void SWIG_JavaArrayArgoutDouble(JNIEnv *jenv, jdouble *jarr, double *carr, jdoubleArray input) {
  SWIG_JavaArrayArgout(jdouble, ReleaseDoubleArrayElements)
}
jdoubleArray SWIG_JavaArrayOutDouble(JNIEnv *jenv, double *result, jsize sz) {
  SWIG_JavaArrayOut(jdouble, jdoubleArray, NewDoubleArray, GetDoubleArrayElements, ReleaseDoubleArrayElements)
}

#ifdef __cplusplus
/* bool[] support */
int SWIG_JavaArrayInBool(JNIEnv *jenv, jboolean **jarr, bool **carr, jbooleanArray input) {
  SWIG_JavaArrayIn(bool, GetBooleanArrayElements)
}
void SWIG_JavaArrayArgoutBool(JNIEnv *jenv, jboolean *jarr, bool *carr, jbooleanArray input) {
  SWIG_JavaArrayArgout(jboolean, ReleaseBooleanArrayElements)
}
jbooleanArray SWIG_JavaArrayOutBool(JNIEnv *jenv, bool *result, jsize sz) {
  SWIG_JavaArrayOut(jboolean, jbooleanArray, NewBooleanArray, GetBooleanArrayElements, ReleaseBooleanArrayElements)
}
#endif

#endif /* SWIG_NOINCLUDE */