diff options
Diffstat (limited to 'Examples/test-suite/ruby_track_objects_directors.i')
| -rw-r--r-- | Examples/test-suite/ruby_track_objects_directors.i | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Examples/test-suite/ruby_track_objects_directors.i b/Examples/test-suite/ruby_track_objects_directors.i new file mode 100644 index 0000000..1312098 --- /dev/null +++ b/Examples/test-suite/ruby_track_objects_directors.i @@ -0,0 +1,44 @@ +%module(directors="1") ruby_track_objects_directors + +%{ +#include <string> +%} + +%include "std_string.i"; +%feature("director") Foo; + +%trackobjects; + +%inline %{ + +class Foo { +public: + Foo() {} + virtual ~Foo() {} + virtual std::string ping() + { + return "Foo::ping()"; + } + + virtual std::string pong() + { + return "Foo::pong();" + ping(); + } +}; + + +class Container { + Foo* foo_; +public: + Foo* get_foo() + { + return foo_; + } + + void set_foo(Foo *foo) + { + foo_ = foo; + } +}; + +%} |
