/trunk/Examples/lua/owner/example.i
# · Swig · 32 lines · 18 code · 9 blank · 5 comment · 0 complexity · 5e406352428df6d1a5e1e580f752b929 MD5 · raw file
- /* 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"