#include <plugin.h>
Inheritance diagram for Yehia::PluginManager:
Public Member Functions | |
PluginManager (Ptr< ErrorHandler > parent=0) | |
~PluginManager () | |
const std::list< std::string > & | arch_indep_paths () |
const std::list< std::string > & | arch_dep_paths () |
void | register_plugin_loader (PluginLoader &loader) |
void | unregister_plugin_loader (PluginLoader &loader) |
Plugin * | load_plugin (const std::string &name) |
void | release_plugin (const std::string &name) |
void | set_error (const std::string &err=std::string()) |
const PluginNode & | plugins () const |
void | scan () |
void | plugin_found (const std::string &name) |
Static Public Member Functions | |
PluginManager & | instance () |
Public Attributes | |
SigC::Signal1< void, const std::string & > | plugin_loaded |
SigC::Signal1< void, const std::string & > | plugin_unloaded |
SigC::Signal1< void, const std::string & > | plugin_available |
SigC::Signal1< void, const std::string & > | plugin_unavailable |
The plugin manager is the central component of Yehia. It is responsible for loading plugins using plugin loaders, emitting signals when plugins are loaded and unloaded and for managing scripting languages.
|
Constructor.
|
|
Destructor.
|
|
Get architecture independant search paths.
|
|
Get architecture independant search paths.
|
|
Get
The
|
|
Load a plugin.
|
|
Indicate a found plugin. Called by the plugin loaders to tell about available plugins. |
|
Get tree of plugins.
|
|
Register a new plugin loader.
|
|
Relase a plugin. Free storage asocciated with the plugin.
|
|
Scan for plugins. This invokes PluginLoader::scan(this) for all registered plugin loaders, which in turn invoke PluginManager::plugin_found(name) for all plugins found. |
|
Set error.
This is invoked with an error message from plugin loaders when they fail. If all loaders registered fail, the last error message provided to
|
|
Unregister a plugin loader.
|
|
Emitted when a new plugin becomes available for loading.
|
|
Emitted when a plugin is loaded.
|
|
Emitted when a plugin becomes unavailable.
|
|
Emitted when a plugin is unloaded.
|