Got instance loading working.

This commit is contained in:
Andrew
2013-02-20 19:45:00 -06:00
parent dd2e836b4c
commit f3b6eeeac4
6 changed files with 46 additions and 16 deletions

View File

@ -15,20 +15,44 @@
#include "stdinstancetype.h"
#include <QDir>
#include <QFileInfo>
#include "stdinstance.h"
StdInstanceType::StdInstanceType(QObject *parent) :
QObject(parent)
{
}
InstanceLoader::InstTypeError StdInstanceType::createInstance(Instance *inst,
InstanceLoader::InstTypeError StdInstanceType::createInstance(Instance *&inst,
const QString &instDir) const
{
QFileInfo rootDir(instDir);
if (!rootDir.exists() && !QDir().mkdir(rootDir.path()))
{
return InstanceLoader::CantCreateDir;
}
StdInstance *stdInst = new StdInstance(instDir);
// TODO: Verify that the instance is valid.
inst = stdInst;
return InstanceLoader::NoError;
}
InstanceLoader::InstTypeError StdInstanceType::loadInstance(Instance *inst,
InstanceLoader::InstTypeError StdInstanceType::loadInstance(Instance *&inst,
const QString &instDir) const
{
StdInstance *stdInst = new StdInstance(instDir);
// TODO: Verify that the instance is valid.
inst = stdInst;
return InstanceLoader::NoError;
}

View File

@ -34,9 +34,9 @@ public:
virtual QString description() const { return "A standard Minecraft instance."; }
virtual InstanceLoader::InstTypeError createInstance(Instance *inst, const QString &instDir) const;
virtual InstanceLoader::InstTypeError createInstance(Instance *&inst, const QString &instDir) const;
virtual InstanceLoader::InstTypeError loadInstance(Instance *inst, const QString &instDir) const;
virtual InstanceLoader::InstTypeError loadInstance(Instance *&inst, const QString &instDir) const;
};
#endif // STDINSTANCETYPE_H