diff options
author | Andrew <forkk@forkk.net> | 2013-02-26 16:47:39 -0600 |
---|---|---|
committer | Andrew <forkk@forkk.net> | 2013-02-26 16:47:39 -0600 |
commit | 36396f7c6aca9fcc61c8620e10c31ed2c8999ebd (patch) | |
tree | b5ef84aa020df1018821d66afe69ef6a53aadece /libinstance/src | |
parent | bd64cda6726e088ebc860c3fc3ee220ed00121bd (diff) | |
download | PrismLauncher-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar.gz PrismLauncher-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar.bz2 PrismLauncher-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.zip |
Massive re-organization.
Diffstat (limited to 'libinstance/src')
-rw-r--r-- | libinstance/src/instance.cpp | 131 | ||||
-rw-r--r-- | libinstance/src/instancelist.cpp | 87 | ||||
-rw-r--r-- | libinstance/src/instanceloader.cpp | 109 | ||||
-rw-r--r-- | libinstance/src/instversion.cpp | 32 | ||||
-rw-r--r-- | libinstance/src/instversionlist.cpp | 21 |
5 files changed, 0 insertions, 380 deletions
diff --git a/libinstance/src/instance.cpp b/libinstance/src/instance.cpp deleted file mode 100644 index 377acd32..00000000 --- a/libinstance/src/instance.cpp +++ /dev/null @@ -1,131 +0,0 @@ -/* Copyright 2013 MultiMC Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "include/instance.h" - -#include <QFileInfo> - -#include "inisettingsobject.h" -#include "setting.h" -#include "overridesetting.h" - -#include "pathutils.h" - -Instance::Instance(const QString &rootDir, QObject *parent) : - QObject(parent) -{ - m_rootDir = rootDir; - m_settings = new INISettingsObject(PathCombine(rootDir, "instance.cfg"), this); - - settings().registerSetting(new Setting("name", "Unnamed Instance")); - settings().registerSetting(new Setting("iconKey", "default")); - settings().registerSetting(new Setting("notes", "")); - settings().registerSetting(new Setting("NeedsRebuild", true)); - settings().registerSetting(new Setting("JarVersion", "Unknown")); - settings().registerSetting(new Setting("LwjglVersion", "Mojang")); - settings().registerSetting(new Setting("IntendedJarVersion", "")); - settings().registerSetting(new Setting("lastLaunchTime", 0)); - - // Java Settings - settings().registerSetting(new OverrideSetting("JavaPath", globalSettings->getSetting("JavaPath"))); - settings().registerSetting(new OverrideSetting("JvmArgs", globalSettings->getSetting("JvmArgs"))); - - // Custom Commands - settings().registerSetting(new OverrideSetting("PreLaunchCommand", - globalSettings->getSetting("PreLaunchCommand"))); - settings().registerSetting(new OverrideSetting("PostExitCommand", - globalSettings->getSetting("PostExitCommand"))); - - // Memory - settings().registerSetting(new OverrideSetting("MinMemAlloc", globalSettings->getSetting("MinMemAlloc"))); - settings().registerSetting(new OverrideSetting("MaxMemAlloc", globalSettings->getSetting("MaxMemAlloc"))); - - // Auto login - settings().registerSetting(new OverrideSetting("AutoLogin", globalSettings->getSetting("AutoLogin"))); -} - -QString Instance::id() const -{ - return QFileInfo(rootDir()).fileName(); -} - -QString Instance::rootDir() const -{ - return m_rootDir; -} - -InstanceList *Instance::instList() const -{ - if (parent()->inherits("InstanceList")) - return (InstanceList *)parent(); - else - return NULL; -} - -QString Instance::minecraftDir() const -{ - QFileInfo mcDir(PathCombine(rootDir(), "minecraft")); - QFileInfo dotMCDir(PathCombine(rootDir(), ".minecraft")); - - if (dotMCDir.exists() && !mcDir.exists()) - return dotMCDir.filePath(); - else - return mcDir.filePath(); -} - -QString Instance::binDir() const -{ - return PathCombine(minecraftDir(), "bin"); -} - -QString Instance::savesDir() const -{ - return PathCombine(minecraftDir(), "saves"); -} - -QString Instance::mlModsDir() const -{ - return PathCombine(minecraftDir(), "mods"); -} - -QString Instance::coreModsDir() const -{ - return PathCombine(minecraftDir(), "coremods"); -} - -QString Instance::resourceDir() const -{ - return PathCombine(minecraftDir(), "resources"); -} - -QString Instance::screenshotsDir() const -{ - return PathCombine(minecraftDir(), "screenshots"); -} - -QString Instance::texturePacksDir() const -{ - return PathCombine(minecraftDir(), "texturepacks"); -} - -QString Instance::mcJar() const -{ - return PathCombine(binDir(), "minecraft.jar"); -} - -SettingsObject &Instance::settings() const -{ - return *m_settings; -} diff --git a/libinstance/src/instancelist.cpp b/libinstance/src/instancelist.cpp deleted file mode 100644 index 3b0b668f..00000000 --- a/libinstance/src/instancelist.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright 2013 MultiMC Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "include/instancelist.h" - -#include "siglist_impl.h" - -#include <QDir> -#include <QFile> -#include <QDirIterator> - -#include "include/instance.h" -#include "include/instanceloader.h" - -#include "pathutils.h" - - -InstanceList::InstanceList(const QString &instDir, QObject *parent) : - QObject(parent), m_instDir(instDir) -{ - -} - -InstanceList::InstListError InstanceList::loadList() -{ - QDir dir(m_instDir); - QDirIterator iter(dir); - - while (iter.hasNext()) - { - QString subDir = iter.next(); - if (QFileInfo(PathCombine(subDir, "instance.cfg")).exists()) - { - Instance *instPtr = NULL; - - InstanceLoader::InstTypeError error = InstanceLoader::get(). - loadInstance(instPtr, subDir); - - if (error != InstanceLoader::NoError && - error != InstanceLoader::NotAnInstance) - { - QString errorMsg = QString("Failed to load instance %1: "). - arg(QFileInfo(subDir).baseName()).toUtf8(); - - switch (error) - { - case InstanceLoader::TypeNotRegistered: - errorMsg += "Instance type not found."; - break; - - default: - errorMsg += QString("Unknown instance loader error %1"). - arg(error); - break; - } - qDebug(errorMsg.toUtf8()); - } - else if (!instPtr) - { - qDebug(QString("Error loading instance %1. Instance loader returned null."). - arg(QFileInfo(subDir).baseName()).toUtf8()); - } - else - { - QSharedPointer<Instance> inst(instPtr); - - qDebug(QString("Loaded instance %1").arg(inst->name()).toUtf8()); - inst->setParent(this); - append(QSharedPointer<Instance>(inst)); - } - } - } - - return NoError; -} diff --git a/libinstance/src/instanceloader.cpp b/libinstance/src/instanceloader.cpp deleted file mode 100644 index 9d98230f..00000000 --- a/libinstance/src/instanceloader.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright 2013 MultiMC Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "include/instanceloader.h" - -#include <QFileInfo> - -#include "include/instancetypeinterface.h" - -#include "inifile.h" - -#include "pathutils.h" - -InstanceLoader InstanceLoader::loader; - -InstanceLoader::InstanceLoader() : - QObject(NULL) -{ - -} - - -InstanceLoader::InstTypeError InstanceLoader::registerInstanceType(InstanceTypeInterface *type) -{ - // Check to see if the type ID exists. - if (m_typeMap.contains(type->typeID())) - return TypeIDExists; - - // Set the parent to this. - // ((QObject *)type)->setParent(this); - - // Add it to the map. - m_typeMap.insert(type->typeID(), type); - - qDebug(QString("Registered instance type %1."). - arg(type->typeID()).toUtf8()); - return NoError; -} - -InstanceLoader::InstTypeError InstanceLoader::createInstance(Instance *&inst, - const InstanceTypeInterface *type, - const QString &instDir) -{ - // Check if the type is registered. - if (!type || findType(type->typeID()) != type) - return TypeNotRegistered; - - // Create the instance. - return type->createInstance(inst, instDir); -} - -InstanceLoader::InstTypeError InstanceLoader::loadInstance(Instance *&inst, - const InstanceTypeInterface *type, - const QString &instDir) -{ - // Check if the type is registered. - if (!type || findType(type->typeID()) != type) - return TypeNotRegistered; - - 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", "net.forkk.MultiMC.StdInstance").toString(); - const InstanceTypeInterface *type = findType(typeName); - - return loadInstance(inst, type, instDir); -} - -const InstanceTypeInterface *InstanceLoader::findType(const QString &id) -{ - if (!m_typeMap.contains(id)) - return NULL; - else - return m_typeMap[id]; -} - -InstTypeList InstanceLoader::typeList() -{ - InstTypeList typeList; - - for (QMap<QString, InstanceTypeInterface *>::iterator iter = m_typeMap.begin(); iter != m_typeMap.end(); iter++) - { - typeList.append(*iter); - } - - return typeList; -} diff --git a/libinstance/src/instversion.cpp b/libinstance/src/instversion.cpp deleted file mode 100644 index cedb61df..00000000 --- a/libinstance/src/instversion.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2013 MultiMC Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "include/instversion.h" -#include "include/instversionlist.h" - -InstVersion::InstVersion(InstVersionList *parent) : - QObject(parent) -{ - -} - -InstVersionList *InstVersion::versionList() const -{ - // Parent should *always* be an InstVersionList - if (!parent() || !parent()->inherits("InstVersionList")) - return NULL; - else - return (InstVersionList *)parent(); -} diff --git a/libinstance/src/instversionlist.cpp b/libinstance/src/instversionlist.cpp deleted file mode 100644 index e171cfa5..00000000 --- a/libinstance/src/instversionlist.cpp +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2013 MultiMC Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "include/instversionlist.h" - -InstVersionList::InstVersionList() : - QObject(NULL) -{ -} |