ImagingTools Core SDK
ICompositeDeviceInstance.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// ImtCore includes
6#include <imtdev/IDeviceInstance.h>
7#include <imtdev/ICompositeDeviceSpecification.h>
8
9
10namespace imtbase
11{
12 class ICollectionInfo;
13}
14
15
16namespace imtdev
17{
18
19
108{
109public:
120
131 virtual QSet<QByteArray> GetSupportedSubDeviceTypeIds() const = 0;
132
144 virtual const imtbase::ICollectionInfo& GetSubDeviceList() const = 0;
145
157 virtual const IDeviceInstance* GetSubDeviceInstance(const QByteArray& subDeviceId) const = 0;
158};
159
160
167typedef std::shared_ptr<ICompositeDeviceInstance> CompositeDeviceInstancePtr;
168
169
170} // namespace imtdev
171
172
Interface for composite (hierarchical) device instances.
virtual const imtbase::ICollectionInfo & GetSubDeviceList() const =0
Get the list of available sub-devices.
virtual const ICompositeDeviceSpecification * GetCompositeDeviceSpecification() const =0
Get composite device specification.
virtual const IDeviceInstance * GetSubDeviceInstance(const QByteArray &subDeviceId) const =0
Get device instance info of specific sub-device.
virtual QSet< QByteArray > GetSupportedSubDeviceTypeIds() const =0
Get supported sub-device type IDs.
Interface for composite device static information.
Interface for describing runtime information about a device instance.