summaryrefslogtreecommitdiffstats
path: root/src/server/net
diff options
context:
space:
mode:
authorBjörn Hagemeister2014-04-16 18:15:28 +0200
committerBjörn Hagemeister2014-04-16 18:15:28 +0200
commit6d6041f03cd0e70563f12d5332050588ad6858e7 (patch)
treec8777d1421062c15d99c804aa2aa56142822876b /src/server/net
parentChanged exit text to be "exit?" instead of "Beenden?". (diff)
downloadpvs2-6d6041f03cd0e70563f12d5332050588ad6858e7.tar.gz
pvs2-6d6041f03cd0e70563f12d5332050588ad6858e7.tar.xz
pvs2-6d6041f03cd0e70563f12d5332050588ad6858e7.zip
New feature. Download of tutor-ip-list and automated assingment.
TODO: Make source url configurable.
Diffstat (limited to 'src/server/net')
-rw-r--r--src/server/net/filedownloader.cpp36
-rw-r--r--src/server/net/filedownloader.h44
2 files changed, 80 insertions, 0 deletions
diff --git a/src/server/net/filedownloader.cpp b/src/server/net/filedownloader.cpp
new file mode 100644
index 0000000..70e1520
--- /dev/null
+++ b/src/server/net/filedownloader.cpp
@@ -0,0 +1,36 @@
+/*
+ * FileDownloader.cpp
+ *
+ * Created on: Mar 7, 2014
+ * Author: nils
+ */
+
+#include <QFileInfo>
+
+#include "filedownloader.h"
+
+FileDownloader::FileDownloader(QObject *parent) :
+ QObject(parent) {
+ connect(&m_WebCtrl, SIGNAL(finished(QNetworkReply*)),
+ SLOT(fileDownloaded(QNetworkReply*)));
+}
+
+FileDownloader::~FileDownloader() {
+
+}
+
+void FileDownloader::connectSlot(QObject* obj, const char* slot) {
+ QObject::connect(this, SIGNAL(downloaded(QByteArray&)),
+ obj, slot);
+}
+
+void FileDownloader::fileDownloaded(QNetworkReply* pReply) {
+ QByteArray downloadedData = pReply->readAll();
+ //emit a signal
+ pReply->deleteLater();
+ emit downloaded(downloadedData);
+}
+
+void FileDownloader::downloadFile(const QUrl& fileUrl) {
+ m_WebCtrl.get(QNetworkRequest(fileUrl));
+}
diff --git a/src/server/net/filedownloader.h b/src/server/net/filedownloader.h
new file mode 100644
index 0000000..68eaa39
--- /dev/null
+++ b/src/server/net/filedownloader.h
@@ -0,0 +1,44 @@
+/*
+ * 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(QObject *parent = 0);
+
+ virtual ~FileDownloader();
+
+ void downloadFile(const QUrl& fileUrl);
+
+ void connectSlot(QObject* obj, const char* slot);
+
+ QByteArray downloadedData() const;
+
+signals:
+ void downloaded(QByteArray& downloadedData);
+
+private slots:
+
+ void fileDownloaded(QNetworkReply* pReply);
+
+private:
+
+ QNetworkAccessManager m_WebCtrl;
+
+};
+
+#endif /* FILEDOWNLOADER_H_ */