summaryrefslogtreecommitdiffstats
path: root/libmultimc/include/instanceloader.h
diff options
context:
space:
mode:
Diffstat (limited to 'libmultimc/include/instanceloader.h')
-rw-r--r--libmultimc/include/instanceloader.h66
1 files changed, 6 insertions, 60 deletions
diff --git a/libmultimc/include/instanceloader.h b/libmultimc/include/instanceloader.h
index 3326d7d0..fd6d04d6 100644
--- a/libmultimc/include/instanceloader.h
+++ b/libmultimc/include/instanceloader.h
@@ -22,15 +22,10 @@
#include "libmmc_config.h"
-class InstanceTypeInterface;
class Instance;
-typedef QList<const InstanceTypeInterface *> InstTypeList;
-
/*!
- * \brief The InstanceLoader is a singleton that manages all of the instance types and handles loading and creating instances.
- * Instance types are registered with the instance loader through its registerInstType() function.
- * Creating instances is done through the InstanceLoader's createInstance() function. This function takes
+ * The InstanceLoader is a singleton that manages loading and creating instances.
*/
class LIBMULTIMC_EXPORT InstanceLoader : public QObject
{
@@ -46,94 +41,45 @@ public:
*
* - NoError indicates that no error occurred.
* - OtherError indicates that an unspecified error occurred.
- * - TypeIDExists is returned by registerInstanceType() if the ID of the type being registered already exists.
- * - TypeNotRegistered is returned by createInstance() and loadInstance() when the given type is not registered.
* - InstExists is returned by createInstance() if the given instance directory is already an instance.
* - NotAnInstance is returned by loadInstance() if the given instance directory is not a valid instance.
- * - WrongInstType is returned by loadInstance() if the given instance directory's type doesn't match the given type.
* - CantCreateDir is returned by createInstance( if the given instance directory can't be created.)
*/
- enum InstTypeError
+ enum InstLoaderError
{
NoError = 0,
OtherError,
- TypeIDExists,
-
- TypeNotRegistered,
InstExists,
NotAnInstance,
- WrongInstType,
CantCreateDir
};
/*!
- * \brief Registers the given InstanceType with the instance loader.
- *
- * \param type The InstanceType to register.
- * \return An InstTypeError error code.
- * - TypeIDExists if the given type's is already registered to another instance type.
- */
- InstTypeError registerInstanceType(InstanceTypeInterface *type);
-
- /*!
* \brief Creates an instance with the given type and stores it in inst.
*
* \param inst Pointer to store the created instance in.
* \param type The type of instance to create.
* \param instDir The instance's directory.
- * \return An InstTypeError error code.
- * - TypeNotRegistered if the given type is not registered with the InstanceLoader.
+ * \return An InstLoaderError error code.
* - InstExists if the given instance directory is already an instance.
* - CantCreateDir if the given instance directory cannot be created.
*/
- InstTypeError createInstance(Instance *&inst, const InstanceTypeInterface *type, const QString &instDir);
-
- /*!
- * \brief Loads an instance from the given directory.
- *
- * \param inst Pointer to store the loaded instance in.
- * \param type The type of instance to load.
- * \param instDir The instance's directory.
- * \return An InstTypeError error code.
- * - TypeNotRegistered if the given type is not registered with the InstanceLoader.
- * - NotAnInstance if the given instance directory isn't a valid instance.
- * - WrongInstType if the given instance directory's type isn't the same as the given type.
- */
- InstTypeError loadInstance(Instance *&inst, const InstanceTypeInterface *type, const QString &instDir);
+ InstLoaderError createInstance(Instance *&inst, const QString &instDir);
/*!
* \brief Loads an instance from the given directory.
* Checks the instance's INI file to figure out what the instance's type is first.
* \param inst Pointer to store the loaded instance in.
* \param instDir The instance's directory.
- * \return An InstTypeError error code.
- * - TypeNotRegistered if the instance's type is not registered with the InstanceLoader.
+ * \return An InstLoaderError error code.
* - NotAnInstance if the given instance directory isn't a valid instance.
*/
- InstTypeError loadInstance(Instance *&inst, const QString &instDir);
-
- /*!
- * \brief Finds an instance type with the given ID.
- * If one cannot be found, returns NULL.
- *
- * \param id The ID of the type to find.
- * \return The type with the given ID. NULL if none were found.
- */
- const InstanceTypeInterface *findType(const QString &id);
-
- /*!
- * \brief Gets a list of the registered instance types.
- *
- * \return A list of instance types.
- */
- InstTypeList typeList();
+ InstLoaderError loadInstance(Instance *&inst, const QString &instDir);
private:
InstanceLoader();
- QMap<QString, InstanceTypeInterface *> m_typeMap;
-
static InstanceLoader loader;
};