storageUrl.h 1.3 KB

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