ImagingTools Core SDK
CInstallationVersionInfoComp.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 <iser/IVersionInfo.h>
7#include<ilog/TLoggerCompWrap.h>
8
9
10namespace imtupdate
11{
12
13
14class CInstallationVersionInfoComp:
15 public ilog::CLoggerComponentBase,
16 virtual public iser::IVersionInfo
17{
18public:
19 typedef ilog::CLoggerComponentBase BaseClass;
20
21 I_BEGIN_COMPONENT(CInstallationVersionInfoComp);
22 I_REGISTER_INTERFACE(iser::IVersionInfo)
23 I_ASSIGN(m_majorVersionAttrPtr, "MajorVersion", "Major Version", true, 0);
24 I_ASSIGN(m_minorVersionAttrPtr, "MinorVersion", "Minor Version", true, 0);
25 I_ASSIGN(m_fixVersionAttrPtr, "FixVersion", "Fix Version", true, 0);
26 I_ASSIGN(m_buildVersionAttrPtr, "BuildVersion", "Build Version", true, 0);
27 I_ASSIGN(m_productNameAttrPtr, "ProductName", "Produc tName", true, "<PRODUCT_NAME_IS_NOT_SET>");
28 I_END_COMPONENT
29
30
31 // reimplimented (IVersionInfo)
32 virtual VersionIds GetVersionIds() const override;
33 virtual bool GetVersionNumber(int versionId, quint32& result) const override;
34 virtual QString GetVersionIdDescription(int versionId) const override;
35 virtual QString GetEncodedVersionName(int versionId, quint32 versionNumber) const override;
36
37private:
38 I_ATTR(int, m_majorVersionAttrPtr);
39 I_ATTR(int, m_minorVersionAttrPtr);
40 I_ATTR(int, m_fixVersionAttrPtr);
41 I_ATTR(int, m_buildVersionAttrPtr);
42 I_ATTR(QString, m_productNameAttrPtr);
43};
44
45
46}//namespace imtupdate
47