diff options
author | Andrew <forkk@forkk.net> | 2013-02-20 19:45:00 -0600 |
---|---|---|
committer | Andrew <forkk@forkk.net> | 2013-02-20 19:45:00 -0600 |
commit | f3b6eeeac4e1606a288c7f12fec271fbb7f120f6 (patch) | |
tree | 50885f4302d1df8386716df9423fcd3c529010ee /plugins/stdinstance/stdinstancetype.cpp | |
parent | dd2e836b4cf4cfa043f9ea2911f58f1d22d4e282 (diff) | |
download | MultiMC-f3b6eeeac4e1606a288c7f12fec271fbb7f120f6.tar MultiMC-f3b6eeeac4e1606a288c7f12fec271fbb7f120f6.tar.gz MultiMC-f3b6eeeac4e1606a288c7f12fec271fbb7f120f6.tar.lz MultiMC-f3b6eeeac4e1606a288c7f12fec271fbb7f120f6.tar.xz MultiMC-f3b6eeeac4e1606a288c7f12fec271fbb7f120f6.zip |
Got instance loading working.
Diffstat (limited to 'plugins/stdinstance/stdinstancetype.cpp')
-rw-r--r-- | plugins/stdinstance/stdinstancetype.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/plugins/stdinstance/stdinstancetype.cpp b/plugins/stdinstance/stdinstancetype.cpp index 9b7aa994..5a3a6649 100644 --- a/plugins/stdinstance/stdinstancetype.cpp +++ b/plugins/stdinstance/stdinstancetype.cpp @@ -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; } |