| /* |
| adding backward compatibility macros |
| */ |
| |
| #define SWIG_arg(x...) %arg(x) |
| #define SWIG_Mangle(x...) %mangle(x) |
| |
| #define SWIG_As_frag(Type...) %fragment_name(As, Type) |
| #define SWIG_As_name(Type...) %symbol_name(As, Type) |
| #define SWIG_As(Type...) SWIG_As_name(Type) SWIG_AS_CALL_ARGS |
| |
| #define SWIG_Check_frag(Type...) %fragment_name(Check, Type) |
| #define SWIG_Check_name(Type...) %symbol_name(Check, Type) |
| #define SWIG_Check(Type...) SWIG_Check_name(Type) SWIG_AS_CALL_ARGS |
| |
| %define %ascheck_methods(Code, Type...) |
| %fragment(SWIG_As_frag(Type),"header", fragment=SWIG_AsVal_frag(Type)) { |
| SWIGINTERNINLINE Type |
| SWIG_As(Type)(PyObject* obj) |
| { |
| Type v; |
| int res = SWIG_AsVal(Type)(obj, &v); |
| if (!SWIG_IsOK(res)) { |
| /* |
| this is needed to make valgrind/purify happier. |
| */ |
| memset((void*)&v, 0, sizeof(Type)); |
| SWIG_Error(res, ""); |
| } |
| return v; |
| } |
| } |
| |
| %fragment(SWIG_Check_frag(Type),"header",fragment=SWIG_AsVal_frag(Type)) { |
| SWIGINTERNINLINE int |
| SWIG_Check(Type)(PyObject* obj) |
| { |
| int res = SWIG_AsVal(Type)(obj, (Type*)0); |
| return SWIG_IsOK(res); |
| } |
| } |
| %enddef |
| |
| %apply_checkctypes(%ascheck_methods) |
| |