/trunk/Examples/test-suite/java_lib_arrays.i
Swig | 69 lines | 57 code | 10 blank | 2 comment | 0 complexity | 6e530fc9997402bd082e7fb3f816030d MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* Testcase for the Java array typemaps which are not used by default. */
- %module java_lib_arrays
- %include "enumtypeunsafe.swg"
- /* Use the Java library typemaps */
- %include "arrays_java.i"
- JAVA_ARRAYSOFCLASSES(SimpleStruct)
- %apply ARRAYSOFENUMS[ANY] { finger[ANY] }
- //%apply signed char[ANY] { char array_c2[ANY] }
- %include "arrays.i"
- // This will test the %typemap(javacode) in the JAVA_ARRAYSOFCLASSES works with C structs amongst other things
- JAVA_ARRAYSOFCLASSES(struct AnotherStruct)
- %inline %{
- struct AnotherStruct {
- SimpleStruct simple;
- };
- double extract(struct AnotherStruct as[], int index) {
- return as[index].simple.double_field;
- }
- double extract2(struct AnotherStruct as[5], int index) {
- return as[index].simple.double_field;
- }
- %}
- // Test %apply to pointers
- JAVA_ARRAYSOFCLASSES(struct YetAnotherStruct)
- %apply struct YetAnotherStruct[] { struct YetAnotherStruct *yas }
- //%apply struct YetAnotherStruct[] { struct YetAnotherStruct * } // Note: Does not work unless this is put after the YetAnotherStruct definition
- %inline %{
- struct YetAnotherStruct {
- SimpleStruct simple;
- };
- double extract_ptr(struct YetAnotherStruct *yas, int index) {
- return yas[index].simple.double_field;
- }
- void modifyYAS(struct YetAnotherStruct yas[], int size) {
- int i;
- for (i=0; i<size; ++i) {
- SimpleStruct ss;
- ss.double_field = yas[i].simple.double_field * 10.0;
- yas[i].simple = ss;
- }
- }
- %}
- %apply ARRAYSOFENUMS[ANY] { toe[ANY] }
- %apply ARRAYSOFENUMS[] { toe[] }
- %apply ARRAYSOFENUMS[] { toe* }
- %inline %{
- typedef enum { Big, Little } toe;
- void toestest(toe *t, toe tt[], toe ttt[2]) {}
- %}
- JAVA_ARRAYS_IMPL(char, jbyte, Byte, Char)
- JAVA_ARRAYS_TYPEMAPS(char, byte, jbyte, Char, "[B")
- %typecheck(SWIG_TYPECHECK_INT8_ARRAY) /* Java byte[] */
- signed char[ANY], signed char[]
- ""
- %inline %{
- struct ArrayStructExtra {
- char array_c2[ARRAY_LEN];
- };
- %}