providerLoader.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef NULLSOFT_AUTH_LOGIN_PROVIDER_LOADER_HEADER
  2. #define NULLSOFT_AUTH_LOGIN_PROVIDER_LOADER_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 "../../nu/ptrlist.h"
  9. #include "./providerParser.h"
  10. class obj_xml;
  11. class LoginProviderEnumerator;
  12. class LoginProviderLoader : public ifc_xmlreadercallback
  13. {
  14. public:
  15. LoginProviderLoader();
  16. ~LoginProviderLoader();
  17. public:
  18. HRESULT ReadXml(LPCWSTR pszPath, LoginProviderEnumerator **enumerator, INT *prefVisible);
  19. private:
  20. HRESULT FeedFile(obj_xml *reader, HANDLE hFile, DWORD bufferSize);
  21. void Event_XmlStartElement(const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params);
  22. void Event_XmlEndElement(const wchar_t *xmlpath, const wchar_t *xmltag);
  23. void Event_XmlError(int linenum, int errcode, const wchar_t *errstr);
  24. private:
  25. typedef nu::PtrList<LoginProvider> ProviderList;
  26. private:
  27. ProviderList providerList;
  28. LoginProviderParser parser;
  29. protected:
  30. RECVS_DISPATCH;
  31. };
  32. #endif //NULLSOFT_AUTH_LOGIN_PROVIDER_LOADER_HEADER