storageXml.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef NULLSOFT_WINAMP_OMSTORAGE_XML_HEADER
  2. #define NULLSOFT_WINAMP_OMSTORAGE_XML_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 OmStorageXml : public MultiPatch<MPIID_OMSTORAGE, ifc_omstorage>,
  11. public MultiPatch<MPIID_OMFILESTORAGE, ifc_omfilestorage>
  12. {
  13. protected:
  14. OmStorageXml();
  15. ~OmStorageXml();
  16. public:
  17. static HRESULT CreateInstance(OmStorageXml **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. /* ifc_omfilestorage */
  32. HRESULT GetFilter(LPWSTR pszBuffer, UINT cchBufferMax);
  33. protected:
  34. RECVS_MULTIPATCH;
  35. protected:
  36. ULONG ref;
  37. };
  38. #endif //NULLSOFT_WINAMP_OMSTORAGE_XML_HEADER