ImagingTools Core SDK
IEditableCompositeDeviceInstance.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/ICompositeDeviceInstance.h>
7
8
9namespace imtdev
10{
11
12
13class IDeviceSpecification;
14
15
90{
91public:
109 virtual QByteArray AddSubDevice(
110 const QByteArray& deviceTypeId,
111 const QString& name,
112 const QString& description = QString(),
113 const istd::IChangeable* defaultValuePtr = nullptr,
114 const QByteArray& proposedId = QByteArray()) = 0;
124 virtual bool RemoveSubDevice(const QByteArray& subDeviceId) = 0;
125};
126
127
134typedef std::shared_ptr<IEditableCompositeDeviceInstance> EditableCompositeDeviceInstancePtr;
135
136
137} // namespace imtdev
138
139
Interface for composite (hierarchical) device instances.
Interface for modifying composite device instance information.
virtual bool RemoveSubDevice(const QByteArray &subDeviceId)=0
Remove sub-device from the composite.
virtual QByteArray AddSubDevice(const QByteArray &deviceTypeId, const QString &name, const QString &description=QString(), const istd::IChangeable *defaultValuePtr=nullptr, const QByteArray &proposedId=QByteArray())=0
Add new sub-device to the composite.