summaryrefslogtreecommitdiffstats
path: root/logic/net/SkinDownload.h
blob: 56e5c01d4c1ac5d3be3d97030c7d53be0da04872 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once

#include "Download.h"
#include "HttpMetaCache.h"
#include "DownloadJob.h"
#include <QFile>
#include <QTemporaryFile>

class SkinDownload : public QObject
{
	Q_OBJECT

public:
	explicit SkinDownload(QString name);
	QString m_name;
	QUrl m_url;
	MetaEntryPtr m_entry;
	DownloadJobPtr m_job;

	void start();

protected slots:
	void downloadStarted();
	void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
	void downloadSucceeded();
	void downloadFailed();

signals:
	void started();
	void progress(qint64 current, qint64 total);
	void succeeded();
	void failed();

protected:

};

typedef std::shared_ptr<SkinDownload> SkinDownloadPtr;