ImagingTools Core SDK
IProductInfo.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// ACF includes
6#include <iprm/INameParam.h>
7
8// ImtCore includes
9#include <imtbase/IObjectCollection.h>
10#include <imtlic/IFeatureInfoProvider.h>
11
12
13namespace imtlic
14{
15
16
133class IProductInfo: virtual public iprm::INameParam
134{
135public:
137 {
141 MIT_PRODUCT_NAME = idoc::IDocumentMetaInfo::MIT_USER,
142
147
152
157 };
158
162 virtual const IProductInfo* GetProductFamilyInfo() const = 0;
163
167 virtual QByteArray GetProductId() const = 0;
168
172 virtual void SetProductId(const QByteArray& productId) = 0;
173
177 virtual QString GetProductDescription() const = 0;
178
182 virtual void SetProductDescription(const QString& description) = 0;
183
187 virtual QByteArray GetCategoryId() const = 0;
188
192 virtual void SetCategoryId(const QByteArray& categoryId) = 0;
193
199
206 virtual bool AddFeature(const QByteArray& featureId, const IFeatureInfo& featureInfo) = 0;
207
213 virtual bool RemoveFeature(const QByteArray& featureId) = 0;
214};
215
216
217typedef istd::TUniqueInterfacePtr<IProductInfo> IProductInfoUniquePtr;
218typedef istd::TSharedInterfacePtr<IProductInfo> IProductInfoSharedPtr;
219
220
221} // namespace imtlic
222
223
Interface for accessing information about a feature within a product.
Interface for accessing information about a product (software or hardware).
virtual void SetProductId(const QByteArray &productId)=0
virtual const IProductInfo * GetProductFamilyInfo() const =0
virtual void SetCategoryId(const QByteArray &categoryId)=0
virtual bool RemoveFeature(const QByteArray &featureId)=0
virtual void SetProductDescription(const QString &description)=0
virtual QByteArray GetCategoryId() const =0
virtual imtbase::IObjectCollection * GetFeatures()=0
virtual QByteArray GetProductId() const =0
virtual bool AddFeature(const QByteArray &featureId, const IFeatureInfo &featureInfo)=0
virtual QString GetProductDescription() const =0
Core licensing domain model providing feature-based product licensing and instance management.