ParaView
Public Member Functions | Static Public Member Functions | Protected Member Functions
vtkPVPluginTracker Class Reference

a global manager for each processes to keep track of plugins loaded on that process. More...

#include <vtkPVPluginTracker.h>

Inheritance diagram for vtkPVPluginTracker:
Inheritance graph
[legend]
Collaboration diagram for vtkPVPluginTracker:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
unsigned int RegisterAvailablePlugin (const char *filename)
unsigned int GetNumberOfPlugins ()
void RegisterPlugin (vtkPVPlugin *)
void LoadPluginConfigurationXML (const char *filename)
void LoadPluginConfigurationXML (vtkPVXMLElement *)
void LoadPluginConfigurationXMLFromString (const char *xmlcontents)
vtkPVPluginGetPlugin (unsigned int index)
const char * GetPluginName (unsigned int index)
const char * GetPluginFileName (unsigned int index)
bool GetPluginLoaded (unsigned int index)
bool GetPluginAutoLoad (unsigned int index)

Static Public Member Functions

static vtkPVPluginTrackerNew ()
static int IsTypeOf (const char *type)
static vtkPVPluginTrackerSafeDownCast (vtkObject *o)
static vtkPVPluginTrackerGetInstance ()

Protected Member Functions

 vtkPVPluginTracker ()
 ~vtkPVPluginTracker ()

Detailed Description

a global manager for each processes to keep track of plugins loaded on that process.

vtkPVPluginTracker is a singleton that's present on each process to keep track of plugins loaded on that process. Whenever is plugin is loaded (either statically using PV_PLUGIN_IMPORT() or dynamically, it gets registered with the on every process that it is loaded. Whenever a plugin is registered, this class fires a vtkCommand::RegisterEvent that handlers can listen to, to process the plugin.

Definition at line 36 of file vtkPVPluginTracker.h.


Constructor & Destructor Documentation

vtkPVPluginTracker::vtkPVPluginTracker ( ) [protected]
vtkPVPluginTracker::~vtkPVPluginTracker ( ) [protected]

Member Function Documentation

static vtkPVPluginTracker* vtkPVPluginTracker::New ( ) [static]

Reimplemented from vtkObject.

virtual const char* vtkPVPluginTracker::GetClassName ( ) [virtual]

Reimplemented from vtkObject.

static int vtkPVPluginTracker::IsTypeOf ( const char *  type) [static]

Reimplemented from vtkObject.

virtual int vtkPVPluginTracker::IsA ( const char *  type) [virtual]

Reimplemented from vtkObject.

static vtkPVPluginTracker* vtkPVPluginTracker::SafeDownCast ( vtkObject o) [static]

Reimplemented from vtkObject.

void vtkPVPluginTracker::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Reimplemented from vtkObject.

static vtkPVPluginTracker* vtkPVPluginTracker::GetInstance ( ) [static]

Provides access to the singleton. This will create the vtkPVPluginTracker singleton the first time this method is called.

void vtkPVPluginTracker::RegisterPlugin ( vtkPVPlugin )

Called by vtkPVPluginLoader after a plugin is loaded on the process. This registers the plugin instance with the manager. It fires an event (vtkCommand::RegisterEvent) signalling that a plugin was loaded. Handlers that the process the plugin by detecting the interfaces implemented by the plugin and the processing those on a case-by-case basis. Note there's no call to unregister a plugin. Once a plugin has been loaded, it cannot be unloaded for the lifetime of the process.

unsigned int vtkPVPluginTracker::RegisterAvailablePlugin ( const char *  filename)

This API is used to register available plugins without actually loading them.

void vtkPVPluginTracker::LoadPluginConfigurationXML ( const char *  filename)

Called to load application-specific configuration xml. The xml is of the form:

 <Plugins> <Plugin name="[plugin name]"
      auto_load="[bool]" /> ... </Plugins> 

This method will process the XML, locate the plugin shared library and either load the plugin or call RegisterAvailablePlugin based on the status of the auto_load flag.

void vtkPVPluginTracker::LoadPluginConfigurationXML ( vtkPVXMLElement )

Called to load application-specific configuration xml. The xml is of the form:

 <Plugins> <Plugin name="[plugin name]"
      auto_load="[bool]" /> ... </Plugins> 

This method will process the XML, locate the plugin shared library and either load the plugin or call RegisterAvailablePlugin based on the status of the auto_load flag.

void vtkPVPluginTracker::LoadPluginConfigurationXMLFromString ( const char *  xmlcontents)

Called to load application-specific configuration xml. The xml is of the form:

 <Plugins> <Plugin name="[plugin name]"
      auto_load="[bool]" /> ... </Plugins> 

This method will process the XML, locate the plugin shared library and either load the plugin or call RegisterAvailablePlugin based on the status of the auto_load flag.

unsigned int vtkPVPluginTracker::GetNumberOfPlugins ( )

Methods to iterate over registered plugins.

vtkPVPlugin* vtkPVPluginTracker::GetPlugin ( unsigned int  index)

Returns the plugin instance. This is non-null only for loaded plugins. If a plugin was merely registered as a "available" plugin, then one can only use the methods to query some primitive information about that plugin.

const char* vtkPVPluginTracker::GetPluginName ( unsigned int  index)

This is provided for wrapped languages since they can't directly access the vtkPVPlugin instance.

const char* vtkPVPluginTracker::GetPluginFileName ( unsigned int  index)

This is provided for wrapped languages since they can't directly access the vtkPVPlugin instance.

bool vtkPVPluginTracker::GetPluginLoaded ( unsigned int  index)

This is provided for wrapped languages since they can't directly access the vtkPVPlugin instance.

bool vtkPVPluginTracker::GetPluginAutoLoad ( unsigned int  index)

This is provided for wrapped languages since they can't directly access the vtkPVPlugin instance.


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