PageRenderTime 43ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/modula3/class/example.i

#
Swig | 32 lines | 15 code | 7 blank | 10 comment | 0 complexity | 56b284a791f461a25d970fbdd014c775 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. /* File : example.i */
  2. %module Example
  3. %{
  4. #include "example.h"
  5. %}
  6. %insert(m3makefile) %{template("../swig")
  7. cxx_source("example_wrap")%}
  8. %typemap(m3rawinmode) Shape *, Circle *, Square * ""
  9. %typemap(m3rawrettype) Shape *, Circle *, Square * "$1_basetype"
  10. %typemap(m3wrapinmode) Shape *, Circle *, Square * ""
  11. %typemap(m3wrapargraw) Shape *, Circle *, Square * "self.cxxObj"
  12. %typemap(m3wrapretvar) Circle *, Square * "cxxObj : ExampleRaw.$1_basetype;"
  13. %typemap(m3wrapretraw) Circle *, Square * "cxxObj"
  14. %typemap(m3wrapretconv) Circle *, Square * "NEW($1_basetype,cxxObj:=cxxObj)"
  15. %typemap(m3wraprettype) Circle *, Square * "$1_basetype"
  16. /* Should work with and without renaming
  17. %rename(M3Shape) Shape;
  18. %rename(M3Circle) Circle;
  19. %rename(M3Square) Square;
  20. %typemap(m3wrapintype) Shape *, Circle *, Square * "M3$1_basetype"
  21. %typemap(m3wraprettype) Shape *, Circle *, Square * "M3$1_basetype"
  22. %typemap(m3wrapretconv) Circle *, Square * "NEW(M3$1_basetype,cxxObj:=cxxObj)"
  23. */
  24. /* Let's just grab the original header file here */
  25. %include "example.h"