summaryrefslogtreecommitdiffstats
path: root/api/logic/modplatform/modpacksch/FTBPackInstallTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/modplatform/modpacksch/FTBPackInstallTask.h')
-rw-r--r--api/logic/modplatform/modpacksch/FTBPackInstallTask.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/api/logic/modplatform/modpacksch/FTBPackInstallTask.h b/api/logic/modplatform/modpacksch/FTBPackInstallTask.h
new file mode 100644
index 00000000..c5a80751
--- /dev/null
+++ b/api/logic/modplatform/modpacksch/FTBPackInstallTask.h
@@ -0,0 +1,41 @@
+#pragma once
+
+#include "FTBPackManifest.h"
+
+#include "InstanceTask.h"
+#include "multimc_logic_export.h"
+#include "net/NetJob.h"
+
+namespace ModpacksCH {
+
+class MULTIMC_LOGIC_EXPORT PackInstallTask : public InstanceTask
+{
+ Q_OBJECT
+
+public:
+ explicit PackInstallTask(Modpack pack, QString version);
+ virtual ~PackInstallTask(){}
+
+ bool abort() override;
+
+protected:
+ virtual void executeTask() override;
+
+private slots:
+ void onDownloadSucceeded();
+ void onDownloadFailed(QString reason);
+
+private:
+ void install();
+
+private:
+ NetJobPtr jobPtr;
+ QByteArray response;
+
+ Modpack m_pack;
+ QString m_version_name;
+ Version m_version;
+
+};
+
+}