CompPlugin Class Reference

Base plug-in interface for Compiz. More...

#include <plugin.h>

List of all members.

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 CompPluginfind (const char *name)
 Finds a plugin by name.
static CompPluginload (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 CompPluginpop (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...


Detailed Description

Base plug-in interface for Compiz.

All plugins must implement this interface, which provides basics for loading, unloading, options, and linking together the plugin and Screen(s).


Member Function Documentation

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).


The documentation for this class was generated from the following file:

Generated on Wed Feb 2 22:44:14 2011 for Compiz by  doxygen 1.5.6