storageIni.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef NULLSOFT_WINAMP_OMSTORAGE_INI_HEADER
  2. #define NULLSOFT_WINAMP_OMSTORAGE_INI_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include "./ifc_omfilestorage.h"
  7. #include <bfc/multipatch.h>
  8. #define MPIID_OMSTORAGE 10
  9. #define MPIID_OMFILESTORAGE 20
  10. class OmStorageIni : public MultiPatch<MPIID_OMSTORAGE, ifc_omstorage>,
  11. public MultiPatch<MPIID_OMFILESTORAGE, ifc_omfilestorage>
  12. {
  13. protected:
  14. OmStorageIni();
  15. ~OmStorageIni();
  16. public:
  17. static HRESULT CreateInstance(OmStorageIni **instance);
  18. public:
  19. /* Dispatchable */
  20. size_t AddRef();
  21. size_t Release();
  22. int QueryInterface(GUID interface_guid, void **object);
  23. /* ifc_omstorage */
  24. HRESULT GetId(GUID *storageUid);
  25. HRESULT GetType(GUID *storageType);
  26. UINT GetCapabilities();
  27. HRESULT GetDescription(LPWSTR pszBuffer, UINT cchBufferMax);
  28. HRESULT Load(LPCWSTR pszAddress, ifc_omservicehost *host, ifc_omserviceenum **ppEnum);
  29. HRESULT Save(ifc_omservice **serviceList, ULONG listCount, UINT saveFlags, ULONG *savedCount);
  30. HRESULT Delete(ifc_omservice **serviceList, ULONG listCount, ULONG *deletedCount);
  31. HRESULT Reload(ifc_omservice **serviceList, ULONG listCount, ULONG *reloadedCount);
  32. HRESULT BeginLoad(LPCWSTR pszAddress, ifc_omservicehost *serviceHost, ifc_omstorageasync::AsyncCallback callback, void *data, ifc_omstorageasync **async);
  33. HRESULT EndLoad(ifc_omstorageasync *async, ifc_omserviceenum **ppEnum);
  34. HRESULT RequestAbort(ifc_omstorageasync *async, BOOL fDrop);
  35. /* ifc_omfilestorage */
  36. HRESULT GetFilter(LPWSTR pszBuffer, UINT cchBufferMax);
  37. protected:
  38. RECVS_MULTIPATCH;
  39. protected:
  40. ULONG ref;
  41. };
  42. #endif //NULLSOFT_WINAMP_OMSTORAGE_INI_HEADER