diff options
Diffstat (limited to 'launcher/modplatform/modpacksch/FTBPackInstallTask.h')
-rw-r--r-- | launcher/modplatform/modpacksch/FTBPackInstallTask.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/launcher/modplatform/modpacksch/FTBPackInstallTask.h b/launcher/modplatform/modpacksch/FTBPackInstallTask.h new file mode 100644 index 00000000..fdd84c4e --- /dev/null +++ b/launcher/modplatform/modpacksch/FTBPackInstallTask.h @@ -0,0 +1,46 @@ +#pragma once + +#include "FTBPackManifest.h" + +#include "InstanceTask.h" +#include "net/NetJob.h" + +namespace ModpacksCH { + +class PackInstallTask : public InstanceTask +{ + Q_OBJECT + +public: + explicit PackInstallTask(Modpack pack, QString version); + virtual ~PackInstallTask(){} + + bool canAbort() const override { return true; } + bool abort() override; + +protected: + virtual void executeTask() override; + +private slots: + void onDownloadSucceeded(); + void onDownloadFailed(QString reason); + +private: + void downloadPack(); + void install(); + +private: + bool abortable = false; + + NetJobPtr jobPtr; + QByteArray response; + + Modpack m_pack; + QString m_version_name; + Version m_version; + + QMap<QString, QString> filesToCopy; + +}; + +} |