aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/flame/FlameInstanceCreationTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/modplatform/flame/FlameInstanceCreationTask.h')
-rw-r--r--launcher/modplatform/flame/FlameInstanceCreationTask.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/launcher/modplatform/flame/FlameInstanceCreationTask.h b/launcher/modplatform/flame/FlameInstanceCreationTask.h
new file mode 100644
index 00000000..efb099d9
--- /dev/null
+++ b/launcher/modplatform/flame/FlameInstanceCreationTask.h
@@ -0,0 +1,32 @@
+#pragma once
+
+#include "InstanceCreationTask.h"
+
+#include "modplatform/flame/FileResolvingTask.h"
+
+#include "net/NetJob.h"
+
+class FlameCreationTask final : public InstanceCreationTask {
+ Q_OBJECT
+
+ public:
+ FlameCreationTask(QString staging_path, SettingsObjectPtr global_settings, QWidget* parent)
+ : InstanceCreationTask(), m_parent(parent)
+ {
+ setStagingPath(staging_path);
+ setParentSettings(global_settings);
+ }
+
+ bool abort() override;
+
+ bool createInstance() override;
+
+ private slots:
+ void idResolverSucceeded(QEventLoop&);
+
+ private:
+ QWidget* m_parent = nullptr;
+
+ shared_qobject_ptr<Flame::FileResolvingTask> m_mod_id_resolver;
+ NetJob::Ptr m_files_job;
+};