49 lines
1.6 KiB
C
49 lines
1.6 KiB
C
|
#ifndef NULLSOFT_XML_IFC_XMLREADERCALLBACK_H
|
||
|
#define NULLSOFT_XML_IFC_XMLREADERCALLBACK_H
|
||
|
|
||
|
#include <bfc/dispatch.h>
|
||
|
#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
|