%module overload_extend2

%typemap(default) int int2 "$1=1000;"

%inline %{
typedef struct Foo {
  int dummy;
} Foo;
%}

%extend Foo {
    int test(int x) { x = 0; return 1; }
    int test(char *s) { s = 0; return 2; }
    int test(double x, double y) { x = 0; y = 0; return 3; }
    int test(char *s, int int1, int int2) { s = 0; return int1+int2; }

    /* C default arguments */
    int test(Foo* f, int i=10, int j=20) { return i+j; }
};


