Implemented loadList() stuff.

This commit is contained in:
Andrew
2013-02-19 12:15:22 -06:00
parent 80cd8b33aa
commit 6e5017e48b
10 changed files with 145 additions and 654 deletions

View File

@@ -15,8 +15,16 @@
#include "instanceloader.h"
#include <QFileInfo>
#include "instancetype.h"
#include "data/inifile.h"
#include "util/pathutils.h"
InstanceLoader InstanceLoader::loader;
InstanceLoader::InstanceLoader() :
QObject(NULL)
{
@@ -61,6 +69,22 @@ InstanceLoader::InstTypeError InstanceLoader::loadInstance(Instance *inst,
return type->loadInstance(inst, instDir);
}
InstanceLoader::InstTypeError InstanceLoader::loadInstance(Instance *inst,
const QString &instDir)
{
QFileInfo instConfig(PathCombine(instDir, "instance.cfg"));
if (!instConfig.exists())
return NotAnInstance;
INIFile ini;
ini.loadFile(instConfig.path());
QString typeName = ini.get("type", "StdInstance").toString();
const InstanceType *type = findType(typeName);
return loadInstance(inst, type, instDir);
}
const InstanceType *InstanceLoader::findType(const QString &id)
{
if (!m_typeMap.contains(id))