diff options
author | Janrupf <werbung.janrupf@t-online.de> | 2018-02-28 19:42:30 +0100 |
---|---|---|
committer | Janrupf <werbung.janrupf@t-online.de> | 2018-02-28 19:43:56 +0100 |
commit | ab3fe74c97158fd0f979c15a0d1b0f7eb9976e7d (patch) | |
tree | f37e1c28160f882dd8f224788a985370832d6814 /api/logic/modplatform/FtbPackDownloader.h | |
parent | 1a43f2829743cb88ace3f650d3e060725990c1f1 (diff) | |
download | MultiMC-ab3fe74c97158fd0f979c15a0d1b0f7eb9976e7d.tar MultiMC-ab3fe74c97158fd0f979c15a0d1b0f7eb9976e7d.tar.gz MultiMC-ab3fe74c97158fd0f979c15a0d1b0f7eb9976e7d.tar.lz MultiMC-ab3fe74c97158fd0f979c15a0d1b0f7eb9976e7d.tar.xz MultiMC-ab3fe74c97158fd0f979c15a0d1b0f7eb9976e7d.zip |
Added FTB pack selection ad download, WIP
Diffstat (limited to 'api/logic/modplatform/FtbPackDownloader.h')
-rw-r--r-- | api/logic/modplatform/FtbPackDownloader.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/api/logic/modplatform/FtbPackDownloader.h b/api/logic/modplatform/FtbPackDownloader.h new file mode 100644 index 00000000..45490afc --- /dev/null +++ b/api/logic/modplatform/FtbPackDownloader.h @@ -0,0 +1,63 @@ +#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; + bool done; + + 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(); + +signals: + void ready(); + void packFetchFailed(); + + void downloadSucceded(QString archivePath); + void downloadFailed(QString reason); + void downloadProgress(qint64 current, qint64 total); + +}; |