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
|
import char_binary.*;
public class char_binary_runme {
static {
try {
System.loadLibrary("char_binary");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}
public static void main(String argv[]) {
Test t = new Test();
String hile = "hile";
if (t.strlen(hile) != 4)
throw new RuntimeException("bad multi-arg typemap");
if (t.ustrlen(hile) != 4)
throw new RuntimeException("bad multi-arg typemap");
String hil0 = "hil\0";
if (t.strlen(hil0) != 4)
throw new RuntimeException("bad multi-arg typemap");
if (t.ustrlen(hil0) != 4)
throw new RuntimeException("bad multi-arg typemap");
// creating a raw char*
SWIGTYPE_p_char pc = char_binary.new_pchar(5);
char_binary.pchar_setitem(pc, 0, 'h');
char_binary.pchar_setitem(pc, 1, 'o');
char_binary.pchar_setitem(pc, 2, 'l');
char_binary.pchar_setitem(pc, 3, 'a');
char_binary.pchar_setitem(pc, 4, '\0');
/* FIXME: incompatible types: SWIGTYPE_p_char cannot be converted to String
if (t.strlen(pc) != 4)
throw new RuntimeException("bad multi-arg typemap");
if (t.ustrlen(pc) != 4)
throw new RuntimeException("bad multi-arg typemap");
*/
/* FIXME: pc cannot be converted to String
char_binary.setVar_pchar(pc);
*/
char_binary.setVar_pchar("hola");
if (!char_binary.getVar_pchar().equals("hola"))
throw new RuntimeException("bad pointer case");
/* FIXME: pc cannot be converted to String
char_binary.setVar_namet(pc);
*/
char_binary.setVar_namet("hola");
if (!char_binary.getVar_namet().equals("hola"))
throw new RuntimeException("bad pointer case");
char_binary.delete_pchar(pc);
}
}
|