diff options
author | Jean-Francois Mauguit <jfmauguit@mac.com> | 2024-09-24 09:03:25 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-24 09:03:25 -0400 |
commit | bab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Library/ml_devices/deviceHandler.h | |
parent | 4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff) | |
parent | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff) | |
download | winamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz |
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/Plugins/Library/ml_devices/deviceHandler.h')
-rw-r--r-- | Src/Plugins/Library/ml_devices/deviceHandler.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Src/Plugins/Library/ml_devices/deviceHandler.h b/Src/Plugins/Library/ml_devices/deviceHandler.h new file mode 100644 index 00000000..67d6bc00 --- /dev/null +++ b/Src/Plugins/Library/ml_devices/deviceHandler.h @@ -0,0 +1,56 @@ +#ifndef _NULLSOFT_WINAMP_ML_DEVICES_DEVICE_HANDLER_HEADER +#define _NULLSOFT_WINAMP_ML_DEVICES_DEVICE_HANDLER_HEADER + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include <wtypes.h> + +#include "../devices/ifc_deviceevent.h" + +class DeviceHandler: public ifc_deviceevent +{ +protected: + DeviceHandler(); + ~DeviceHandler(); + +public: + static HRESULT CreateInstance(DeviceHandler **instance); + +public: + /* Dispatchable */ + size_t AddRef(); + size_t Release(); + int QueryInterface(GUID interface_guid, void **object); + + /* ifc_deviceevent */ + void IconChanged(ifc_device *device); + void DisplayNameChanged(ifc_device *device, const wchar_t *displayName); + void AttachmentChanged(ifc_device *device, BOOL attached); + void VisibilityChanged(ifc_device *device, BOOL visible); + void TotalSpaceChanged(ifc_device *device, size_t space); + void UsedSpaceChanged(ifc_device *device, size_t space); + void CommandChanged(ifc_device *device); + void ActivityStarted(ifc_device *device, ifc_deviceactivity *activity); + void ActivityFinished(ifc_device *device, ifc_deviceactivity *activity); + void ActivityChanged(ifc_device *device, ifc_deviceactivity *activity); + void ModelChanged(ifc_device *device, const wchar_t *model); + void StatusChanged(ifc_device *device, const wchar_t *status); + +public: + HRESULT SetRelayWindow(HWND hwnd); + HRESULT Advise(ifc_device *device); + HRESULT Unadvise(ifc_device *device); + + +protected: + size_t ref; + HWND relayWindow; + +protected: + RECVS_DISPATCH; +}; + + +#endif //_NULLSOFT_WINAMP_ML_DEVICES_DEVICE_HANDLER_HEADER
\ No newline at end of file |