#include <plugin.h>
Public Types | |
typedef std::map< const char *, CompPlugin *, cmpStr > | Map |
typedef std::list< CompPlugin * > | List |
Static Public Member Functions | |
static bool | screenInitPlugins (CompScreen *s) |
static void | screenFiniPlugins (CompScreen *s) |
static bool | windowInitPlugins (CompWindow *w) |
static void | windowFiniPlugins (CompWindow *w) |
static CompPlugin * | find (const char *name) |
Finds a plugin by name. | |
static CompPlugin * | load (const char *plugin) |
Load a compiz plugin. | |
static void | unload (CompPlugin *p) |
Unload a compiz plugin. | |
static bool | push (CompPlugin *p) |
Adds a plugin onto the working set of active plugins. | |
static CompPlugin * | pop (void) |
Removes the last activated plugin with CompPlugin::push() and returns the removed plugin, or NULL if there was none. | |
static List & | getPlugins () |
Gets a list of the working set of plugins that have been CompPlugin::push() but not CompPlugin::pop()'d. | |
static std::list< CompString > | availablePlugins () |
Gets a list of the names of all the known plugins, including plugins that may have already been loaded. | |
static int | getPluginABI (const char *name) |
Gets the Application Binary Interface (ABI) version of a (un)loaded plugin. | |
static bool | checkPluginABI (const char *name, int abi) |
Verifies a signature to ensure that the plugin conforms to the Application Binary Interface (ABI). | |
Public Attributes | |
CompString | devType |
VTable * | vTable |
Classes | |
struct | cmpStr |
Interface for matching plugins by name. More... | |
class | VTable |
class | VTableForScreen |
TODO (or not?). More... | |
class | VTableForScreenAndWindow |
TODO (or not?). More... |
All plugins must implement this interface, which provides basics for loading, unloading, options, and linking together the plugin and Screen(s).
static CompPlugin* CompPlugin::find | ( | const char * | name | ) | [static] |
Finds a plugin by name.
(TODO Does it have to be loaded?)
static CompPlugin* CompPlugin::load | ( | const char * | plugin | ) | [static] |
Load a compiz plugin.
Loading a plugin that has already been loaded will return the existing instance.
static void CompPlugin::unload | ( | CompPlugin * | p | ) | [static] |
Unload a compiz plugin.
Unloading a plugin multiple times has no effect, and you can't unload a plugin that hasn't been loaded already with CompPlugin::load()
static bool CompPlugin::push | ( | CompPlugin * | p | ) | [static] |
Adds a plugin onto the working set of active plugins.
If the plugin fails to initPlugin this will return false and the plugin will not be added to the working set.
static CompPlugin* CompPlugin::pop | ( | void | ) | [static] |
Removes the last activated plugin with CompPlugin::push() and returns the removed plugin, or NULL if there was none.
static List& CompPlugin::getPlugins | ( | ) | [static] |
Gets a list of the working set of plugins that have been CompPlugin::push() but not CompPlugin::pop()'d.
static std::list<CompString> CompPlugin::availablePlugins | ( | ) | [static] |
Gets a list of the names of all the known plugins, including plugins that may have already been loaded.
static int CompPlugin::getPluginABI | ( | const char * | name | ) | [static] |
Gets the Application Binary Interface (ABI) version of a (un)loaded plugin.
static bool CompPlugin::checkPluginABI | ( | const char * | name, | |
int | abi | |||
) | [static] |
Verifies a signature to ensure that the plugin conforms to the Application Binary Interface (ABI).