139
139
/* The rest of this file has the array typemaps */
141
/* Arrays of primitive types.
142
* These typemaps are applied merely by including this file. */
143
%typemap(jni) bool[ANY] "jbooleanArray"
144
%typemap(jni) signed char[ANY] "jbyteArray"
145
%typemap(jni) unsigned char[ANY] "jshortArray"
146
%typemap(jni) short[ANY] "jshortArray"
147
%typemap(jni) unsigned short[ANY] "jintArray"
148
%typemap(jni) int[ANY] "jintArray"
149
%typemap(jni) unsigned int[ANY] "jlongArray"
150
%typemap(jni) long[ANY] "jintArray"
151
%typemap(jni) unsigned long[ANY] "jlongArray"
152
%typemap(jni) long long[ANY] "jlongArray"
153
/*%typemap(jni) unsigned long long[ANY] "jobjectArray"*/
154
%typemap(jni) float[ANY] "jfloatArray"
155
%typemap(jni) double[ANY] "jdoubleArray"
157
%typemap(jtype) bool[ANY] "boolean[]"
158
%typemap(jtype) signed char[ANY] "byte[]"
159
%typemap(jtype) unsigned char[ANY] "short[]"
160
%typemap(jtype) short[ANY] "short[]"
161
%typemap(jtype) unsigned short[ANY] "int[]"
162
%typemap(jtype) int[ANY] "int[]"
163
%typemap(jtype) unsigned int[ANY] "long[]"
164
%typemap(jtype) long[ANY] "int[]"
165
%typemap(jtype) unsigned long[ANY] "long[]"
166
%typemap(jtype) long long[ANY] "long[]"
167
/*%typemap(jtype) unsigned long long[ANY] "java.math.BigInteger[]"*/
168
%typemap(jtype) float[ANY] "float[]"
169
%typemap(jtype) double[ANY] "double[]"
171
%typemap(jstype) bool[ANY] "boolean[]"
172
%typemap(jstype) signed char[ANY] "byte[]"
173
%typemap(jstype) unsigned char[ANY] "short[]"
174
%typemap(jstype) short[ANY] "short[]"
175
%typemap(jstype) unsigned short[ANY] "int[]"
176
%typemap(jstype) int[ANY] "int[]"
177
%typemap(jstype) unsigned int[ANY] "long[]"
178
%typemap(jstype) long[ANY] "int[]"
179
%typemap(jstype) unsigned long[ANY] "long[]"
180
%typemap(jstype) long long[ANY] "long[]"
181
/*%typemap(jstype) unsigned long long[ANY] "java.math.BigInteger[]"*/
182
%typemap(jstype) float[ANY] "float[]"
183
%typemap(jstype) double[ANY] "double[]"
185
%typemap(javadirectorin) bool[ANY],
195
/* unsigned long long[ANY], */
200
%typemap(javadirectorout) bool[ANY],
210
/* unsigned long long[ANY], */
215
141
/* Arrays of primitive types use the following macro. The array typemaps use support functions. */
216
%define JAVA_ARRAYS_TYPEMAPS(CTYPE, JNITYPE, JFUNCNAME, JNIDESC)
142
%define JAVA_ARRAYS_TYPEMAPS(CTYPE, JTYPE, JNITYPE, JFUNCNAME, JNIDESC)
144
%typemap(jni) CTYPE[ANY], CTYPE[] %{JNITYPE##Array%}
145
%typemap(jtype) CTYPE[ANY], CTYPE[] %{JTYPE[]%}
146
%typemap(jstype) CTYPE[ANY], CTYPE[] %{JTYPE[]%}
218
148
%typemap(in) CTYPE[] (JNITYPE *jarr)
219
149
%{ if (!SWIG_JavaArrayIn##JFUNCNAME(jenv, &jarr, &$1, $input)) return $null; %}
225
155
if (!SWIG_JavaArrayIn##JFUNCNAME(jenv, &jarr, &$1, $input)) return $null; %}
226
%typemap(argout) CTYPE[ANY]
156
%typemap(argout) CTYPE[ANY], CTYPE[]
227
157
%{ SWIG_JavaArrayArgout##JFUNCNAME(jenv, jarr$argnum, $1, $input); %}
228
%typemap(directorin,descriptor=JNIDESC) CTYPE[ANY]
158
%typemap(directorin,descriptor=JNIDESC) CTYPE[ANY], CTYPE[]
229
159
%{$input = SWIG_JavaArrayOut##JFUNCNAME(jenv, $1, $1_dim0); %}
230
%typemap(out) CTYPE[ANY]
160
%typemap(out) CTYPE[ANY]
231
161
%{$result = SWIG_JavaArrayOut##JFUNCNAME(jenv, $1, $1_dim0); %}
232
%typemap(freearg) CTYPE[ANY]
162
%typemap(out) CTYPE[]
163
%{$result = SWIG_JavaArrayOut##JFUNCNAME(jenv, $1, FillMeInAsSizeCannotBeDeterminedAutomatically); %}
164
%typemap(freearg) CTYPE[ANY], CTYPE[]
234
166
%{ delete [] $1; %}
238
%typemap(director_in) CTYPE[ANY]
239
%{$result = SWIG_JavaArrayOut##JFUNCNAME(jenv, $1, $1_dim0); %}
240
%typemap(director_out) CTYPE[] (JNITYPE *jarr)
241
%{ if (!SWIG_JavaArrayIn##JFUNCNAME(jenv, &jarr, &$1, $input)) return $null; %}
171
%typemap(javain) CTYPE[ANY], CTYPE[] "$javainput"
172
%typemap(javaout) CTYPE[ANY], CTYPE[] {
176
%typemap(javadirectorin) CTYPE[ANY], CTYPE[] "$jniinput"
177
%typemap(javadirectorout) CTYPE[ANY], CTYPE[] "$javacall"
245
JAVA_ARRAYS_TYPEMAPS(bool, jboolean, Bool, "[Z") /* bool[ANY] */
246
JAVA_ARRAYS_TYPEMAPS(signed char, jbyte, Schar, "[B") /* signed char[ANY] */
247
JAVA_ARRAYS_TYPEMAPS(unsigned char, jshort, Uchar, "[S") /* unsigned char[ANY] */
248
JAVA_ARRAYS_TYPEMAPS(short, jshort, Short, "[S") /* short[ANY] */
249
JAVA_ARRAYS_TYPEMAPS(unsigned short, jint, Ushort, "[I") /* unsigned short[ANY] */
250
JAVA_ARRAYS_TYPEMAPS(int, jint, Int, "[I") /* int[ANY] */
251
JAVA_ARRAYS_TYPEMAPS(unsigned int, jlong, Uint, "[J") /* unsigned int[ANY] */
252
JAVA_ARRAYS_TYPEMAPS(long, jint, Long, "[I") /* long[ANY] */
253
JAVA_ARRAYS_TYPEMAPS(unsigned long, jlong, Ulong, "[J") /* unsigned long[ANY] */
254
JAVA_ARRAYS_TYPEMAPS(long long, jlong, Longlong, "[J") /* long long[ANY] */
255
JAVA_ARRAYS_TYPEMAPS(float, jfloat, Float, "[F") /* float[ANY] */
256
JAVA_ARRAYS_TYPEMAPS(double, jdouble, Double, "[D") /* double[ANY] */
181
JAVA_ARRAYS_TYPEMAPS(bool, boolean, jboolean, Bool, "[Z") /* bool[ANY] */
182
JAVA_ARRAYS_TYPEMAPS(signed char, byte, jbyte, Schar, "[B") /* signed char[ANY] */
183
JAVA_ARRAYS_TYPEMAPS(unsigned char, short, jshort, Uchar, "[S") /* unsigned char[ANY] */
184
JAVA_ARRAYS_TYPEMAPS(short, short, jshort, Short, "[S") /* short[ANY] */
185
JAVA_ARRAYS_TYPEMAPS(unsigned short, int, jint, Ushort, "[I") /* unsigned short[ANY] */
186
JAVA_ARRAYS_TYPEMAPS(int, int, jint, Int, "[I") /* int[ANY] */
187
JAVA_ARRAYS_TYPEMAPS(unsigned int, long, jlong, Uint, "[J") /* unsigned int[ANY] */
188
JAVA_ARRAYS_TYPEMAPS(long, int, jint, Long, "[I") /* long[ANY] */
189
JAVA_ARRAYS_TYPEMAPS(unsigned long, long, jlong, Ulong, "[J") /* unsigned long[ANY] */
190
JAVA_ARRAYS_TYPEMAPS(long long, long, jlong, Longlong, "[J") /* long long[ANY] */
191
JAVA_ARRAYS_TYPEMAPS(float, float, jfloat, Float, "[F") /* float[ANY] */
192
JAVA_ARRAYS_TYPEMAPS(double, double, jdouble, Double, "[D") /* double[ANY] */
258
195
%typecheck(SWIG_TYPECHECK_BOOL_ARRAY) /* Java boolean[] */
262
199
%typecheck(SWIG_TYPECHECK_INT8_ARRAY) /* Java byte[] */
200
signed char[ANY], signed char[]
266
203
%typecheck(SWIG_TYPECHECK_INT16_ARRAY) /* Java short[] */
204
unsigned char[ANY], unsigned char[],
271
208
%typecheck(SWIG_TYPECHECK_INT32_ARRAY) /* Java int[] */
209
unsigned short[ANY], unsigned short[],
277
214
%typecheck(SWIG_TYPECHECK_INT64_ARRAY) /* Java long[] */
215
unsigned int[ANY], unsigned int[],
216
unsigned long[ANY], unsigned long[],
217
long long[ANY], long long[]
283
220
%typecheck(SWIG_TYPECHECK_INT128_ARRAY) /* Java BigInteger[] */
284
unsigned long long[ANY]
221
unsigned long long[ANY], unsigned long long[]
287
224
%typecheck(SWIG_TYPECHECK_FLOAT_ARRAY) /* Java float[] */
291
228
%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY) /* Java double[] */
229
double[ANY], double[]
295
%typemap(javain) bool[ANY],
305
/* unsigned long long[ANY], */
310
%typemap(javaout) bool[ANY],
320
/* unsigned long long[ANY], */
327
233
/* Arrays of proxy classes. The typemaps in this macro make it possible to treat an array of
328
234
* class/struct/unions as an array of Java classes.