/* 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