From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Plugins/Library/ml_nowplaying/service.h | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Src/Plugins/Library/ml_nowplaying/service.h (limited to 'Src/Plugins/Library/ml_nowplaying/service.h') diff --git a/Src/Plugins/Library/ml_nowplaying/service.h b/Src/Plugins/Library/ml_nowplaying/service.h new file mode 100644 index 00000000..292a4628 --- /dev/null +++ b/Src/Plugins/Library/ml_nowplaying/service.h @@ -0,0 +1,53 @@ +#ifndef NULLSOFT_NOWPLAYING_PLUGIN_SERVICE_HEADER +#define NULLSOFT_NOWPLAYING_PLUGIN_SERVICE_HEADER + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include +#include + +#define SERVICE_ID 101 +#define SERVICE_HOMEURL L"http://client.winamp.com/nowplaying?v=5.9&icid=navigationtree" + +class OmService : public ifc_omservice +{ + +protected: + OmService(UINT nId); + ~OmService(); + +public: + static HRESULT CreateInstance(OmService **instance); + +public: + /* Dispatchable */ + size_t AddRef(); + size_t Release(); + int QueryInterface(GUID interface_guid, void **object); + + /* ifc_omservice */ + unsigned int GetId(); + HRESULT GetName(wchar_t *pszBuffer, int cchBufferMax); + HRESULT GetUrl(wchar_t *pszBuffer, int cchBufferMax); + HRESULT GetExternal(IDispatch **ppDispatch); + HRESULT GetIcon(wchar_t *pszBuffer, int cchBufferMax); + +public: + HRESULT SetName(LPCWSTR pszName); + HRESULT SetUrl(LPCWSTR pszUrl); + HRESULT SetIcon(LPCWSTR pszIcon); + +protected: + RECVS_DISPATCH; + +protected: + ULONG ref; + UINT id; + LPWSTR name; + LPWSTR url; + LPWSTR icon; +}; + +#endif //NULLSOFT_NOWPLAYING_PLUGIN_SERVICE_HEADER \ No newline at end of file -- cgit