6#include<ilog/TLoggerCompWrap.h>
7#include <ibase/IProgressManager.h>
10#include<imtupdate/IInstallationInfoProvider.h>
11#include<imtupdate/IDownloader.h>
12#include<imtupdate/CUpdateManifest.h>
13#include<imtupdate/CInstallationInfo.h>
20class CInstallationInfoProviderComp:
21 virtual public IInstallationInfoProvider,
22 public ilog::CLoggerComponentBase
25 typedef ilog::CLoggerComponentBase BaseClass;
27 I_BEGIN_COMPONENT(CInstallationInfoProviderComp);
28 I_REGISTER_INTERFACE(IInstallationInfoProvider);
30 I_ASSIGN(m_downloaderCompPtr,
"ComponentDownloader",
"Downloader component",
true,
"ComponentDownloader");
31 I_ASSIGN(m_downloadLinkAttrPtr,
"InstallationInfoLink",
"Link for retrieving informations about the available installtion on the server",
true,
"");
32 I_ASSIGN(m_productNameAttrPtr,
"ProductName",
"Name of the prodoct for information download",
true,
"");
35 void SetInstallationInfo(
const CInstallationInfo& installationInfo);
38 virtual const IInstallationInfo* GetInstallationInfo()
const override;
41 virtual bool AcquireInstallationInfo(
const QString &link, ibase::IProgressManager *progressManagerPtr =
nullptr)
const;
44 I_REF(IDownloader, m_downloaderCompPtr);
45 I_ATTR(QString, m_downloadLinkAttrPtr);
46 I_ATTR(QString, m_productNameAttrPtr);
48 CUpdateManifest m_manifest;
49 mutable CInstallationInfo m_installationInfo;