diff options
author | Andrew <forkk@forkk.net> | 2013-05-03 14:41:37 -0500 |
---|---|---|
committer | Andrew <forkk@forkk.net> | 2013-05-03 14:41:37 -0500 |
commit | 055198303c7bf15f456687838c37650871596946 (patch) | |
tree | 6c745d0d4cf3f9da25f6552138a07870544dd642 /libmultimc/include/instanceloader.h | |
parent | 1626fa013c86dc9f30254f57b3518211f6d0c65a (diff) | |
download | MultiMC-055198303c7bf15f456687838c37650871596946.tar MultiMC-055198303c7bf15f456687838c37650871596946.tar.gz MultiMC-055198303c7bf15f456687838c37650871596946.tar.lz MultiMC-055198303c7bf15f456687838c37650871596946.tar.xz MultiMC-055198303c7bf15f456687838c37650871596946.zip |
Removed old plugin system and implemented some version list stuff.
Diffstat (limited to 'libmultimc/include/instanceloader.h')
-rw-r--r-- | libmultimc/include/instanceloader.h | 66 |
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; }; |