PluginManager Class Reference

#include <PluginManager.h>

Inheritance diagram for PluginManager:

Inheritance graph
[legend]
Collaboration diagram for PluginManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PluginManager (const char *path)
virtual ~PluginManager ()
virtual bool deleteEntry (int id) throw (DatabaseError, PluginError)
 removes plugin from database. checks before, whether any other plugin depends on ID
virtual void run ()
 starts qt and the plugin manager dialog
virtual multimap< string,
map< int, string > > 
getEntryMap ()
 returns a formatted string for display containing all details listed for plugin 'id' in db
virtual string getEntryDetails (int id)
 returns a formatted string for display containing all details listed for plugin 'id' in db
virtual void addEntry (string absolutepath, DOMNode *parent=0) throw (PluginExistsException)
 runs tests on the plugin found at 'absolute path' and adds it to the database if cleared.
string getFilename (string, string) throw (DatabaseError)

Private Member Functions

 PluginManager (const PluginManager &x)
DOMNode * isInDB (string, string)
void addToDB (string filename, string dst)
DOMNode * getEntryById (int id)
DOMNode * getEntryById (int id, const XMLCh *tag)
list< DOMNode * > getDependents (DOMNode *entry)
list< string > getDependencies (DOMNode *entry)
list< string > getParameters (DOMNode *entry)

Private Attributes

Plugin plugin

Detailed Description

manages a plugin database (2xml files: one in user's home directory, another in install path of GFLC, with


Constructor & Destructor Documentation

PluginManager::PluginManager ( const PluginManager x  )  [private]

hidden copy constructor - we do not want to accidentially copy objects

PluginManager::PluginManager ( const char *  path  ) 

virtual PluginManager::~PluginManager (  )  [inline, virtual]


Member Function Documentation

DOMNode * PluginManager::isInDB ( string  filename,
string  category 
) [private]

Parameters:
filename 
category 
Returns:

void PluginManager::addToDB ( string  filename,
string  dst 
) [private]

Add plugin to plugin_list and DOM

Parameters:
name 
category 
version 
authors 
filename 

DOMNode * PluginManager::getEntryById ( int  id  )  [private]

DOMNode * PluginManager::getEntryById ( int  id,
const XMLCh *  tag 
) [private]

to be inherited from base class

Parameters:
id 
tag 
Returns:

list< DOMNode * > PluginManager::getDependents ( DOMNode *  entry  )  [private]

checks whether some plugin in the database depends on entry. therefore we retrieve all 'TAG_dependency' entries and compare their contents with

Parameters:
entry plugin someone might depend on
Returns:
list of dependent plugins

list< string > PluginManager::getDependencies ( DOMNode *  entry  )  [private]

checks whether some plugin in the database depends on entry. therefore we retrieve all 'TAG_dependency' entries and compare their contents with

Parameters:
entry plugin someone might depend on
Returns:
list of dependent plugins

list< string > PluginManager::getParameters ( DOMNode *  entry  )  [private]

checks whether some plugin in the database depends on entry. therefore we retrieve all 'TAG_parameter' entries and compare their contents with

Parameters:
entry plugin someone might depend on
Returns:
list of dependent plugins

bool PluginManager::deleteEntry ( int  id  )  throw (DatabaseError, PluginError) [virtual]

removes plugin from database. checks before, whether any other plugin depends on ID

delete entry

Implements DatabaseManager.

void PluginManager::run (  )  [virtual]

starts qt and the plugin manager dialog

Implements DatabaseManager.

multimap< string, map< int, string > > PluginManager::getEntryMap (  )  [virtual]

returns a formatted string for display containing all details listed for plugin 'id' in db

get Entries

Implements DatabaseManager.

string PluginManager::getEntryDetails ( int  id  )  [virtual]

returns a formatted string for display containing all details listed for plugin 'id' in db

get Experiments

Implements DatabaseManager.

void PluginManager::addEntry ( string  absolutepath,
DOMNode *  parent = 0 
) throw (PluginExistsException) [virtual]

runs tests on the plugin found at 'absolute path' and adds it to the database if cleared.

add entry

Implements DatabaseManager.

string PluginManager::getFilename ( string  category,
string  name 
) throw (DatabaseError)

Parameters:
name 
Returns:


Member Data Documentation

Plugin PluginManager::plugin [private]

one plugin instance that's gonna be managed


The documentation for this class was generated from the following files:
Generated on Sun Aug 31 13:20:44 2008 for CrusDe by  doxygen 1.5.0