6#include <imod/CModelUpdateBridge.h>
7#include <imod/TModelWrap.h>
8#include <istd/TComposedFactory.h>
11#include <imtbase/ICollectionInfo.h>
12#include <imtdev/IEditableCompositeDeviceInstance.h>
13#include <imtdev/CDeviceInstanceBase.h>
140 const QByteArray& deviceTypeId,
142 const QString& description = QString(),
143 const istd::IChangeable* defaultValuePtr =
nullptr,
144 const QByteArray& proposedId = QByteArray())
override;
219 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
229 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
263 virtual int GetElementsCount(
264 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
265 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
266 virtual Ids GetElementIds(
269 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
270 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
271 virtual bool GetSubsetInfo(
272 ICollectionInfo& subsetInfo,
275 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
276 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
277 virtual QVariant GetElementInfo(
280 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
281 virtual idoc::MetaInfoPtr GetElementMetaInfo(
283 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
284 virtual bool SetElementName(
287 ilog::IMessageConsumer* logPtr =
nullptr)
override;
288 virtual bool SetElementDescription(
290 const QString& description,
291 ilog::IMessageConsumer* logPtr =
nullptr)
override;
292 virtual bool SetElementEnabled(
294 bool isEnabled =
true,
295 ilog::IMessageConsumer* logPtr =
nullptr)
override;
308 void RemoveAllSubDevices();
324 DeviceInstancePtr instancePtr;
328 QMap<QByteArray, SubDeviceItem> m_subDeviceMap;
330 imod::TModelWrap<SubDeviceCollectionInfo> m_subDeviceCollection;
Base implementation class for composite device instances.
virtual QByteArray AddSubDevice(const QByteArray &deviceTypeId, const QString &name, const QString &description=QString(), const istd::IChangeable *defaultValuePtr=nullptr, const QByteArray &proposedId=QByteArray()) override
Add new sub-device.
CCompositeDeviceInstanceBase()
Constructor.
virtual const imtbase::ICollectionInfo & GetSubDeviceList() const override
Get sub-device list.
virtual const IDeviceInstance * GetSubDeviceInstance(const QByteArray &subDeviceId) const override
Get specific sub-device instance.
virtual int GetSupportedOperations() const override
Get supported operations.
virtual bool RemoveSubDevice(const QByteArray &id) override
Remove sub-device.
virtual const ICompositeDeviceSpecification * GetCompositeDeviceSpecification() const override
Get composite device specification.
virtual IDeviceInstance * CreateDeviceInstance(const QByteArray &deviceTypeId) const
Create device instance (factory method)
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Copy from another composite device.
CDeviceInstanceBase BaseClass
Base class type alias.
virtual QSet< QByteArray > GetSupportedSubDeviceTypeIds() const override
Get supported sub-device type IDs.
~CCompositeDeviceInstanceBase()
Destructor.
virtual bool ResetData(CompatibilityMode mode=CM_WITHOUT_REFS) override
Reset composite device data.
Base implementation class for device instances.
Interface for composite device static information.
Interface for describing runtime information about a device instance.
Interface for modifying composite device instance information.