#ifndef NULLSOFT_XML_IFC_XMLREADERCALLBACK_H #define NULLSOFT_XML_IFC_XMLREADERCALLBACK_H #include #include "ifc_xmlreaderparams.h" class NOVTABLE ifc_xmlreadercallback : public Dispatchable { protected: ifc_xmlreadercallback() {} ~ifc_xmlreadercallback() {} public: void xmlReaderOnStartElementCallback( const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params ); void xmlReaderOnEndElementCallback( const wchar_t *xmlpath, const wchar_t *xmltag ); void xmlReaderOnCharacterDataCallback( const wchar_t *xmlpath, const wchar_t *xmltag, const wchar_t *str ); void xmlReaderOnError( int linenum, int errcode, const wchar_t *errstr ); DISPATCH_CODES { ONSTARTELEMENT = 100, ONENDELEMENT = 200, ONCHARDATA = 300, ONERROR = 1200, }; }; inline void ifc_xmlreadercallback::xmlReaderOnStartElementCallback( const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params ) { _voidcall( ONSTARTELEMENT, xmlpath, xmltag, params ); } inline void ifc_xmlreadercallback::xmlReaderOnEndElementCallback( const wchar_t *xmlpath, const wchar_t *xmltag ) { _voidcall( ONENDELEMENT, xmlpath, xmltag ); } inline void ifc_xmlreadercallback::xmlReaderOnCharacterDataCallback( const wchar_t *xmlpath, const wchar_t *xmltag, const wchar_t *str ) { _voidcall( ONCHARDATA, xmlpath, xmltag, str ); } inline void ifc_xmlreadercallback::xmlReaderOnError( int linenum, int errcode, const wchar_t *errstr ) { _voidcall( ONERROR, linenum, errcode, errstr ); } #endif