ImagingTools Core SDK
CProductInfoComp.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 <icomp/CComponentBase.h>
7
8// ImtCore includes
9#include <imtlic/CProductInfo.h>
10
11
12namespace imtlic
13{
14
15
16class CProductInfoComp: public icomp::CComponentBase, virtual public CIdentifiableProductInfo
17{
18public:
19 typedef icomp::CComponentBase BaseClass;
20
21 I_BEGIN_COMPONENT(CProductInfoComp);
22 I_REGISTER_INTERFACE(imtlic::IProductInfo);
23 I_REGISTER_INTERFACE(iprm::INameParam);
24 I_REGISTER_INTERFACE(iser::ISerializable);
25 I_REGISTER_INTERFACE(istd::IChangeable);
26 I_ASSIGN(m_featureInfoProviderCompPtr, "FeatureInfoProvider", "Feature info provider", false, "FeatureInfoProvider");
27 I_END_COMPONENT;
28
29protected:
30 // reimplemented (icomp::CComponentBase)
31 virtual void OnComponentCreated() override;
32
33protected:
34 I_REF(imtlic::IFeatureInfoProvider, m_featureInfoProviderCompPtr);
35};
36
37
38} // namespace imtlic
39
40
Interface for accessing information about a product (software or hardware).
Core licensing domain model providing feature-based product licensing and instance management.