NOISSUE asynchronous, parallel mod folder listing and mod resolving

This commit is contained in:
Petr Mrázek
2019-08-04 03:27:53 +02:00
parent 7d13e31198
commit a3ffa3d665
21 changed files with 824 additions and 546 deletions

View File

@ -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;
};