denums.swg 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* -----------------------------------------------------------------------------
  2. * denums.swg
  3. *
  4. * Typemaps for enumerations.
  5. * ----------------------------------------------------------------------------- */
  6. /*
  7. * Typemaps for enumeration types.
  8. */
  9. %typemap(ctype) enum SWIGTYPE "int"
  10. %typemap(imtype) enum SWIGTYPE "int"
  11. %typemap(dtype, cprimitive="1") enum SWIGTYPE "$dclassname"
  12. %typecheck(SWIG_TYPECHECK_POINTER) enum SWIGTYPE ""
  13. %typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
  14. %typemap(out) enum SWIGTYPE %{ $result = (int)$1; %}
  15. %typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
  16. %typemap(directorin) enum SWIGTYPE "$input = (int)$1;"
  17. %typemap(ddirectorin) enum SWIGTYPE "cast($dclassname)$winput"
  18. %typemap(ddirectorout) enum SWIGTYPE "cast(int)$dcall"
  19. %typemap(din) enum SWIGTYPE "cast(int)$dinput"
  20. %typemap(dout, excode=SWIGEXCODE) enum SWIGTYPE {
  21. $dclassname ret = cast($dclassname)$imcall;$excode
  22. return ret;
  23. }
  24. /*
  25. * Typemaps for (const) references to enumeration types.
  26. */
  27. %typemap(ctype) const enum SWIGTYPE & "int"
  28. %typemap(imtype) const enum SWIGTYPE & "int"
  29. %typemap(dtype) const enum SWIGTYPE & "$*dclassname"
  30. %typecheck(SWIG_TYPECHECK_POINTER) const enum SWIGTYPE & ""
  31. %typemap(in) const enum SWIGTYPE & ($*1_ltype temp)
  32. %{ temp = ($*1_ltype)$input;
  33. $1 = &temp; %}
  34. %typemap(out) const enum SWIGTYPE & %{ $result = (int)*$1; %}
  35. %typemap(directorin) const enum SWIGTYPE & "$input = (int)$1;"
  36. %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
  37. %{ static $*1_ltype temp = ($*1_ltype)$input;
  38. $result = &temp; %}
  39. %typemap(ddirectorin) const enum SWIGTYPE & "cast($*dclassname)$winput"
  40. %typemap(ddirectorout) const enum SWIGTYPE & "cast(int)$dcall"
  41. %typemap(din) const enum SWIGTYPE & "cast(int)$dinput"
  42. %typemap(dout, excode=SWIGEXCODE) const enum SWIGTYPE & {
  43. $*dclassname ret = cast($*dclassname)$imcall;$excode
  44. return ret;
  45. }