diff options
author | Petr Mrázek <peterix@gmail.com> | 2018-03-16 23:33:58 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2018-03-16 23:33:58 +0100 |
commit | 106155dd627d8e333260e2460d4c9c558b49b21f (patch) | |
tree | d0678445ccb0881bb10e4bd1b13a3e03eda13d7b /api/logic/modplatform/ftb/FtbPackDownloader.h | |
parent | 303842a19e4893e4ac6784d60aca990b4276d0ec (diff) | |
download | MultiMC-106155dd627d8e333260e2460d4c9c558b49b21f.tar MultiMC-106155dd627d8e333260e2460d4c9c558b49b21f.tar.gz MultiMC-106155dd627d8e333260e2460d4c9c558b49b21f.tar.lz MultiMC-106155dd627d8e333260e2460d4c9c558b49b21f.tar.xz MultiMC-106155dd627d8e333260e2460d4c9c558b49b21f.zip |
NOISSUE move modpack platform related files to 'modplatform' subfolders
Diffstat (limited to 'api/logic/modplatform/ftb/FtbPackDownloader.h')
-rw-r--r-- | api/logic/modplatform/ftb/FtbPackDownloader.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/api/logic/modplatform/ftb/FtbPackDownloader.h b/api/logic/modplatform/ftb/FtbPackDownloader.h new file mode 100644 index 00000000..c5cc9bd2 --- /dev/null +++ b/api/logic/modplatform/ftb/FtbPackDownloader.h @@ -0,0 +1,64 @@ +#include <QString> +#include <QUrl> +#include <QList> +#include <QObject> +#include "FtbPackFetchTask.h" +#include "tasks/Task.h" +#include "net/NetJob.h" + +#include "PackHelpers.h" +#include "Env.h" + +#pragma once + +class FtbPackDownloader; +class MULTIMC_LOGIC_EXPORT FtbPackDownloader : public QObject { + + Q_OBJECT + +private: + QMap<QString, FtbModpack> fetchedPacks; + bool fetching = false; + bool done = false; + + FtbModpack selected; + QString selectedVersion; + QString downloadPath; + + FtbPackFetchTask *fetchTask = 0; + NetJobPtr netJobContainer; + + void _downloadSucceeded(); + void _downloadFailed(QString reason); + void _downloadProgress(qint64 current, qint64 total); + +private slots: + void fetchSuccess(FtbModpackList modlist); + void fetchFailed(QString reason); + +public: + FtbPackDownloader(); + ~FtbPackDownloader(); + + bool isValidPackSelected(); + void selectPack(FtbModpack modpack, QString version); + + FtbModpack getSelectedPack(); + + void fetchModpacks(bool force); + void downloadSelected(MetaEntryPtr cache); + + QString getSuggestedInstanceName(); + + FtbModpackList getModpacks(); + NetJobPtr getNetJob(); + +signals: + void ready(); + void packFetchFailed(); + + void downloadSucceded(QString archivePath); + void downloadFailed(QString reason); + void downloadProgress(qint64 current, qint64 total); + +}; |