summaryrefslogtreecommitdiffstats
path: root/src/filedownloader.h
diff options
context:
space:
mode:
authorSimon Rettberg2018-06-15 10:56:20 +0200
committerSimon Rettberg2018-06-15 10:56:20 +0200
commit4fb6c46f7aebe0754647c142bb653185f8139907 (patch)
tree74303256ff6866fbaaee07763234127d0d1a97ea /src/filedownloader.h
parentFileDownloader.* -> fileDownloader.* (diff)
downloadvmchooser2-4fb6c46f7aebe0754647c142bb653185f8139907.tar.gz
vmchooser2-4fb6c46f7aebe0754647c142bb653185f8139907.tar.xz
vmchooser2-4fb6c46f7aebe0754647c142bb653185f8139907.zip
fileDownloader.* -> filedownloader.*
Diffstat (limited to 'src/filedownloader.h')
-rw-r--r--src/filedownloader.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/filedownloader.h b/src/filedownloader.h
new file mode 100644
index 0000000..2de29ad
--- /dev/null
+++ b/src/filedownloader.h
@@ -0,0 +1,52 @@
+/*
+ * filedownloader.h
+ *
+ * Created on: Mar 7, 2014
+ * Author: nils
+ */
+
+#ifndef FILEDOWNLOADER_H_
+#define FILEDOWNLOADER_H_
+
+#include <QObject>
+#include <QByteArray>
+#include <QNetworkAccessManager>
+#include <QNetworkRequest>
+#include <QNetworkReply>
+
+class FileDownloader : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ explicit FileDownloader(const QUrl& fileUrl, QObject *parent = 0);
+
+ virtual ~FileDownloader();
+
+ bool downloadFile();
+
+signals:
+
+ /**
+ * Triggered when the download has finished.
+ * On error, downloadedData will be empty.
+ */
+ void downloaded(const QUrl& url, const QByteArray& downloadedData);
+
+private slots:
+
+ void fileDownloaded();
+ void downloadFailed(QNetworkReply::NetworkError code);
+ void downloadProgress(qint64 received, qint64 totalSize);
+
+private:
+
+ void killReply(QNetworkReply *reply);
+
+ bool started;
+ QUrl url;
+
+};
+
+#endif /* FILEDOWNLOADER_H_ */