Files
BuildTools
Qt
Src
Agave
Components
Elevator
Mastering
Plugins
ReplayGainAnalysis
WAT
Wasabi
Wasabi2
Winamp
aacPlus
aacdec
aacdec-mft
adpcm
alac
albumart
apev2
auth
bmp
burnlib
codesign
config
devices
api_devicemanager.h
common.h
component.cpp
component.h
deviceCommand.cpp
deviceCommand.h
deviceConnection.cpp
deviceConnection.h
deviceEventManager.cpp
deviceEventManager.h
deviceIconStore.cpp
deviceIconStore.h
deviceManager.cpp
deviceManager.h
deviceManagerFactory.cpp
deviceManagerFactory.h
deviceObjectEnum.cpp
deviceObjectEnum.h
deviceObjectStore.cpp
deviceObjectStore.h
deviceSupportedCommand.cpp
deviceSupportedCommand.h
deviceSupportedCommandEnum.cpp
deviceSupportedCommandEnum.h
deviceSupportedCommandStore.cpp
deviceSupportedCommandStore.h
deviceType.cpp
deviceType.h
devices.rc
devices.sln
devices.vcxproj
devices.vcxproj.filters
discoveryMonitor.cpp
discoveryMonitor.h
ifc_device.h
ifc_deviceactivity.h
ifc_devicecommand.h
ifc_devicecommandeditor.h
ifc_devicecommandinfo.h
ifc_deviceconnection.h
ifc_deviceconnectioneditor.h
ifc_deviceevent.h
ifc_deviceeventmanager.h
ifc_deviceiconstore.h
ifc_devicemanagerevent.h
ifc_deviceobject.h
ifc_deviceobjectenum.h
ifc_deviceprovider.h
ifc_devicesupportedcommand.h
ifc_devicesupportedcommandenum.h
ifc_devicesupportedcommandstore.h
ifc_devicetype.h
ifc_devicetypeeditor.h
main.cpp
main.h
plugin.cpp
plugin.h
resource.h
strings.cpp
strings.h
version.rc2
external_dependencies
f263
filereader
freetypewac
gif
gracenote
h264
h264dec
id3v2
ie_plugin
installer
jpeg
libvp6
libvpShared
mp3-mpg123
mp4v
mpeg4dec
nde
nprt_plugin
ns-eel
ns-eel2
nsavi
nsmkv
nsutil
nsv
nsvdec_vp3
nsvdec_vp5
nsvdec_vp6
nswasabi
nu
omBrowser
pcm
pfc
playlist
plist
png
replicant
resources
tagz
tataki
theora
timer
vlb
vp32
vp6
vp8x
wbm
winampAll
winampa
xml
xspf
vcpkg-ports
.gitignore
LICENSE.md
README.md
automate-git.py
cef_x86.bat
install-packages.cmd
vcpkg_version_finder.py
winampAll_2019.sln
winamp/Src/devices/deviceCommand.h
2024-09-24 14:54:57 +02:00

65 lines
1.5 KiB
C++

#ifndef _NULLSOFT_WINAMP_DEVICES_DEVICE_COMMAND_HEADER
#define _NULLSOFT_WINAMP_DEVICES_DEVICE_COMMAND_HEADER
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
#include "./ifc_devicecommand.h"
#include "./ifc_devicecommandeditor.h"
#include "./ifc_deviceiconstore.h"
#include "./deviceIconStore.h"
#include <bfc/multipatch.h>
#define MPIID_DEVICECOMMAND 10
#define MPIID_DEVICECOMMANDEDITOR 20
class DeviceCommand : public MultiPatch<MPIID_DEVICECOMMAND, ifc_devicecommand>,
public MultiPatch<MPIID_DEVICECOMMANDEDITOR, ifc_devicecommandeditor>
{
protected:
DeviceCommand();
~DeviceCommand();
public:
static HRESULT CreateInstance(const char *name, DeviceCommand **instance);
public:
/* Dispatchable */
size_t AddRef();
size_t Release();
int QueryInterface(GUID interface_guid, void **object);
/* ifc_devicecommand */
const char *GetName();
HRESULT GetIcon(wchar_t *buffer, size_t bufferSize, int width, int height);
HRESULT GetDisplayName(wchar_t *buffer, size_t bufferSize);
HRESULT GetDescription(wchar_t *buffer, size_t bufferSize);
/* ifc_devicetypeeditor */
HRESULT GetIconStore(ifc_deviceiconstore **store);
HRESULT SetDisplayName(const wchar_t *displayName);
HRESULT SetDescription(const wchar_t *description);
public:
void Lock();
void Unlock();
protected:
size_t ref;
char *name;
wchar_t *displayName;
wchar_t *description;
DeviceIconStore *iconStore;
CRITICAL_SECTION lock;
protected:
RECVS_MULTIPATCH;
};
#endif // _NULLSOFT_WINAMP_DEVICES_DEVICE_COMMAND_HEADER