swig/Examples/test-suite/java_lib_various.i
2003-11-08 21:02:37 +00:00

45 lines
981 B
OpenEdge ABL

/* 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 };
%{
char *langs[] = { "Hungarian", "Afrikaans", "Norwegian", 0 };
%}
%immutable languages; /* TODO: fix, because there is a problem with setters */
%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[] = { "Dave", "Mike", "Susan", "John", "Michelle", 0};
return &values[0];
}
void charout(char *chars) {
if(chars != NULL)
sprintf(chars, "by jove");
}
%}