/trunk/Examples/lua/owner/example.i
Swig | 32 lines | 18 code | 9 blank | 5 comment | 0 complexity | 5e406352428df6d1a5e1e580f752b929 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* File : example.i */
- %module example
-
- %{
- #include "example.h"
- %}
-
- // before we grab the header file, we must warn SWIG about some of these functions.
-
- // these functions create data, so must be managed
- %newobject createCircle;
- %newobject createSquare;
-
- // this method returns as pointer which must be managed
- %newobject ShapeOwner::remove;
-
- // you cannot use %delobject on ShapeOwner::add()
- // as this disowns the ShapeOwner, not the Shape (oops)
- //%delobject ShapeOwner::add(Shape*); DO NOT USE
-
- // either you can use a new function (such as this)
- /*%delobject add_Shape;
- %inline %{
- void add_Shape(Shape* s,ShapeOwner* own){own->add(s);}
- %}*/
-
- // or a better solution is a typemap
- %apply SWIGTYPE *DISOWN {Shape* ptr};
-
- // now we can grab the header file
- %include "example.h"
-