summaryrefslogtreecommitdiffstats
path: root/logic/net/SkinDownload.h
diff options
context:
space:
mode:
Diffstat (limited to 'logic/net/SkinDownload.h')
-rw-r--r--logic/net/SkinDownload.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/logic/net/SkinDownload.h b/logic/net/SkinDownload.h
new file mode 100644
index 00000000..56e5c01d
--- /dev/null
+++ b/logic/net/SkinDownload.h
@@ -0,0 +1,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;