ImagingTools Core SDK
IDeviceInstance.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// STL includes
6#include <memory>
7
8// ACF includes
9#include <iattr/IAttributesProvider.h>
10#include <iser/IVersionInfo.h>
11
12// ImtCore includes
13#include <imtdev/IDeviceSpecification.h>
14
15
16namespace imtdev
17{
18
19
59class IDeviceInstance: virtual public istd::IChangeable
60{
61public:
69 {
72 };
73
81 {
83 VI_FIRMWARE_VERSION_MAJOR = iser::IVersionInfo::UserVersionId,
94 };
95
106
117 virtual QByteArray GetIdentifier(int identifierType) const = 0;
118
129 virtual const iser::IVersionInfo& GetVersion() const = 0;
130
140 virtual const iattr::IAttributesProvider* GetAttributes() const = 0;
141};
142
143
150typedef std::shared_ptr<IDeviceInstance> DeviceInstancePtr;
151
152
153} // namespace imtdev
154
155
Interface for describing runtime information about a device instance.
virtual QByteArray GetIdentifier(int identifierType) const =0
Get the device identifier of the given type.
virtual const iattr::IAttributesProvider * GetAttributes() const =0
Get device instance attributes provider.
IdentifierTypes
Types of device identifiers.
@ IT_SERIAL
Serial number identifier.
virtual const IDeviceSpecification & GetDeviceSpecification() const =0
Get device static info associated with device instance.
virtual const iser::IVersionInfo & GetVersion() const =0
Get device instance version information.
VersionIds
Version information identifiers.
@ VI_FIRMWARE_VERSION_MAJOR
Major firmware version number.
@ VI_FIRMWARE_VERSION_MINOR
Minor firmware version number.
@ VI_HARDWARE_VERSION_MINOR
Minor hardware version number.
@ VI_HARDWARE_VERSION_MAJOR
Major hardware version number.
@ VI_FIRMWARE_VERSION_PATCH
Patch firmware version number.
@ VI_HARDWARE_VERSION_PATCH
Patch hardware version number.
Interface for describing static information about a device type/class.