summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/onesix/OneSixUpdate.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/minecraft/onesix/OneSixUpdate.h')
-rw-r--r--api/logic/minecraft/onesix/OneSixUpdate.h36
1 files changed, 11 insertions, 25 deletions
diff --git a/api/logic/minecraft/onesix/OneSixUpdate.h b/api/logic/minecraft/onesix/OneSixUpdate.h
index b5195364..3780ef2e 100644
--- a/api/logic/minecraft/onesix/OneSixUpdate.h
+++ b/api/logic/minecraft/onesix/OneSixUpdate.h
@@ -32,36 +32,22 @@ class OneSixUpdate : public Task
Q_OBJECT
public:
explicit OneSixUpdate(OneSixInstance *inst, QObject *parent = 0);
- virtual void executeTask();
+ void executeTask() override;
+ bool canAbort() const override;
private
slots:
- void versionUpdateFailed(QString reason);
-
- void jarlibStart();
- void jarlibFinished();
- void jarlibFailed(QString reason);
-
- void fmllibsStart();
- void fmllibsFinished();
- void fmllibsFailed(QString reason);
-
- void assetIndexStart();
- void assetIndexFinished();
- void assetIndexFailed(QString reason);
-
- void assetsFinished();
- void assetsFailed(QString reason);
+ bool abort() override;
+ void subtaskSucceeded();
+ void subtaskFailed(QString error);
private:
- NetJobPtr jarlibDownloadJob;
- NetJobPtr legacyDownloadJob;
-
- /// target version, determined during this task
- std::shared_ptr<MinecraftVersion> targetVersion;
- /// the task that is spawned for version updates
- std::shared_ptr<Task> versionUpdateTask;
+ void next();
+private:
OneSixInstance *m_inst = nullptr;
- QList<FMLlib> fmlLibsToProcess;
+ QList<std::shared_ptr<Task>> m_tasks;
+ QString m_preFailure;
+ int m_currentTask = -1;
+ bool m_abort = false;
};