AusweisApp2
AppUpdater.h
gehe zur Dokumentation dieser Datei
1 
5 #pragma once
6 
7 #include "AppUpdateData.h"
8 #include "Env.h"
9 #include "GlobalStatus.h"
10 
11 #include <QDateTime>
12 #include <QUrl>
13 
14 class test_AppUpdatr;
15 
16 namespace governikus
17 {
19  : public QObject
20 {
21  Q_OBJECT
22 
23  private:
24  friend class Env;
25  friend class ::test_AppUpdatr;
26 
27  bool mForceUpdate;
28  QUrl mAppUpdateJsonUrl;
29  AppUpdateData mAppUpdateData;
30  QString mDownloadPath;
31  bool mDownloadInProgress;
32 
33  static QCryptographicHash::Algorithm getHashAlgo(const QByteArray& pAlgo);
34 
35  AppUpdater();
36  ~AppUpdater() override = default;
37 
38  void clearDownloaderConnection();
39  bool download(const QUrl& pUrl);
40  QString save(const QByteArray& pData, const QString& pFilename);
41 
42  public:
43  bool abortDownload();
44  bool downloadUpdate();
45  bool checkAppUpdate(bool pForceUpdate = false);
46  [[nodiscard]] const AppUpdateData& getUpdateData() const;
47  void skipVersion(const QString& pVersion);
48 
49 #ifndef QT_NO_DEBUG
50  [[nodiscard]] QString getDownloadPath() const;
51  void setDownloadPath(const QString& pPath);
52 #endif
53 
54  private Q_SLOTS:
55  void onDownloadFinished(const QUrl& pUpdateUrl, const QDateTime& pNewTimestamp, const QByteArray& pData);
56  void onDownloadFailed(const QUrl& pUpdateUrl, GlobalStatus::Code pErrorCode);
57  void onDownloadUnnecessary(const QUrl& pUpdateUrl);
58  void onDownloadProgress(const QUrl& pUpdateUrl, qint64 pBytesReceived, qint64 pBytesTotal);
59 
60  Q_SIGNALS:
61  void fireAppcastCheckFinished(bool pUpdateAvailable, const GlobalStatus& pError);
63  void fireAppDownloadProgress(qint64 pBytesReceived, qint64 pBytesTotal);
64 };
65 
66 } // namespace governikus
governikus::AppUpdater::setDownloadPath
void setDownloadPath(const QString &pPath)
Definition: AppUpdater.cpp:137
AppUpdateData.h
governikus::AppUpdateData::isValid
bool isValid() const
Definition: AppUpdateData.cpp:94
governikus::VersionNumber
Definition: VersionNumber.h:15
governikus::GlobalStatus::Code
Code
Definition: GlobalStatus.h:26
VersionNumber.h
AppSettings.h
governikus::AppUpdater
Definition: AppUpdater.h:20
governikus::AppUpdater::abortDownload
bool abortDownload()
Definition: AppUpdater.cpp:93
SecureStorage.h
governikus::AppUpdateData::getChecksumUrl
const QUrl & getChecksumUrl() const
Definition: AppUpdateData.cpp:150
governikus::AppUpdateData::getVersion
const QString & getVersion() const
Definition: AppUpdateData.cpp:132
governikus::GlobalStatus::toErrorDescription
QString toErrorDescription(const bool pSimplifiedVersion=false) const
governikus::AppUpdater::downloadUpdate
bool downloadUpdate()
Definition: AppUpdater.cpp:104
governikus::GlobalStatus::Code::Downloader_Cannot_Save_File
@ Downloader_Cannot_Save_File
governikus::VersionNumber::isDeveloperVersion
bool isDeveloperVersion() const
Definition: VersionNumber.cpp:41
governikus::Env
Definition: Env.h:44
governikus::GlobalStatus::Code::Downloader_Data_Corrupted
@ Downloader_Data_Corrupted
governikus::AppUpdater::fireAppDownloadFinished
void fireAppDownloadFinished(const GlobalStatus &pError)
governikus::GlobalStatus::Code::No_Error
@ No_Error
governikus::AppUpdateData::getUrl
const QUrl & getUrl() const
Definition: AppUpdateData.cpp:138
governikus::AppUpdater::fireAppcastCheckFinished
void fireAppcastCheckFinished(bool pUpdateAvailable, const GlobalStatus &pError)
governikus::Downloader::fireDownloadFailed
void fireDownloadFailed(const QUrl &pUpdateUrl, GlobalStatus::Code pErrorCode)
GlobalStatus.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
AppUpdater.h
governikus::AppUpdater::checkAppUpdate
bool checkAppUpdate(bool pForceUpdate=false)
Definition: AppUpdater.cpp:36
governikus::AppUpdateData::getSize
int getSize() const
Definition: AppUpdateData.cpp:144
governikus::AppUpdater::skipVersion
void skipVersion(const QString &pVersion)
Definition: AppUpdater.cpp:123
governikus::AppUpdateData
Definition: AppUpdateData.h:22
Env.h
governikus::AppUpdateData::setNotes
void setNotes(const QString &pNotes)
Definition: AppUpdateData.cpp:162
governikus::VersionNumber::getApplicationVersion
static const VersionNumber & getApplicationVersion()
Definition: VersionNumber.cpp:29
governikus::AppUpdateData::getNotesUrl
const QUrl & getNotesUrl() const
Definition: AppUpdateData.cpp:156
governikus::GlobalStatus
Definition: GlobalStatus.h:20
Downloader.h
governikus::AppUpdater::getUpdateData
const AppUpdateData & getUpdateData() const
Definition: AppUpdater.cpp:117
governikus::Downloader::fireDownloadUnnecessary
void fireDownloadUnnecessary(const QUrl &pUpdateUrl)
governikus::Downloader::fireDownloadProgress
void fireDownloadProgress(const QUrl &pUpdateUrl, qint64 pBytesReceived, qint64 pBytesTotal)
governikus::AppUpdater::fireAppDownloadProgress
void fireAppDownloadProgress(qint64 pBytesReceived, qint64 pBytesTotal)
governikus::AppUpdateData::isChecksumValid
bool isChecksumValid() const
Definition: AppUpdateData.cpp:223
governikus::GlobalStatus::Code::Network_Other_Error
@ Network_Other_Error
governikus::AppUpdateData::setUpdatePackagePath
void setUpdatePackagePath(const QString &pFile)
Definition: AppUpdateData.cpp:229
governikus::Downloader::fireDownloadSuccess
void fireDownloadSuccess(const QUrl &pUpdateUrl, const QDateTime &pNewTimestamp, const QByteArray &pData)
governikus::AppUpdateData::setChecksum
void setChecksum(const QByteArray &pChecksum, QCryptographicHash::Algorithm pAlgorithm)
Definition: AppUpdateData.cpp:174
governikus::AppUpdater::getDownloadPath
QString getDownloadPath() const
Definition: AppUpdater.cpp:131