ifc_xmlreadercallback.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef NULLSOFT_XML_IFC_XMLREADERCALLBACK_H
  2. #define NULLSOFT_XML_IFC_XMLREADERCALLBACK_H
  3. #include <bfc/dispatch.h>
  4. #include "ifc_xmlreaderparams.h"
  5. class NOVTABLE ifc_xmlreadercallback : public Dispatchable
  6. {
  7. protected:
  8. ifc_xmlreadercallback() {}
  9. ~ifc_xmlreadercallback() {}
  10. public:
  11. void xmlReaderOnStartElementCallback( const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params );
  12. void xmlReaderOnEndElementCallback( const wchar_t *xmlpath, const wchar_t *xmltag );
  13. void xmlReaderOnCharacterDataCallback( const wchar_t *xmlpath, const wchar_t *xmltag, const wchar_t *str );
  14. void xmlReaderOnError( int linenum, int errcode, const wchar_t *errstr );
  15. DISPATCH_CODES
  16. {
  17. ONSTARTELEMENT = 100,
  18. ONENDELEMENT = 200,
  19. ONCHARDATA = 300,
  20. ONERROR = 1200,
  21. };
  22. };
  23. inline void ifc_xmlreadercallback::xmlReaderOnStartElementCallback( const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params )
  24. {
  25. _voidcall( ONSTARTELEMENT, xmlpath, xmltag, params );
  26. }
  27. inline void ifc_xmlreadercallback::xmlReaderOnEndElementCallback( const wchar_t *xmlpath, const wchar_t *xmltag )
  28. {
  29. _voidcall( ONENDELEMENT, xmlpath, xmltag );
  30. }
  31. inline void ifc_xmlreadercallback::xmlReaderOnCharacterDataCallback( const wchar_t *xmlpath, const wchar_t *xmltag, const wchar_t *str )
  32. {
  33. _voidcall( ONCHARDATA, xmlpath, xmltag, str );
  34. }
  35. inline void ifc_xmlreadercallback::xmlReaderOnError( int linenum, int errcode, const wchar_t *errstr )
  36. {
  37. _voidcall( ONERROR, linenum, errcode, errstr );
  38. }
  39. #endif