ImagingTools Core SDK
CApplicationInfoDelegatorComp.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 <ilog/TLoggerCompWrap.h>
7
8// ImtCore includes
9#include <imtbase/IApplicationInfoController.h>
10
11
12namespace imtbase
13{
14
15
16class CApplicationInfoDelegatorComp:
17 public ilog::CLoggerComponentBase,
18 virtual public imtbase::IApplicationInfoController
19{
20public:
21 typedef ilog::CLoggerComponentBase BaseClass;
22
23 I_BEGIN_COMPONENT(CApplicationInfoDelegatorComp);
24 I_REGISTER_INTERFACE(ibase::IApplicationInfo);
25 I_REGISTER_INTERFACE(imtbase::IApplicationInfoController);
26 I_ASSIGN(m_applicationInfoCompPtr, "ApplicationInfo", "Application data info", false, "ApplicationInfo");
27 I_END_COMPONENT;
28
29protected:
30 // reimplemented (imtbase::IApplicationInfoController)
31 virtual void SetApplicationAttribute(ApplicationAttribute attributeId, const QString& attribute) override;
32
33 // reimplemented (ibase::IApplicationInfo)
34 virtual QString GetApplicationAttribute(int attributeId, bool allowTranslation = true) const override;
35 virtual int GetMainVersionId() const override;
36 virtual const iser::IVersionInfo& GetVersionInfo() const override;
37
38protected:
39 I_REF(ibase::IApplicationInfo, m_applicationInfoCompPtr);
40};
41
42
43} // namespace imtbase
44
45