ACF $AcfVersion:0$
CVersionInfoComp.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <iser/IVersionInfo.h>
8
9
10namespace ibase
11{
12
13
18{
19public:
21
22 I_BEGIN_COMPONENT(CVersionInfoComp);
23 I_REGISTER_INTERFACE(iser::IVersionInfo);
24 I_ASSIGN(m_versionIdAttrPtr, "VersionId", "Version ID", false, 1024);
25 I_ASSIGN(m_versionNumberAttrPtr, "VersionNumber", "Current version number for VersionId", true, 0);
26 I_ASSIGN(m_versionIdDescriptionAttrPtr, "VersionIdDesc", "Descriptions of version ID's", true, "User Version");
27 I_ASSIGN_MULTI_0(m_knownVersionsAttrPtr, "KnownVersions", "Version numbers for known versions", false);
28 I_ASSIGN_MULTI_0(m_knownVersionNamesAttrPtr, "KnownVersionNames", "Names of known versions", false);
29 I_ASSIGN(m_isExtensionUsedAttrPtr, "IsExtensionUsed", "Enable using of automatic calculated minor version information at the end of encoded version string", true, true);
30 I_ASSIGN(m_slaveVersionInfoCompPtr, "SlaveVersionInfo", "Slave version info, unknown version information requests will be delegated here", false, "SlaveVersionInfo");
31 I_END_COMPONENT;
32
33 // reimplemented (iser::IVersionInfo)
34 virtual bool GetVersionNumber(int versionId, quint32& result) const override;
35 virtual QString GetVersionIdDescription(int versionId) const override;
36 virtual VersionIds GetVersionIds() const override;
37 virtual QString GetEncodedVersionName(int versionId, quint32 versionNumber) const override;
38
39private:
40 I_ATTR(int, m_versionIdAttrPtr);
41 I_ATTR(int, m_versionNumberAttrPtr);
42 I_TEXTATTR(m_versionIdDescriptionAttrPtr);
43 I_MULTIATTR(int, m_knownVersionsAttrPtr);
44 I_MULTIATTR(QString, m_knownVersionNamesAttrPtr);
45 I_ATTR(bool, m_isExtensionUsedAttrPtr);
46 I_REF(iser::IVersionInfo, m_slaveVersionInfoCompPtr);
47};
48
49
50} // namespace ibase
51
52
53
54
Component for providing of version information.
virtual bool GetVersionNumber(int versionId, quint32 &result) const override
Get version of archived stream for specific versioning type.
virtual QString GetVersionIdDescription(int versionId) const override
Get description of version ID.
virtual VersionIds GetVersionIds() const override
Get list of version ID's.
virtual QString GetEncodedVersionName(int versionId, quint32 versionNumber) const override
Encode version number to human readable form.
icomp::CComponentBase BaseClass
Base class for component implementation.
Provides access to version information.
QSet< int > VersionIds
#define I_TEXTATTR(member)
Declare translatable text attribute member.
This namespace contains basic implementations of standard primitives on the component level.