ImagingTools Core SDK
CHardwareInstanceInfo.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 <imtbase/TIdentifiableWrap.h>
7#include <imtlic/IHardwareInstanceInfo.h>
8
9
10namespace imtlic
11{
12
13
20{
21public:
23
24 // reimplemented (imtlic::IHardwareInstanceInfo)
25 virtual QByteArray GetProductId() const override;
26 virtual void SetProductId(const QByteArray& productId) override;
27 virtual QByteArray GetSoftwareId() const override;
28 virtual void SetSoftwareId(const QByteArray& softwareId) override;
29 virtual QByteArray GetModelTypeId() const override;
30 virtual void SetModelTypeId(const QByteArray& typeId) override;
31
32 // reimplemented (iser::ISerializable)
33 virtual bool Serialize(iser::IArchive& archive) override;
34
35 // reimplemented (istd::IChangeable)
36 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
37 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
38 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
39
40 // reimplemented (istd::IChangeable)
41 virtual QByteArray GetFactoryId() const override;
42
43 QByteArray GetDeviceId(); // deprecated
44
45private:
46 QByteArray m_productId;
47 QByteArray m_deviceId;
48 QByteArray m_softwareId;
49 QByteArray m_modelTypeId;
50};
51
52typedef imtbase::TIdentifiableWrap<CHardwareInstanceInfo> CIdentifiableHardwareInstanceInfo;
53
54
55} // namespace imtlic
56
57
Core licensing domain model providing feature-based product licensing and instance management.