ImagingTools Core SDK
CProductLicensingInfo.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 <imtlic/IProductLicensingInfo.h>
7#include <imtlic/ILicenseDependenciesManager.h>
8#include <imtlic/CLicenseInfoManager.h>
9
10
11namespace imtlic
12{
13
14
20 virtual public imtlic::IProductLicensingInfo,
23{
24public:
26
28
29 // reimplemented (imtlic::ILicenseDependenciesManager)
30 virtual void SetLicenseDependencies(const QByteArray& licenseId, const QByteArrayList& dependentIds) override;
31
32 // reimplemented (imtlic::ILicenseDependenciesProvider)
33 virtual QByteArrayList GetLicenseDependencies(const QByteArray& licenseId) const override;
34
35 // reimplemented (iser::ISerializable)
36 virtual bool Serialize(iser::IArchive& archive) override;
37
38 // reimplemented (istd::IChangeable)
39 virtual int GetSupportedOperations() const override;
40 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
41 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
42 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
43
44protected:
45 imtbase::IObjectCollection* m_featurePackagesPtr;
46
47 QString m_productName;
48 QByteArray m_productId;
49 QByteArray m_categoryId;
50
51private:
52 QMap<QByteArray, QByteArrayList> m_dependencies;
53};
54
55
56} // namespace imtlic
57
58
Core licensing domain model providing feature-based product licensing and instance management.