The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

###############################################################################
##
##    Typemap for XML::CompactTree::XS objects
##
##    Copyright (c) 2008 Petr Pajas
##    All rights reserved.
##
##    This typemap is designed specifically to make it easier to handle
##    Perl-style blessed objects in XS.  In particular, it takes care of
##    blessing the object into the correct class (even for derived classes).
##   
##
###############################################################################
## vi:et:sw=4 ts=4

TYPEMAP

xmlTextReaderPtr            O_READER_OBJECT

INPUT
O_READER_OBJECT
    if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) && sv_isa($arg,\"XML::LibXML::Reader\"))
            $var = INT2PTR($type,SvIV((SV*)SvRV( $arg )));
    else{
            warn( \"${Package}::$func_name() -- $var is not a XML::LibXML::Reader\" );
            XSRETURN_UNDEF;
    }

OUTPUT
O_READER_OBJECT
        sv_setref_pv( $arg, (char *)CLASS, (void*)$var );