AusweisApp2
Downloader.h
gehe zur Dokumentation dieser Datei
1 
8 #pragma once
9 
10 #include "Env.h"
11 #include "GlobalStatus.h"
12 #include "NetworkManager.h"
13 
14 #include <QNetworkReply>
15 #include <QNetworkRequest>
16 #include <QQueue>
17 #include <QSharedPointer>
18 #include <QSslCipher>
19 #include <QUrl>
20 
21 namespace governikus
22 {
24  : public QObject
25 {
26  Q_OBJECT
27  friend class Env;
28 
29  private:
30  QSharedPointer<QNetworkRequest> mCurrentRequest;
31  QSharedPointer<QNetworkReply> mCurrentReply;
32  QQueue<QSharedPointer<QNetworkRequest>> mPendingRequests;
33 
34  void scheduleDownload(QSharedPointer<QNetworkRequest> pDownloadRequest);
35  void startDownloadIfPending();
36 
37  protected:
38  Downloader();
39  virtual ~Downloader();
40  static Downloader& getInstance();
41 
42  private Q_SLOTS:
43  void onSslErrors(const QList<QSslError>& pErrors);
44  void onSslHandshakeDone();
45  void onMetadataChanged();
46  void onNetworkReplyFinished();
47 
48  public:
49  Q_INVOKABLE virtual void download(const QUrl& pUpdateUrl);
50  Q_INVOKABLE virtual void downloadIfNew(const QUrl& pUpdateUrl,
51  const QDateTime& pCurrentTimestamp);
52 
53  Q_SIGNALS:
54  void fireDownloadSuccess(const QUrl& pUpdateUrl, const QDateTime& pNewTimestamp, const QByteArray& pData);
55  void fireDownloadFailed(const QUrl& pUpdateUrl, GlobalStatus::Code pErrorCode);
56  void fireDownloadUnnecessary(const QUrl& pUpdateUrl);
57 };
58 
59 } // namespace governikus
Downloader()
Definition: Downloader.cpp:181
Code
Definition: GlobalStatus.h:25
void fireDownloadSuccess(const QUrl &pUpdateUrl, const QDateTime &pNewTimestamp, const QByteArray &pData)
void fireDownloadFailed(const QUrl &pUpdateUrl, GlobalStatus::Code pErrorCode)
static Downloader & getInstance()
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
virtual Q_INVOKABLE void downloadIfNew(const QUrl &pUpdateUrl, const QDateTime &pCurrentTimestamp)
Definition: Downloader.cpp:207
void fireDownloadUnnecessary(const QUrl &pUpdateUrl)
virtual Q_INVOKABLE void download(const QUrl &pUpdateUrl)
Definition: Downloader.cpp:199
Definition: Env.h:38
virtual ~Downloader()
Definition: Downloader.cpp:189
Definition: Downloader.h:23