6#include <imtbase/TIdentifiableWrap.h>
7#include <imtbase/CCollectionInfo.h>
8#include <imtlic/IProductInstanceInfo.h>
9#include <imtlic/CLicenseInstance.h>
29 virtual void SetupProductInstance(
30 const QByteArray& productId,
31 const QByteArray& instanceId,
32 const QByteArray& customerId)
override;
33 virtual void AddLicense(
const QByteArray& licenseId,
const QDateTime& expirationDate = QDateTime())
override;
34 virtual void RemoveLicense(
const QByteArray& licenseId)
override;
35 virtual void ClearLicenses()
override;
36 virtual QByteArray GetProductId()
const override;
37 virtual QByteArray GetProductInstanceId()
const override;
38 virtual void SetProductInstanceId(
const QByteArray& instanceId)
override;
39 virtual QByteArray GetCustomerId()
const override;
40 virtual QByteArray GetSerialNumber()
const override;
41 virtual void SetSerialNumber(
const QByteArray& serialNumber)
override;
42 virtual QByteArray GetProject()
const override;
43 virtual void SetProject(
const QByteArray& project)
override;
44 virtual bool IsInUse()
const override;
45 virtual void SetInUse(
bool inUse)
override;
46 virtual bool IsInternalUse()
const override;
47 virtual void SetInternalUse(
bool internalUse)
override;
48 virtual bool IsMultiProduct()
const override;
49 virtual void SetMultiProduct(
bool isMulti)
override;
50 virtual int GetProductCount()
const override;
51 virtual void SetProductCount(
int count)
override;
52 virtual QByteArray GetParentInstanceId()
const override;
53 virtual void SetParentInstanceId(
const QByteArray& parentInstanceId)
override;
60 virtual bool Serialize(iser::IArchive& archive)
override;
63 virtual int GetSupportedOperations()
const override;
64 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
65 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS)
const override;
66 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
67 virtual QByteArray GetFactoryId()
const override;
74 typedef istd::TSmartPtr<CLicenseInstance> LicenseInstancePtr;
75 typedef QMap<QByteArray , LicenseInstancePtr> LicenseInstances;
77 QByteArray m_productId;
78 QByteArray m_customerId;
79 QByteArray m_instanceId;
80 QByteArray m_serialNumber;
84 LicenseInstances m_licenses;
86 bool m_isMultiProduct;
88 QByteArray m_parentInstanceId;
92typedef imtbase::TIdentifiableWrap<CProductInstanceInfo> CIdentifiableSoftwareInstanceInfo;
Core licensing domain model providing feature-based product licensing and instance management.