| %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; | |
| } | |
| }; | |
| %} |