Commit bd44ae1f7fda5f093a88a2a950ede71d7249576c

Authored by Jürgen Knödlseder
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 /***********************************************************************//**
... ...