6#include <imod/CModelUpdateBridge.h>
7#include <imod/TModelWrap.h>
10#include <imtdev/IEditableDeviceInstance.h>
11#include <imtdev/IDeviceSpecification.h>
130 const QString& description)
override;
161 virtual const iser::IVersionInfo&
GetVersion()
const override;
192 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
202 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
237 const QString& description);
240 virtual VersionIds GetVersionIds()
const override;
241 virtual bool GetVersionNumber(
int versionId, quint32& result)
const override;
242 virtual QString GetVersionIdDescription(
int versionId)
const override;
243 virtual QString GetEncodedVersionName(
int versionId, quint32 versionNumber)
const override;
246 virtual int GetSupportedOperations()
const override;
247 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
248 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS)
const override;
249 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
254 quint32 versionNumber;
255 QString versionDescription;
258 QMap<int, VersionItem> m_versions;
268 QMap<int, QByteArray> m_identifiers;
270 imod::TModelWrap<VersionInfo> m_versionInfo;
Internal version information implementation.
bool SetVersion(int versionId, quint32 version, const QString &description)
Set a version component.
Base implementation class for device instances.
virtual bool SetVersion(int versionId, quint32 version, const QString &description) override
Set version information component.
virtual bool EnsureAttributesCreated() const
Ensure attributes provider is created.
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Copy data from another instance.
std::unique_ptr< iattr::IAttributesProvider > m_attributesPtr
Lazy-created attributes (mutable to allow creation in const GetAttributes())
virtual const iattr::IAttributesProvider * GetAttributes() const override
Get attributes provider (read-only)
~CDeviceInstanceBase()
Destructor.
imod::CModelUpdateBridge m_updateBridge
Bridge for change notifications (mutable for change tracking in const methods)
virtual bool ResetData(CompatibilityMode mode=CM_WITHOUT_REFS) override
Reset device instance data.
virtual iattr::IAttributesManager * GetAttributesManager() override
Get attributes manager for modification.
virtual const iser::IVersionInfo & GetVersion() const override
Get version information.
CDeviceInstanceBase()
Constructor.
virtual bool SetIdentifier(IdentifierTypes idType, const QByteArray &id) override
Set device identifier.
virtual int GetSupportedOperations() const override
Get supported operations.
virtual QByteArray GetIdentifier(int idType) const override
Get device identifier.
IdentifierTypes
Types of device identifiers.
VersionIds
Version information identifiers.
Interface for modifying device instance information.