ImagingTools Core SDK
IProductUpdateController.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 <istd/IPolymorphic.h>
7#include <iprm/IParamsSet.h>
8
9// anoter includes
10#include<ibase/IProgressManager.h>
11
12// imtupdate includes
13#include<imtupdate/IDownloader.h>
14
15
16namespace imtupdate
17{
18
19
20class IProductUpdateController: virtual public istd::IPolymorphic
21{
22public:
27 virtual bool CheckForNewVersion(quint32* releaseVersion = nullptr) const = 0;
28 virtual bool InstallVersion(qint32 version = -1) = 0;
29 virtual IDownloader::DownloadStatus DownloadNewVersion(ibase::IProgressManager* progressManagerPtr = nullptr) = 0;
30 virtual bool FinishAppInstallation(iprm::IParamsSet& params, bool* isRestartRequired = nullptr) = 0;
31 virtual bool DelayUpdate(qint32 version = -1) = 0;
32 virtual bool HasDelayedUpdate() const = 0;
33 virtual bool InstallDelayedUpdate() = 0;
34};
35
36
37} // namespace imtupdate
38