1
0

providerParser.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef NULLSOFT_AUTH_LOGIN_PROVIDER_PARSER_HEADER
  2. #define NULLSOFT_AUTH_LOGIN_PROVIDER_PARSER_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include <wtypes.h>
  7. #include "../../xml/ifc_xmlreadercallback.h"
  8. #include "./stringBuilder.h"
  9. #include "./templateNodeParser.h"
  10. #include "./commandNodeParser.h"
  11. class obj_xml;
  12. class LoginProvider;
  13. #define PROVIDER_TAG_MAX 6
  14. class LoginProviderParser : public ifc_xmlreadercallback
  15. {
  16. public:
  17. LoginProviderParser();
  18. ~LoginProviderParser();
  19. public:
  20. HRESULT SetReader(obj_xml *pReader);
  21. HRESULT Begin(ifc_xmlreaderparams *params);
  22. HRESULT End(LoginProvider **ppProvider);
  23. protected:
  24. void Event_XmlStartElement(const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params);
  25. void Event_XmlEndElement(const wchar_t *xmlpath, const wchar_t *xmltag);
  26. void Event_XmlCharData(const wchar_t *xmlpath, const wchar_t *xmltag, const wchar_t *value);
  27. void Event_XmlError(int linenum, int errcode, const wchar_t *errstr);
  28. protected:
  29. obj_xml *reader;
  30. StringBuilder elementString;
  31. LoginProvider *provider;
  32. LoginTemplateNodeParser templateNodeParser;
  33. LoginCommandNodeParser commandNodeParser;
  34. BOOL hitList[PROVIDER_TAG_MAX];
  35. protected:
  36. RECVS_DISPATCH;
  37. };
  38. #endif //NULLSOFT_AUTH_LOGIN_PROVIDER_PARSER_HEADER