diff options
author | flow <thiagodonato300@gmail.com> | 2022-04-15 20:35:17 -0300 |
---|---|---|
committer | flow <flowlnlnln@gmail.com> | 2022-05-23 14:42:27 -0300 |
commit | 5a34e8fd7c913bc138e1606baf9df2cd1a64baed (patch) | |
tree | 58fd00b20d6ee407a47067b16f3c5088825dd1a9 /launcher/minecraft/mod/tasks/LocalModParseTask.h | |
parent | fcfb2cfc3da9a8f897063db05fdf3aebc41a59ae (diff) | |
download | PrismLauncher-5a34e8fd7c913bc138e1606baf9df2cd1a64baed.tar.gz PrismLauncher-5a34e8fd7c913bc138e1606baf9df2cd1a64baed.tar.bz2 PrismLauncher-5a34e8fd7c913bc138e1606baf9df2cd1a64baed.zip |
refactor: move mod tasks to their own subfolder
Makes the launcher/minecraft/mod/ folder a little more organized.
Diffstat (limited to 'launcher/minecraft/mod/tasks/LocalModParseTask.h')
-rw-r--r-- | launcher/minecraft/mod/tasks/LocalModParseTask.h | 39 |
1 files changed, 39 insertions, 0 deletions
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 <QDebug> +#include <QObject> +#include <QRunnable> + +#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<ModDetails> details; + }; + using ResultPtr = std::shared_ptr<Result>; + 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; +}; |