ImagingTools Core SDK
CInstallationInfo.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// Qt includes
5#include <QtCore/QDateTime>
6
7// imtupdate includes
8#include<imtupdate/IInstallationInfo.h>
9#include<imtupdate/CInstallationVersionInfo.h>
10
11
12namespace imtupdate
13{
14
15
16class CInstallationInfo: public IInstallationInfo
17{
18public:
19 void SetProductVersion(const CInstallationVersionInfo& versionInfo);
20 void SetReleaseDate(const QDateTime& releaseDate);
21 void SetChangeNotes(const QString& changeNotes);
22 void SetReleaseDownloadLink(const QString& link);
23 void SetInstallationHashType(const QString& type);
24 void SetInstallationHashValue(const QString& value);
25
26 // reimplemented (istd::IChangable)
27 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
28
29 // reimplemented (iser::ISerializable)
30 virtual bool Serialize(iser::IArchive& archive) override;
31
32 // reimplemented (IProductReleaseInfo)
33 virtual const iser::IVersionInfo& GetProductVersion() const override;
34 virtual QDateTime GetReleaseDate() const override;
35 virtual QString GetChangeNotes() const override;
36
37 // reimplemented (IInstallationInfo)
38 virtual QString GetReleaseDownloadLink() const override;
39 virtual QString GetInstallationHashType() const override;
40 virtual QString GetInstallationHashValue() const override;
41
42private:
43 QString m_releaseDownloadUrl;
44 QDateTime m_releaseDate;
45 QString m_changeNotes;
46 QString m_installationHashType;
47 QString m_installationHashValue;
48
49 CInstallationVersionInfo m_versionInfo;
50};
51
52
53} // namespace imtupdate
54