summaryrefslogtreecommitdiffstats
path: root/logic/net/DownloadJob.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-09-18 00:00:35 +0200
committerPetr Mrázek <peterix@gmail.com>2013-09-18 00:00:35 +0200
commitb979d0ce5da515793a02802a6421ef607a498323 (patch)
tree1431d15e7a3e89e87708564a5be9fea05a5647ab /logic/net/DownloadJob.h
parentd38b90530b3ba3a49c4eb072eb344ae2b0836913 (diff)
downloadMultiMC-b979d0ce5da515793a02802a6421ef607a498323.tar
MultiMC-b979d0ce5da515793a02802a6421ef607a498323.tar.gz
MultiMC-b979d0ce5da515793a02802a6421ef607a498323.tar.lz
MultiMC-b979d0ce5da515793a02802a6421ef607a498323.tar.xz
MultiMC-b979d0ce5da515793a02802a6421ef607a498323.zip
Implement legacy forge button!
Many refactors of the task system. Progress dialog now accepts generic ProgressProvider objects
Diffstat (limited to 'logic/net/DownloadJob.h')
-rw-r--r--logic/net/DownloadJob.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/logic/net/DownloadJob.h b/logic/net/DownloadJob.h
index 69a49e59..c8f6a9d7 100644
--- a/logic/net/DownloadJob.h
+++ b/logic/net/DownloadJob.h
@@ -5,6 +5,7 @@
#include "FileDownload.h"
#include "CacheDownload.h"
#include "HttpMetaCache.h"
+#include "logic/tasks/ProgressProvider.h"
class DownloadJob;
typedef QSharedPointer<DownloadJob> DownloadJobPtr;
@@ -12,12 +13,12 @@ typedef QSharedPointer<DownloadJob> DownloadJobPtr;
/**
* A single file for the downloader/cache to process.
*/
-class DownloadJob : public QObject
+class DownloadJob : public ProgressProvider
{
Q_OBJECT
public:
explicit DownloadJob(QString job_name)
- :QObject(), m_job_name(job_name){};
+ :ProgressProvider(), m_job_name(job_name){};
ByteArrayDownloadPtr add(QUrl url);
FileDownloadPtr add(QUrl url, QString rel_target_path);
@@ -37,6 +38,19 @@ public:
{
return downloads.size();
}
+ virtual void getProgress(qint64& current, qint64& total)
+ {
+ current = current_progress;
+ total = total_progress;
+ };
+ virtual QString getStatus() const
+ {
+ return m_job_name;
+ };
+ virtual bool isRunning() const
+ {
+ return m_running;
+ };
signals:
void started();
void progress(qint64 current, qint64 total);
@@ -56,5 +70,6 @@ private:
qint64 total_progress = 0;
int num_succeeded = 0;
int num_failed = 0;
+ bool m_running = false;
};