Modified: xerces/c/trunk/swig/perl/Handler/PerlNodeFilterCallbackHandler.cpp URL: http://svn.apache.org/viewvc/xerces/c/trunk/swig/perl/Handler/PerlNodeFilterCallbackHandler.cpp?rev=636188&r1=636187&r2=636188&view=diff ============================================================================== --- xerces/c/trunk/swig/perl/Handler/PerlNodeFilterCallbackHandler.cpp (original) +++ xerces/c/trunk/swig/perl/Handler/PerlNodeFilterCallbackHandler.cpp Tue Mar 11 20:41:08 2008 @@ -47,7 +47,11 @@ return 0; } short accept = 0; + + // god bless John Lenz's new type system in SWIG 1.3.25!!! char *domNodeName = "XML::Xerces::DOMNode"; + swig_type_info *domNodeType = SWIG_TypeQuery(domNodeName); + swig_type_info *ty = SWIG_TypeDynamicCast(domNodeType, (void **) &node); dSP; @@ -59,9 +63,6 @@ XPUSHs(callbackObj); // the only argument is the node - // god bless John Lenz's new type system in SWIG 1.3.25!!! - swig_type_info *domNodeType = SWIG_TypeQuery(domNodeName); - swig_type_info *ty = SWIG_TypeDynamicCast(domNodeType, (void **) &node); SV* node_sv = sv_newmortal(); SWIG_MakePtr(node_sv, (void *) node, ty,0); XPUSHs(node_sv);
Modified: xerces/c/trunk/swig/perl/IO/IO.pm URL: http://svn.apache.org/viewvc/xerces/c/trunk/swig/perl/IO/IO.pm?rev=636188&r1=636187&r2=636188&view=diff ============================================================================== --- xerces/c/trunk/swig/perl/IO/IO.pm (original) +++ xerces/c/trunk/swig/perl/IO/IO.pm Tue Mar 11 20:41:08 2008 @@ -70,6 +70,98 @@ } +############# Class : XML::Xerces::DOMLSInput ############## + +package XML::Xerces::DOMLSInput; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_DOMLSInput($self); + delete $OWNER{$self}; + } +} + +*getStringData = *XML::Xercesc::DOMLSInput_getStringData; +*getByteStream = *XML::Xercesc::DOMLSInput_getByteStream; +*getEncoding = *XML::Xercesc::DOMLSInput_getEncoding; +*getPublicId = *XML::Xercesc::DOMLSInput_getPublicId; +*getSystemId = *XML::Xercesc::DOMLSInput_getSystemId; +*getBaseURI = *XML::Xercesc::DOMLSInput_getBaseURI; +*setStringData = *XML::Xercesc::DOMLSInput_setStringData; +*setByteStream = *XML::Xercesc::DOMLSInput_setByteStream; +*setEncoding = *XML::Xercesc::DOMLSInput_setEncoding; +*setPublicId = *XML::Xercesc::DOMLSInput_setPublicId; +*setSystemId = *XML::Xercesc::DOMLSInput_setSystemId; +*setBaseURI = *XML::Xercesc::DOMLSInput_setBaseURI; +*setIssueFatalErrorIfNotFound = *XML::Xercesc::DOMLSInput_setIssueFatalErrorIfNotFound; +*getIssueFatalErrorIfNotFound = *XML::Xercesc::DOMLSInput_getIssueFatalErrorIfNotFound; +*release = *XML::Xercesc::DOMLSInput_release; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::Wrapper4DOMLSInput ############## + +package XML::Xerces::Wrapper4DOMLSInput; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces::InputSource XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub new { + my $pkg = shift; + my $self = XML::Xercesc::new_Wrapper4DOMLSInput(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_Wrapper4DOMLSInput($self); + delete $OWNER{$self}; + } +} + +*makeStream = *XML::Xercesc::Wrapper4DOMLSInput_makeStream; +*getEncoding = *XML::Xercesc::Wrapper4DOMLSInput_getEncoding; +*getPublicId = *XML::Xercesc::Wrapper4DOMLSInput_getPublicId; +*getSystemId = *XML::Xercesc::Wrapper4DOMLSInput_getSystemId; +*getIssueFatalErrorIfNotFound = *XML::Xercesc::Wrapper4DOMLSInput_getIssueFatalErrorIfNotFound; +*setEncoding = *XML::Xercesc::Wrapper4DOMLSInput_setEncoding; +*setPublicId = *XML::Xercesc::Wrapper4DOMLSInput_setPublicId; +*setSystemId = *XML::Xercesc::Wrapper4DOMLSInput_setSystemId; +*setIssueFatalErrorIfNotFound = *XML::Xercesc::Wrapper4DOMLSInput_setIssueFatalErrorIfNotFound; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + ############# Class : XML::Xerces::LocalFileInputSource ############## package XML::Xerces::LocalFileInputSource; Modified: xerces/c/trunk/swig/perl/IO/Makefile.PL URL: http://svn.apache.org/viewvc/xerces/c/trunk/swig/perl/IO/Makefile.PL?rev=636188&r1=636187&r2=636188&view=diff ============================================================================== --- xerces/c/trunk/swig/perl/IO/Makefile.PL (original) +++ xerces/c/trunk/swig/perl/IO/Makefile.PL Tue Mar 11 20:41:08 2008 @@ -56,7 +56,7 @@ 'NAME' => 'XML::Xerces::IO', 'INC' => $INCLUDES, 'LIBS' => [$LIBS], - 'MYEXTLIB' => "$TRANSCODER_LIB $HANDLER_LIB", + 'MYEXTLIB' => $MYEXTLIB, 'OBJECT' => 'Xerces_IO$(OBJ_EXT)', 'CCFLAGS' => $CFLAGS, 'CC' => $CXX, --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
