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 /data/plugin/pluginmanager.h | |
parent | bd64cda6726e088ebc860c3fc3ee220ed00121bd (diff) | |
download | MultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar MultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar.gz MultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar.lz MultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.tar.xz MultiMC-36396f7c6aca9fcc61c8620e10c31ed2c8999ebd.zip |
Massive re-organization.
Diffstat (limited to 'data/plugin/pluginmanager.h')
-rw-r--r-- | data/plugin/pluginmanager.h | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/data/plugin/pluginmanager.h b/data/plugin/pluginmanager.h deleted file mode 100644 index b93fd6d2..00000000 --- a/data/plugin/pluginmanager.h +++ /dev/null @@ -1,72 +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. - */ - -#ifndef PLUGINMANAGER_H -#define PLUGINMANAGER_H - -#include <QObject> -#include <QList> -#include <QPluginLoader> - -/*! - * \brief This class is a singleton that manages loading plugins. - */ -class PluginManager : public QObject -{ - Q_OBJECT -public: - /*! - * \brief Gets the plugin manager instance. - */ - static PluginManager &get() { return manager; } - - /*! - * \brief Loads plugins from the given directory. - * This function does \e not initialize the plugins. It simply loads their - * classes. Use the init functions to initialize the various plugin types. - * \param The directory to load plugins from. - * \return True if successful. False on failure. - */ - bool loadPlugins(QString pluginDir); - - /*! - * \brief Checks how many plugins are loaded. - * \return The number of plugins. - */ - int count() { return m_plugins.count(); } - - /*! - * \brief Gets the plugin at the given index. - * \param index The index of the plugin to get. - * \return The plugin at the given index. - */ - QPluginLoader *getPlugin(int index); - - /*! - * \brief Initializes and registers all the instance types. - * This is done by going through the plugin list and registering all of the - * plugins that derive from the InstanceTypeInterface with the InstanceLoader. - */ - void initInstanceTypes(); - -private: - PluginManager(); - - QList<QPluginLoader *> m_plugins; - - static PluginManager manager; -}; - -#endif // PLUGINMANAGER_H |