summaryrefslogtreecommitdiff
path: root/Examples/lua/exception/example.i
blob: a6b43837dd2fcec7ac8e9c257c73e6d96a478d32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* File : example.i */
%module example

%{
#include "example.h"
%}

%include "std_string.i"

// we want to return Exc objects to the interpreter
// therefore we add this typemap
// note: only works if Exc is copyable
%apply SWIGTYPE EXCEPTION_BY_VAL {Exc};

%catches(int) Test::simple();
%catches(const char *) Test::message();
%catches(Exc) Test::hosed();
%catches(A*) Test::unknown();
%catches(int, const char *, Exc) Test::multi(int x);

/* Let's just grab the original header file here */
%include "example.h"