all repos — openbox @ c34f2a5241fba850f3e48a08ebeff3190c6dc9d5

openbox fork - make it a bit more like ryudo

add ustring.i which wraps otk::ustring for to/from python conversions
Dana Jansens danakj@orodu.net
commit

c34f2a5241fba850f3e48a08ebeff3190c6dc9d5

parent

c97915f445017d36667a6ad32767fa41d14d23b1

1 files changed, 40 insertions(+), 0 deletions(-)

jump to
A otk/ustring.i

@@ -0,0 +1,40 @@

+// SWIG typemaps for otk::ustring + +%{ +#include "ustring.hh" +%} + +namespace otk { + + class ustring; + + /* Overloading check */ + + %typemap(typecheck) ustring = char *; + %typemap(typecheck) const ustring & = char *; + + %typemap(in) ustring { + if (PyString_Check($input)) + $1 = otk::ustring(PyString_AsString($input)); + else + SWIG_exception(SWIG_TypeError, "ustring expected"); + } + + %typemap(in) const ustring & (otk::ustring temp) { + if (PyString_Check($input)) { + temp = otk::ustring(PyString_AsString($input)); + $1 = &temp; + } else { + SWIG_exception(SWIG_TypeError, "ustring expected"); + } + } + + %typemap(out) ustring { + $result = PyString_FromString($1.c_str()); + } + + %typemap(out) const ustring & { + $result = PyString_FromString($1->c_str()); + } + +}