diff options
Diffstat (limited to 'launcher/modplatform/flame/FlameInstanceCreationTask.h')
-rw-r--r-- | launcher/modplatform/flame/FlameInstanceCreationTask.h | 32 |
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; +}; |