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
21namespace governikus
22{
24 : public QObject
25{
26 Q_OBJECT
27 friend class Env;
28
29 private:
30 QSharedPointer<QNetworkReply> mCurrentReply;
31 QQueue<QSharedPointer<QNetworkRequest>> mPendingRequests;
32
33 void scheduleDownload(QSharedPointer<QNetworkRequest> pDownloadRequest);
34 void startDownloadIfPending();
35
36 protected:
37 Downloader();
38 ~Downloader() override;
39
40 private Q_SLOTS:
41 void onMetadataChanged();
42 void onNetworkReplyFinished();
43 void onNetworkReplyProgress(qint64 pBytesReceived, qint64 pBytesTotal);
44
45 public:
46 bool abort(const QUrl& pUpdateUrl);
47 virtual void download(const QUrl& pUpdateUrl, const QDateTime& pCurrentTimestamp = QDateTime());
48
49 Q_SIGNALS:
50 void fireDownloadProgress(const QUrl& pUpdateUrl, qint64 pBytesReceived, qint64 pBytesTotal);
51 void fireDownloadSuccess(const QUrl& pUpdateUrl, const QDateTime& pNewTimestamp, const QByteArray& pData);
52 void fireDownloadFailed(const QUrl& pUpdateUrl, GlobalStatus::Code pErrorCode);
53 void fireDownloadUnnecessary(const QUrl& pUpdateUrl);
54};
55
56} // namespace governikus
Definition: Downloader.h:25
~Downloader() override
Definition: Downloader.cpp:149
Downloader()
Definition: Downloader.cpp:142
void fireDownloadProgress(const QUrl &pUpdateUrl, qint64 pBytesReceived, qint64 pBytesTotal)
void fireDownloadUnnecessary(const QUrl &pUpdateUrl)
virtual void download(const QUrl &pUpdateUrl, const QDateTime &pCurrentTimestamp=QDateTime())
Definition: Downloader.cpp:190
bool abort(const QUrl &pUpdateUrl)
Definition: Downloader.cpp:159
void fireDownloadSuccess(const QUrl &pUpdateUrl, const QDateTime &pNewTimestamp, const QByteArray &pData)
void fireDownloadFailed(const QUrl &pUpdateUrl, GlobalStatus::Code pErrorCode)
Definition: Env.h:44
Code
Definition: GlobalStatus.h:26
A simple template renderer.
Definition: ActivationContext.h:15