You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ja...@apache.org on 2003/11/10 19:18:11 UTC
svn commit: rev 118 - xml/xerces-p/trunk
Author: jasons
Date: Mon Nov 10 10:18:11 2003
New Revision: 118
Modified:
xml/xerces-p/trunk/typemaps.i
Log:
added overloading code for grammars and CallbackHandlers
Modified: xml/xerces-p/trunk/typemaps.i
==============================================================================
--- xml/xerces-p/trunk/typemaps.i (original)
+++ xml/xerces-p/trunk/typemaps.i Mon Nov 10 10:18:11 2003
@@ -180,14 +180,73 @@
}
//
-// IDOM_Node*
+// Grammar*
+//
+
+%typemap(out) XERCES_CPP_NAMESPACE::Grammar * = SWIGTYPE *DYNAMIC;
+
+DYNAMIC_CAST(SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar, Grammar_dynamic_cast);
+
+%{
+static swig_type_info *
+Grammar_dynamic_cast(void **ptr) {
+ Grammar **nptr = (Grammar **) ptr;
+ if (*nptr == NULL) {
+ return NULL;
+ }
+ short int type = (*nptr)->getGrammarType();
+ if (type == Grammar::DTDGrammarType) {
+ return SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDGrammar;
+ }
+ if (type == Grammar::SchemaGrammarType) {
+ return SWIGTYPE_p_XERCES_CPP_NAMESPACE__SchemaGrammar;
+ }
+ return NULL;
+}
+%}
+
+//
+// PerlCallbackHandler*
+//
+
+%typemap(out) XERCES_CPP_NAMESPACE::PerlCallbackHandler * = SWIGTYPE *DYNAMIC;
+
+DYNAMIC_CAST(SWIGTYPE_p_PerlCallbackHandler, PerlCallbackHandler_dynamic_cast);
+
+%{
+static swig_type_info *
+PerlCallbackHandler_dynamic_cast(void **ptr) {
+ PerlCallbackHandler **nptr = (PerlCallbackHandler **) ptr;
+ if (*nptr == NULL) {
+ return NULL;
+ }
+ short int type = (*nptr)->type();
+ if (type == PERLCALLBACKHANDLER_BASE_TYPE) {
+ die("Can't cast a PerlCallbackHandler base type node\n");
+ }
+ if (type == PERLCALLBACKHANDLER_ERROR_TYPE) {
+ return SWIGTYPE_p_PerlErrorCallbackHandler;
+ }
+ if (type == PERLCALLBACKHANDLER_ENTITY_TYPE) {
+ return SWIGTYPE_p_PerlEntityResolverHandler;
+ }
+ if (type == PERLCALLBACKHANDLER_CONTENT_TYPE) {
+ return SWIGTYPE_p_PerlContentCallbackHandler;
+ }
+ if (type == PERLCALLBACKHANDLER_DOCUMENT_TYPE) {
+ return SWIGTYPE_p_PerlDocumentCallbackHandler;
+ }
+ if (type == PERLCALLBACKHANDLER_NODE_TYPE) {
+ return SWIGTYPE_p_PerlNodeFilterCallbackHandler;
+ }
+ return NULL;
+}
+%}
+
+//
+// DOM_Node*
//
-// %typemap(out) DOMNode* {
-// swig_type_info *ty = SWIG_TypeDynamicCast($1_descriptor, (void **) &$1);
-// ST(argvi) = sv_newmortal();
-// SWIG_MakePtr(ST(argvi++), (void *) result, ty,0);
-// }
%typemap(out) XERCES_CPP_NAMESPACE::DOMNode * = SWIGTYPE *DYNAMIC;
DYNAMIC_CAST(SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNode, DOMNode_dynamic_cast);
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org