1#ifndef BALL_PLUGIN_PLUGINMANAGER_H
2#define BALL_PLUGIN_PLUGINMANAGER_H
4#ifndef BALL_COMMON_GLOBAL_H
8#ifndef BALL_DATATYPE_STRING_H
12#include <QtCore/QString>
13#include <QtCore/QStringList>
14#include <QtCore/QHash>
15#include <QtCore/QMutex>
16#include <QtCore/QReadWriteLock>
18#include <boost/shared_ptr.hpp>
bool unregisterHandler(PluginHandler *h)
std::list< boost::shared_ptr< PluginHandler > > shared_handlers_
void autoActivatePlugin(const QString &str)
static const char * BETWEEN_PLUGINDIR_SEPERATOR
QStringList autoactivate_plugins_
virtual QString getAutoActivatePlugins() const
QReadWriteLock loader_mutex_
static PluginManager & instance()
PluginDirMap loaded_plugin_dirs_
std::vector< QString > getPluginDirectories() const
void registerHandler(PluginHandler *h)
virtual bool getPluginDirectories(String &value) const
bool unloadDirectoryPlugins_(PluginDirMap::iterator it)
int getPluginCount() const
QReadWriteLock handler_mutex_
QObject * getPluginInstance(const QString &plugin)
bool stopPlugin(const QString &plugin)
bool removePluginDirectory(const QString &dir)
bool unloadPlugin(const QString &plugin)
static boost::shared_ptr< PluginManager > manager_
bool startPlugin(int plugin)
bool startPlugin(const QString &plugin)
void registerHandler(const boost::shared_ptr< PluginHandler > &h)
BALLPlugin * loadPlugin(const QString &plugin_name)
std::map< QString, vector< BALLPlugin * > > PluginDirMap
bool addPluginDirectory(const QString &dir)
QHash< QString, QPluginLoader * > loaders_
bool stopPlugin(int plugin)
PluginManager & operator=(const PluginManager &)
QObject * getPluginInstance(int pos)
bool stopPlugin(BALLPlugin *plugin)
virtual bool setPluginDirectories(const String &)
void doNotAutoActivatePlugin(const QString &str)
virtual bool setAutoActivatePlugins(const QString &)
std::list< PluginHandler * > handlers_
PluginManager(const PluginManager &)
bool startPlugin(BALLPlugin *plugin)