Commit bd44ae1f7fda5f093a88a2a950ede71d7249576c
1 parent
1ecd0e16
Add GXmlNode* typemap.
Showing
1 changed file
with
21 additions
and
2 deletions
pyext/GXmlNode.i
| ... | ... | @@ -29,8 +29,27 @@ |
| 29 | 29 | #include "GTools.hpp" |
| 30 | 30 | %} |
| 31 | 31 | |
| 32 | -/* __ Includes ___________________________________________________________ */ | |
| 33 | -%include "GTypemaps.i" | |
| 32 | +/* __ Typemaps ___________________________________________________________ */ | |
| 33 | +%typemap(out) GXmlNode* { | |
| 34 | + if (dynamic_cast<GXmlElement*>($1) != NULL) { | |
| 35 | + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_GXmlElement, 0 | 0 ); | |
| 36 | + } | |
| 37 | + else if (dynamic_cast<GXmlComment*>($1) != NULL) { | |
| 38 | + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_GXmlComment, 0 | 0 ); | |
| 39 | + } | |
| 40 | + else if (dynamic_cast<GXmlDocument*>($1) != NULL) { | |
| 41 | + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_GXmlDocument, 0 | 0 ); | |
| 42 | + } | |
| 43 | + else if (dynamic_cast<GXmlPI*>($1) != NULL) { | |
| 44 | + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_GXmlPI, 0 | 0 ); | |
| 45 | + } | |
| 46 | + else if (dynamic_cast<GXmlText*>($1) != NULL) { | |
| 47 | + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_GXmlText, 0 | 0 ); | |
| 48 | + } | |
| 49 | + else { | |
| 50 | + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_GXmlNode, 0 | 0 ); | |
| 51 | + } | |
| 52 | +} | |
| 34 | 53 | |
| 35 | 54 | |
| 36 | 55 | /***********************************************************************//** | ... | ... |