browserClass.h 1002 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef NULLSOFT_WINAMP_OMBROWSER_CLASS_HEADER
  2. #define NULLSOFT_WINAMP_OMBROWSER_CLASS_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include "./ifc_ombrowserclass.h"
  7. class OmConfigIni;
  8. class OmBrowserRegistry;
  9. class OmBrowserClass : public ifc_ombrowserclass
  10. {
  11. protected:
  12. OmBrowserClass(LPCWSTR pszName);
  13. ~OmBrowserClass();
  14. public:
  15. static HRESULT CreateInstance(LPCWSTR pszName, OmBrowserClass **instance);
  16. public:
  17. /* Dispatchable */
  18. size_t AddRef();
  19. size_t Release();
  20. int QueryInterface(GUID interface_guid, void **object);
  21. /*ifc_ombrowserclass */
  22. HRESULT GetName(LPWSTR pszBuffer, INT cchBufferMax);
  23. HRESULT IsEqual(LPCWSTR pszName);
  24. HRESULT GetConfig(ifc_omconfig **instance);
  25. HRESULT GetRegistry(ifc_ombrowserregistry **instance);
  26. HRESULT UpdateRegColors();
  27. protected:
  28. RECVS_DISPATCH;
  29. protected:
  30. ULONG ref;
  31. CRITICAL_SECTION lock;
  32. LPWSTR name;
  33. OmConfigIni *config;
  34. OmBrowserRegistry *registry;
  35. };
  36. #endif //NULLSOFT_WINAMP_OMBROWSER_CLASS_HEADER