diff options
author | Petr Mrázek <peterix@gmail.com> | 2019-08-04 03:27:53 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2019-08-04 03:27:53 +0200 |
commit | a3ffa3d6659e00e0762017cf64911db0183a250c (patch) | |
tree | 565b2d69b1d8d7e711682801410ff8a234e3931d /api/logic/minecraft/mod/ModFolderLoadTask.h | |
parent | 7d13e3119801862b9fdf64b11a45c41a64b4fc46 (diff) | |
download | MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.tar MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.tar.gz MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.tar.lz MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.tar.xz MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.zip |
NOISSUE asynchronous, parallel mod folder listing and mod resolving
Diffstat (limited to 'api/logic/minecraft/mod/ModFolderLoadTask.h')
-rw-r--r-- | api/logic/minecraft/mod/ModFolderLoadTask.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/api/logic/minecraft/mod/ModFolderLoadTask.h b/api/logic/minecraft/mod/ModFolderLoadTask.h new file mode 100644 index 00000000..8d720e65 --- /dev/null +++ b/api/logic/minecraft/mod/ModFolderLoadTask.h @@ -0,0 +1,29 @@ +#pragma once +#include <QRunnable> +#include <QObject> +#include <QDir> +#include <QMap> +#include "Mod.h" +#include <memory> + +class ModFolderLoadTask : public QObject, public QRunnable +{ + Q_OBJECT +public: + struct Result { + QMap<QString, Mod> mods; + }; + using ResultPtr = std::shared_ptr<Result>; + ResultPtr result() const { + return m_result; + } + +public: + ModFolderLoadTask(QDir dir); + void run(); +signals: + void succeeded(); +private: + QDir m_dir; + ResultPtr m_result; +}; |