ImagingTools Core SDK
ILicenseDefinition.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// Qt includes
6#include <QtCore/QByteArray>
7#include <QtCore/QString>
8
9// ACF includes
10#include <iser/IObject.h>
11#include <idoc/IDocumentMetaInfo.h>
12
13
14namespace imtlic
15{
16
17
280class ILicenseDefinition: virtual public iser::IObject
281{
282public:
284 {
288 MIT_LICENSE_NAME = idoc::IDocumentMetaInfo::MIT_USER + 1,
289
294
299
304 };
305
306 struct FeatureInfo
307 {
308 QByteArray id;
309 QString name;
310
311 bool operator==(const FeatureInfo& other) const
312 {
313 return (id == other.id) && (name == other.name);
314 }
315
316 bool operator!=(const FeatureInfo& other) const
317 {
318 return !operator==(other);
319 }
320 };
321
322 typedef QVector<FeatureInfo> FeatureInfos;
323
328 virtual QString GetLicenseName() const = 0;
329
334 virtual void SetLicenseName(const QString& licenseName) = 0;
335
342 virtual QByteArray GetLicenseId() const = 0;
343
348 virtual void SetLicenseId(const QByteArray& licenseId) = 0;
349
354 virtual QString GetLicenseDescription() const = 0;
355
360 virtual void SetLicenseDescription(const QString& licenseDescription) = 0;
361
366 virtual QByteArray GetProductId() const = 0;
367
372 virtual void SetProductId(const QByteArray& productId) = 0;
373
379 virtual QByteArrayList GetDependencies() const = 0;
380
385 virtual void SetDependencies(QByteArrayList dependencies) = 0;
386
392 virtual FeatureInfos GetFeatureInfos() const = 0;
393
398 virtual void SetFeatureInfos(const FeatureInfos& featureInfos) = 0;
399};
400
401
402typedef istd::TUniqueInterfacePtr<ILicenseDefinition> ILicenseDefinitionUniquePtr;
403typedef istd::TSharedInterfacePtr<ILicenseDefinition> ILicenseDefinitionSharedPtr;
404
405
406} // namespace imtlic
407
408
Interface for license definition information.
virtual QString GetLicenseName() const =0
virtual FeatureInfos GetFeatureInfos() const =0
virtual void SetLicenseId(const QByteArray &licenseId)=0
virtual void SetProductId(const QByteArray &productId)=0
virtual void SetFeatureInfos(const FeatureInfos &featureInfos)=0
virtual QByteArray GetProductId() const =0
virtual QByteArrayList GetDependencies() const =0
virtual void SetDependencies(QByteArrayList dependencies)=0
virtual QString GetLicenseDescription() const =0
virtual void SetLicenseName(const QString &licenseName)=0
virtual QByteArray GetLicenseId() const =0
virtual void SetLicenseDescription(const QString &licenseDescription)=0
Core licensing domain model providing feature-based product licensing and instance management.