/trunk/Examples/test-suite/java_lib_various.i
Swig | 51 lines | 39 code | 11 blank | 1 comment | 0 complexity | 6a2edcdc7ec5497086cbbcd07b4adf5b MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* 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 };
- %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;
- }
- %}