diff options
author | Björn Hagemeister | 2014-04-16 18:15:28 +0200 |
---|---|---|
committer | Björn Hagemeister | 2014-04-16 18:15:28 +0200 |
commit | 6d6041f03cd0e70563f12d5332050588ad6858e7 (patch) | |
tree | c8777d1421062c15d99c804aa2aa56142822876b /src/server/net | |
parent | Changed exit text to be "exit?" instead of "Beenden?". (diff) | |
download | pvs2-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.cpp | 36 | ||||
-rw-r--r-- | src/server/net/filedownloader.h | 44 |
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_ */ |