/trunk/Examples/test-suite/director_finalizer.i
Swig | 45 lines | 32 code | 13 blank | 0 comment | 0 complexity | 8cb69060d89a644f7c329c8a16f12806 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %module(directors="1") director_finalizer
- %warnfilter(SWIGWARN_GO_NAME_CONFLICT); /* Ignoring 'deleteFoo' due to Go name ('DeleteFoo') conflict with '~Foo' */
- %{
- int status = 0;
- class Foo {
- public:
- virtual ~Foo() { orStatus(1); }
- virtual void orStatus(int x) { status |= x; }
- };
- void deleteFoo(Foo *f) {
- delete f;
- }
- Foo *launder(Foo *f) {
- return f;
- }
- int getStatus() {
- return status;
- }
- void resetStatus() {
- status = 0;
- }
- %}
- %feature("director") Foo;
- class Foo {
- public:
- virtual ~Foo();
- virtual void orStatus(int x);
- };
- void deleteFoo(Foo *f);
- int getStatus();
- Foo *launder(Foo *f);
- void resetStatus();