6#include<ilog/TLoggerCompWrap.h>
7#include<ifile/IFileNameParam.h>
8#include<iprm/IParamsSet.h>
11#include<imtupdate/IProductUpdateController.h>
12#include<imtupdate/IInstallationInfoProvider.h>
20 virtual public IProductUpdateController,
21 public ilog::CLoggerComponentBase
24 typedef ilog::CLoggerComponentBase BaseClass;
27 I_REGISTER_INTERFACE(IProductUpdateController);
29 I_ASSIGN(m_downloaderCompPtr,
"ComponentDownloader",
"Downloader component",
true,
"ComponentDownloader");
30 I_ASSIGN(m_installationInfoProviderCompPtr,
"InstalationInfoProvider",
"Provider, which installation info",
true,
"InstalationInfoProvider");
31 I_ASSIGN(m_currentApplicationVersionInfoCompPtr,
"CurrentApplicationVersion",
"The current application version",
true,
"IVersionInfo");
32 I_ASSIGN(m_versionIdAttrPtr,
"ProductVersionId",
"Binary ID of the product version",
true, 2000);
33 I_ASSIGN(m_additionalParamsInfoCompPtr,
"AdditionalParameters",
"Additional parameters to specify behaviour for the product",
true,
"AdditionalParameters");
39 virtual bool CheckForNewVersion(quint32* releaseVersion =
nullptr)
const override;
40 virtual bool InstallVersion(qint32 version = -1)
override;
41 virtual IDownloader::DownloadStatus DownloadNewVersion(ibase::IProgressManager* progressManagerPtr =
nullptr)
override;
42 virtual bool FinishAppInstallation(iprm::IParamsSet& params,
bool* isRestartRequired =
nullptr)
override;
43 virtual bool DelayUpdate(qint32 version = -1)
override;
44 virtual bool HasDelayedUpdate()
const override;
45 virtual bool InstallDelayedUpdate()
override;
48 QByteArray GetHashForFile(
const QString &filePath)
const;
50 virtual bool FinishAppInstallationForWindows(iprm::IParamsSet& params)
const;
55 bool _winTerminateProcess(
const QString &pName)
const;
56 bool _winTerminateProcess(
const qlonglong &pID)
const;
57 bool _winProcessIsRunning(
const qlonglong &pID)
const;
58 bool _winProcessIsRunning(
const QString &pName)
const;
61 virtual void OnComponentCreated()
override;
64 I_REF(IDownloader, m_downloaderCompPtr);
65 I_REF(IInstallationInfoProvider, m_installationInfoProviderCompPtr);
66 I_REF(iser::IVersionInfo, m_currentApplicationVersionInfoCompPtr);
67 I_REF(iprm::IParamsSet, m_additionalParamsInfoCompPtr);
69 I_ATTR(
int, m_versionIdAttrPtr);
71 mutable QString m_downloadedFilePath;
72 bool m_isDownloadInProgress;
qlonglong _winProcessPIDByName(const QString &pName) const