NOISSUE Granular instance reload
This commit is contained in:
45
api/logic/minecraft/ftb/FTBInstanceProvider.h
Normal file
45
api/logic/minecraft/ftb/FTBInstanceProvider.h
Normal file
@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
#include "BaseInstanceProvider.h"
|
||||
#include <QMap>
|
||||
|
||||
class QFileSystemWatcher;
|
||||
|
||||
struct MULTIMC_LOGIC_EXPORT FTBRecord
|
||||
{
|
||||
QString dirName;
|
||||
QString name;
|
||||
QString logo;
|
||||
QString iconKey;
|
||||
QString mcVersion;
|
||||
QString description;
|
||||
QString instanceDir;
|
||||
QString templateDir;
|
||||
bool operator==(const FTBRecord other) const
|
||||
{
|
||||
return instanceDir == other.instanceDir;
|
||||
}
|
||||
};
|
||||
|
||||
class MULTIMC_LOGIC_EXPORT FTBInstanceProvider : public BaseInstanceProvider
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
FTBInstanceProvider (SettingsObjectPtr settings);
|
||||
|
||||
public:
|
||||
QList<InstanceId> discoverInstances() override;
|
||||
InstancePtr loadInstance(const InstanceId& id) override;
|
||||
void loadGroupList() override {};
|
||||
void saveGroupList() override {};
|
||||
|
||||
private: /* methods */
|
||||
void discoverFTBEntries();
|
||||
InstancePtr createInstance(const FTBRecord & record) const;
|
||||
InstancePtr loadInstance(const FTBRecord & record) const;
|
||||
|
||||
|
||||
private:
|
||||
QMap<InstanceId, FTBRecord> m_records;
|
||||
};
|
Reference in New Issue
Block a user