From 5a34e8fd7c913bc138e1606baf9df2cd1a64baed Mon Sep 17 00:00:00 2001 From: flow Date: Fri, 15 Apr 2022 20:35:17 -0300 Subject: refactor: move mod tasks to their own subfolder Makes the launcher/minecraft/mod/ folder a little more organized. --- launcher/minecraft/mod/tasks/LocalModParseTask.h | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 launcher/minecraft/mod/tasks/LocalModParseTask.h (limited to 'launcher/minecraft/mod/tasks/LocalModParseTask.h') diff --git a/launcher/minecraft/mod/tasks/LocalModParseTask.h b/launcher/minecraft/mod/tasks/LocalModParseTask.h new file mode 100644 index 00000000..ed92394c --- /dev/null +++ b/launcher/minecraft/mod/tasks/LocalModParseTask.h @@ -0,0 +1,39 @@ +#pragma once + +#include +#include +#include + +#include "minecraft/mod/Mod.h" +#include "minecraft/mod/ModDetails.h" + +class LocalModParseTask : public QObject, public QRunnable +{ + Q_OBJECT +public: + struct Result { + QString id; + std::shared_ptr details; + }; + using ResultPtr = std::shared_ptr; + ResultPtr result() const { + return m_result; + } + + LocalModParseTask(int token, Mod::ModType type, const QFileInfo & modFile); + void run(); + +signals: + void finished(int token); + +private: + void processAsZip(); + void processAsFolder(); + void processAsLitemod(); + +private: + int m_token; + Mod::ModType m_type; + QFileInfo m_modFile; + ResultPtr m_result; +}; -- cgit