1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-10-06 23:03:22 +02:00
GPXSee/src/downloader.h

53 lines
948 B
C
Raw Normal View History

2015-11-23 02:33:01 +01:00
#ifndef DOWNLOADER_H
#define DOWNLOADER_H
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QUrl>
#include <QList>
class Download
{
public:
Download(const QString &url, const QString &file)
{_url = url; _file = file;}
const QString& url() const {return _url;}
const QString& file() const {return _file;}
private:
QString _url;
QString _file;
};
class Downloader : public QObject
{
Q_OBJECT
public:
static Downloader& instance()
{static Downloader i; return i;}
void get(const QList<Download> &list);
signals:
void finished();
private slots:
void downloadFinished(QNetworkReply *reply);
private:
Downloader();
Downloader(Downloader const&);
void operator=(Downloader const&);
void doDownload(const Download &dl);
bool saveToDisk(const QString &filename, QIODevice *data);
QNetworkAccessManager manager;
QList<QNetworkReply *> currentDownloads;
};
#endif // DOWNLOADER_H