enums.swg 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /* -----------------------------------------------------------------------------
  2. * enums.swg
  3. *
  4. * Include this file in order for C/C++ enums to be wrapped by proper C# enums.
  5. * Note that the PINVOKE layer handles the enum as an int.
  6. * ----------------------------------------------------------------------------- */
  7. // const enum SWIGTYPE & typemaps
  8. %typemap(ctype) const enum SWIGTYPE & "int"
  9. %typemap(imtype) const enum SWIGTYPE & "int"
  10. %typemap(cstype) const enum SWIGTYPE & "$*csclassname"
  11. %typemap(in) const enum SWIGTYPE & ($*1_ltype temp)
  12. %{ temp = ($*1_ltype)$input;
  13. $1 = &temp; %}
  14. %typemap(out) const enum SWIGTYPE & %{ $result = (int)*$1; %}
  15. %typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
  16. %{ static $*1_ltype temp = ($*1_ltype)$input;
  17. $result = &temp; %}
  18. %typemap(directorin) const enum SWIGTYPE & "$input = (int)$1;"
  19. %typemap(csdirectorin) const enum SWIGTYPE & "($*csclassname)$iminput"
  20. %typemap(csdirectorout) const enum SWIGTYPE & "(int)$cscall"
  21. %typecheck(SWIG_TYPECHECK_POINTER) const enum SWIGTYPE & ""
  22. %typemap(throws, canthrow=1) const enum SWIGTYPE &
  23. %{ (void)$1;
  24. SWIG_CSharpSetPendingException(SWIG_CSharpApplicationException, "C++ $1_type exception thrown");
  25. return $null; %}
  26. %typemap(csin) const enum SWIGTYPE & "(int)$csinput"
  27. %typemap(csout, excode=SWIGEXCODE) const enum SWIGTYPE & {
  28. $*csclassname ret = ($*csclassname)$imcall;$excode
  29. return ret;
  30. }
  31. %typemap(csvarout, excode=SWIGEXCODE2) const enum SWIGTYPE & %{
  32. get {
  33. $*csclassname ret = ($*csclassname)$imcall;$excode
  34. return ret;
  35. } %}
  36. // enum SWIGTYPE typemaps
  37. %typemap(ctype) enum SWIGTYPE "int"
  38. %typemap(imtype) enum SWIGTYPE "int"
  39. %typemap(cstype) enum SWIGTYPE "$csclassname"
  40. %typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
  41. %typemap(out) enum SWIGTYPE %{ $result = (int)$1; %}
  42. %typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
  43. %typemap(directorin) enum SWIGTYPE "$input = (int)$1;"
  44. %typemap(csdirectorin) enum SWIGTYPE "($csclassname)$iminput"
  45. %typemap(csdirectorout) enum SWIGTYPE "(int)$cscall"
  46. %typecheck(SWIG_TYPECHECK_POINTER) enum SWIGTYPE ""
  47. %typemap(throws, canthrow=1) enum SWIGTYPE
  48. %{ (void)$1;
  49. SWIG_CSharpSetPendingException(SWIG_CSharpApplicationException, "C++ $1_type exception thrown");
  50. return $null; %}
  51. %typemap(csin) enum SWIGTYPE "(int)$csinput"
  52. %typemap(csout, excode=SWIGEXCODE) enum SWIGTYPE {
  53. $csclassname ret = ($csclassname)$imcall;$excode
  54. return ret;
  55. }
  56. %typemap(csvarout, excode=SWIGEXCODE2) enum SWIGTYPE %{
  57. get {
  58. $csclassname ret = ($csclassname)$imcall;$excode
  59. return ret;
  60. } %}
  61. %typemap(csbase) enum SWIGTYPE ""
  62. %typemap(csclassmodifiers) enum SWIGTYPE "public enum"
  63. %typemap(cscode) enum SWIGTYPE ""
  64. %typemap(csimports) enum SWIGTYPE ""
  65. %typemap(csinterfaces) enum SWIGTYPE ""
  66. %typemap(csbody) enum SWIGTYPE ""
  67. %csenum(proper);