blob: 5917da90dbb5622699610188ee25e333bd590612 [file] [log] [blame]
Vince Harronb46a6ee2015-06-02 18:58:48 -07001/* -----------------------------------------------------------------------------
2 * denums.swg
3 *
4 * Typemaps for enumerations.
5 * ----------------------------------------------------------------------------- */
6
7
8/*
9 * Typemaps for enumeration types.
10 */
11
12%typemap(ctype) enum SWIGTYPE "int"
13%typemap(imtype) enum SWIGTYPE "int"
14%typemap(dtype, cprimitive="1") enum SWIGTYPE "$dclassname"
15
16%typecheck(SWIG_TYPECHECK_POINTER) enum SWIGTYPE ""
17
18%typemap(in) enum SWIGTYPE %{ $1 = ($1_ltype)$input; %}
19%typemap(out) enum SWIGTYPE %{ $result = $1; %}
20
21%typemap(directorout) enum SWIGTYPE %{ $result = ($1_ltype)$input; %}
22%typemap(directorin) enum SWIGTYPE "$input = $1;"
23%typemap(ddirectorin) enum SWIGTYPE "cast($dclassname)$winput"
24%typemap(ddirectorout) enum SWIGTYPE "cast(int)$dcall"
25
26%typemap(din) enum SWIGTYPE "cast(int)$dinput"
27%typemap(dout, excode=SWIGEXCODE) enum SWIGTYPE {
28 $dclassname ret = cast($dclassname)$imcall;$excode
29 return ret;
30}
31
32
33/*
34 * Typemaps for (const) references to enumeration types.
35 */
36
37%typemap(ctype) const enum SWIGTYPE & "int"
38%typemap(imtype) const enum SWIGTYPE & "int"
39%typemap(dtype) const enum SWIGTYPE & "$*dclassname"
40
41%typecheck(SWIG_TYPECHECK_POINTER) const enum SWIGTYPE & ""
42
43%typemap(in) const enum SWIGTYPE & ($*1_ltype temp)
44%{ temp = ($*1_ltype)$input;
45 $1 = &temp; %}
46%typemap(out) const enum SWIGTYPE & %{ $result = *$1; %}
47
48%typemap(directorin) const enum SWIGTYPE & "$input = $1;"
49%typemap(directorout,warning=SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG) const enum SWIGTYPE &
50%{ static $*1_ltype temp = ($*1_ltype)$input;
51 $result = &temp; %}
52
53%typemap(ddirectorin) const enum SWIGTYPE & "cast($*dclassname)$winput"
54%typemap(ddirectorout) const enum SWIGTYPE & "cast(int)$dcall"
55
56%typemap(din) const enum SWIGTYPE & "cast(int)$dinput"
57%typemap(dout, excode=SWIGEXCODE) const enum SWIGTYPE & {
58 $*dclassname ret = cast($*dclassname)$imcall;$excode
59 return ret;
60}