/* Java various.i library tests */ %module java_lib_various %include "various.i" %apply char **STRING_ARRAY { char **received }; %apply char **STRING_ARRAY { char **get_names }; %apply char **STRING_ARRAY { char **languages }; %apply char *BYTE { char *chars }; %apply char **STRING_OUT { char **string_ptr }; %apply unsigned char *NIOBUFFER { unsigned char *buf }; %typemap(freearg) char **languages "" // don't delete memory when setting global variable %{ char *langs[] = { (char *)"Hungarian", (char *)"Afrikaans", (char *)"Norwegian", NULL }; %} %inline %{ char **languages = &langs[0]; %} %inline %{ int check_animals(char **received) { const char *expected[] = {"Cat","Dog","Cow","Goat", 0}; int strings_match = 1; int i=0; while (expected[i]) { if (strcmp(received[i], expected[i]) != 0) strings_match = 0; i++; } return strings_match; } char **get_names() { static char *values[] = { (char *)"Dave", (char *)"Mike", (char *)"Susan", (char *)"John", (char *)"Michelle", NULL}; return &values[0]; } void charout(char *chars) { if(chars != NULL) sprintf(chars, "by jove"); } void char_ptr_ptr_out(char **string_ptr) { static char ret[] = "returned string"; *string_ptr = ret; } void niobuffer_fill_hello(unsigned char *buf) { sprintf ((char*)buf,"hello"); } %}