ImagingTools Core SDK
IDeviceSpecification.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <istd/IChangeable.h>
7#include <iattr/IAttributesManager.h>
8#include <iprm/IParamsSet.h>
9
10
11namespace imtdev
12{
13
14
66class IDeviceSpecification: virtual public istd::IChangeable
67{
68public:
76 {
80 DC_WRITE = 2
81 };
82
92 virtual QByteArray GetClass() const = 0;
93
103 virtual QByteArray GetTypeId() const = 0;
104
112 virtual QString GetTypeName() const = 0;
113
124 virtual const iattr::IAttributesProvider* GetAttributes() const = 0;
125
136 virtual const iprm::IParamsSet& GetDefaultConfiguration() const = 0;
137
149 virtual bool AreConfigurationAccepted(const iprm::IParamsSet& configuration) const = 0;
150
160 virtual int GetCapabilities() const = 0;
161
171 virtual const QByteArrayList& GetSupportedCommands() const = 0;
172};
173
174
175} // namespace imtdev
176
177
Interface for describing static information about a device type/class.
virtual QByteArray GetClass() const =0
Get device class.
virtual int GetCapabilities() const =0
Get capability flags for the device.
virtual QByteArray GetTypeId() const =0
Get unique device type ID.
virtual const iattr::IAttributesProvider * GetAttributes() const =0
Get device static attributes provider.
virtual const iprm::IParamsSet & GetDefaultConfiguration() const =0
Get the default device configuration.
DeviceCapabilities
Binary flags for describing capabilities of a device.
@ DC_WRITE
Device supports write operations.
@ DC_READ
Device supports read operations.
virtual QString GetTypeName() const =0
Get human-readable name of the device type.
virtual bool AreConfigurationAccepted(const iprm::IParamsSet &configuration) const =0
Check if device configuration is valid.
virtual const QByteArrayList & GetSupportedCommands() const =0
Get the list of commands supported by the device class.