diff options
Diffstat (limited to 'src/FileDownloader.h')
-rw-r--r-- | src/FileDownloader.h | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/FileDownloader.h b/src/FileDownloader.h index fccfa7a..f66f7f9 100644 --- a/src/FileDownloader.h +++ b/src/FileDownloader.h @@ -17,28 +17,35 @@ class FileDownloader : public QObject { Q_OBJECT -public: - explicit FileDownloader(QObject *parent = 0); - virtual ~FileDownloader(); +public: - void downloadFile(const QUrl& fileUrl); + explicit FileDownloader(const QUrl& fileUrl, QObject *parent = 0); - void connectSlot(QObject* obj, const char* slot); + virtual ~FileDownloader(); - QByteArray downloadedData() const; + bool downloadFile(); signals: - void downloaded(QString& fileName, QByteArray downloadedData); + + /** + * Triggered when the download has finished. + * On error, downloadedData will be empty. + */ + void downloaded(const QUrl& url, const QByteArray& downloadedData); private slots: - void fileDownloaded(QNetworkReply* pReply); + void fileDownloaded(); + void downloadFailed(QNetworkReply::NetworkError code); + void downloadProgress(qint64 received, qint64 totalSize); private: - QNetworkAccessManager m_WebCtrl; - QString fileName; + void killReply(QNetworkReply *reply); + + bool started; + QUrl url; }; |