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/devices/ifc_deviceprovider.h | 54 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Src/devices/ifc_deviceprovider.h (limited to 'Src/devices/ifc_deviceprovider.h') diff --git a/Src/devices/ifc_deviceprovider.h b/Src/devices/ifc_deviceprovider.h new file mode 100644 index 00000000..6f5f5da6 --- /dev/null +++ b/Src/devices/ifc_deviceprovider.h @@ -0,0 +1,54 @@ +#ifndef _NULLSOFT_WINAMP_DEVICES_DEVICE_PROVIDER_INTERFACE_HEADER +#define _NULLSOFT_WINAMP_DEVICES_DEVICE_PROVIDER_INTERFACE_HEADER + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include + +// {FAC6EBEE-107A-4133-A620-856A281EC704} +static const GUID IFC_DeviceProvider = +{ 0xfac6ebee, 0x107a, 0x4133, { 0xa6, 0x20, 0x85, 0x6a, 0x28, 0x1e, 0xc7, 0x4 } }; + +#include + +class api_devicemanager; + +class __declspec(novtable) ifc_deviceprovider : public Dispatchable +{ +protected: + ifc_deviceprovider() {} + ~ifc_deviceprovider() {} + +public: + HRESULT BeginDiscovery(api_devicemanager *manager); + HRESULT CancelDiscovery(); + HRESULT GetActive(); + +public: + DISPATCH_CODES + { + API_BEGINDISCOVERY = 10, + API_CANCELDISCOVERY = 20, + API_GETACTIVE = 30, + }; +}; + + +inline HRESULT ifc_deviceprovider::BeginDiscovery(api_devicemanager *manager) +{ + return _call(API_BEGINDISCOVERY, (HRESULT)E_NOTIMPL, manager); +} + +inline HRESULT ifc_deviceprovider::CancelDiscovery() +{ + return _call(API_CANCELDISCOVERY, (HRESULT)E_NOTIMPL); +} + +inline HRESULT ifc_deviceprovider::GetActive() +{ + return _call(API_GETACTIVE, (HRESULT)E_NOTIMPL); +} + +#endif //_NULLSOFT_WINAMP_DEVICES_DEVICE_PROVIDER_INTERFACE_HEADER \ No newline at end of file -- cgit