| /* 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"); | |
| } | |
| %} | |