providerEnumerator.h 752 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef NULLSOFT_AUTH_LOGIN_PROVIDER_ENUMERATOR_HEADER
  2. #define NULLSOFT_AUTH_LOGIN_PROVIDER_ENUMERATOR_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include <wtypes.h>
  7. class LoginProvider;
  8. class LoginProviderEnumerator
  9. {
  10. protected:
  11. LoginProviderEnumerator();
  12. ~LoginProviderEnumerator();
  13. public:
  14. static HRESULT CreateInstance(LoginProvider **list, size_t size, LoginProviderEnumerator **instance);
  15. public:
  16. ULONG AddRef();
  17. ULONG Release();
  18. HRESULT Next(ULONG listSize, LoginProvider **elementList, ULONG *elementCount);
  19. HRESULT Reset(void);
  20. HRESULT Skip(ULONG elementCount);
  21. protected:
  22. ULONG ref;
  23. size_t cursor;
  24. size_t size;
  25. LoginProvider **list;
  26. };
  27. #endif //NULLSOFT_AUTH_LOGIN_PROVIDER_ENUMERATOR_HEADER