40 lines
890 B
OpenEdge ABL
40 lines
890 B
OpenEdge ABL
// SWIG typemaps for otk::ustring
|
|
|
|
%{
|
|
#include "otk/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());
|
|
}
|
|
|
|
}
|