summaryrefslogtreecommitdiffstats
path: root/logic/net/DownloadJob.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-10-26 19:55:48 +0200
committerPetr Mrázek <peterix@gmail.com>2013-10-26 19:55:48 +0200
commit923347729557eed76e4f7e9f6f5f1a79216de0a4 (patch)
treea54a29be846e76b2b57fed03e74eb6fa5ddcf978 /logic/net/DownloadJob.h
parentc467ebf1327d6266fc51443edfac6f0b536b6602 (diff)
downloadMultiMC-923347729557eed76e4f7e9f6f5f1a79216de0a4.tar
MultiMC-923347729557eed76e4f7e9f6f5f1a79216de0a4.tar.gz
MultiMC-923347729557eed76e4f7e9f6f5f1a79216de0a4.tar.lz
MultiMC-923347729557eed76e4f7e9f6f5f1a79216de0a4.tar.xz
MultiMC-923347729557eed76e4f7e9f6f5f1a79216de0a4.zip
S3 bucket listing support and network code refactors.
* Adds support for listing all objects in an S3 bucket. * Renames a bunch of network related classes (Download->Action) * Net actions now have static constructors
Diffstat (limited to 'logic/net/DownloadJob.h')
-rw-r--r--logic/net/DownloadJob.h86
1 files changed, 0 insertions, 86 deletions
diff --git a/logic/net/DownloadJob.h b/logic/net/DownloadJob.h
deleted file mode 100644
index cc2a1d59..00000000
--- a/logic/net/DownloadJob.h
+++ /dev/null
@@ -1,86 +0,0 @@
-#pragma once
-#include <QtNetwork>
-#include <QLabel>
-#include "Download.h"
-#include "ByteArrayDownload.h"
-#include "FileDownload.h"
-#include "CacheDownload.h"
-#include "HttpMetaCache.h"
-#include "ForgeXzDownload.h"
-#include "logic/tasks/ProgressProvider.h"
-
-class DownloadJob;
-typedef std::shared_ptr<DownloadJob> DownloadJobPtr;
-
-/**
- * A single file for the downloader/cache to process.
- */
-class DownloadJob : public ProgressProvider
-{
- Q_OBJECT
-public:
- explicit DownloadJob(QString job_name)
- :ProgressProvider(), m_job_name(job_name){};
-
- ByteArrayDownloadPtr addByteArrayDownload(QUrl url);
- FileDownloadPtr addFileDownload(QUrl url, QString rel_target_path);
- CacheDownloadPtr addCacheDownload(QUrl url, MetaEntryPtr entry);
- ForgeXzDownloadPtr addForgeXzDownload(QUrl url, MetaEntryPtr entry);
-
- DownloadPtr operator[](int index)
- {
- return downloads[index];
- };
- DownloadPtr first()
- {
- if(downloads.size())
- return downloads[0];
- return DownloadPtr();
- }
- int size() const
- {
- 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;
- };
- QStringList getFailedFiles();
-signals:
- void started();
- void progress(qint64 current, qint64 total);
- void filesProgress(int, int, int);
- void succeeded();
- void failed();
-public slots:
- virtual void start();
-private slots:
- void partProgress(int index, qint64 bytesReceived, qint64 bytesTotal);
- void partSucceeded(int index);
- void partFailed(int index);
-private:
- struct part_info
- {
- qint64 current_progress = 0;
- qint64 total_progress = 1;
- int failures = 0;
- };
- QString m_job_name;
- QList<DownloadPtr> downloads;
- QList<part_info> parts_progress;
- qint64 current_progress = 0;
- qint64 total_progress = 0;
- int num_succeeded = 0;
- int num_failed = 0;
- bool m_running = false;
-};
-