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  friend class Env;
23  friend class ::test_AppUpdatr;
24 
25  private:
26  bool mForceUpdate;
27  QUrl mAppUpdateJsonUrl;
28  AppUpdateData mAppUpdateData;
29  QString mDownloadPath;
30  bool mDownloadInProgress;
31 
32  static QCryptographicHash::Algorithm getHashAlgo(const QByteArray& pAlgo);
33 
34  AppUpdater();
35  ~AppUpdater() override = default;
36 
37  void clearDownloaderConnection();
38  bool download(const QUrl& pUrl);
39  QString save(const QByteArray& pData, const QString& pFilename);
40 
41  public:
42  bool abortDownload();
43  bool downloadUpdate();
44  bool checkAppUpdate(bool pForceUpdate = false);
45  [[nodiscard]] const AppUpdateData& getUpdateData() const;
46  void skipVersion(const QString& pVersion);
47 
48 #ifndef QT_NO_DEBUG
49  [[nodiscard]] QString getDownloadPath() const;
50  void setDownloadPath(const QString& pPath);
51 #endif
52 
53  void handleVersionInfoDownloadFinished(const QByteArray& pData);
54  void handleReleaseNotesDownloadFinished(const QByteArray& pData);
55  void handleChecksumDownloadFinished(const QUrl& pUpdateUrl, const QByteArray& pData);
56  void handleAppDownloadFinished(const QByteArray& pData);
57 
58  private Q_SLOTS:
59  void onDownloadFinished(const QUrl& pUpdateUrl, const QDateTime& pNewTimestamp, const QByteArray& pData);
60  void onDownloadFailed(const QUrl& pUpdateUrl, GlobalStatus::Code pErrorCode);
61  void onDownloadUnnecessary(const QUrl& pUpdateUrl);
62  void onDownloadProgress(const QUrl& pUpdateUrl, qint64 pBytesReceived, qint64 pBytesTotal);
63 
64  Q_SIGNALS:
65  void fireAppcastCheckFinished(bool pUpdateAvailable, const GlobalStatus& pError);
67  void fireAppDownloadProgress(qint64 pBytesReceived, qint64 pBytesTotal);
68 };
69 
70 } // namespace governikus
Definition: AppUpdateData.h:22
Definition: AppUpdater.h:20
QString getDownloadPath() const
Definition: AppUpdater.cpp:131
void setDownloadPath(const QString &pPath)
Definition: AppUpdater.cpp:137
void handleVersionInfoDownloadFinished(const QByteArray &pData)
Definition: AppUpdater.cpp:188
void fireAppcastCheckFinished(bool pUpdateAvailable, const GlobalStatus &pError)
void skipVersion(const QString &pVersion)
Definition: AppUpdater.cpp:123
bool downloadUpdate()
Definition: AppUpdater.cpp:104
void handleChecksumDownloadFinished(const QUrl &pUpdateUrl, const QByteArray &pData)
Definition: AppUpdater.cpp:234
void handleReleaseNotesDownloadFinished(const QByteArray &pData)
Definition: AppUpdater.cpp:225
void fireAppDownloadProgress(qint64 pBytesReceived, qint64 pBytesTotal)
void fireAppDownloadFinished(const GlobalStatus &pError)
void handleAppDownloadFinished(const QByteArray &pData)
Definition: AppUpdater.cpp:263
const AppUpdateData & getUpdateData() const
Definition: AppUpdater.cpp:117
bool abortDownload()
Definition: AppUpdater.cpp:93
bool checkAppUpdate(bool pForceUpdate=false)
Definition: AppUpdater.cpp:36
Definition: Env.h:44
Definition: GlobalStatus.h:20
Code
Definition: GlobalStatus.h:26
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16