Spm::Plugin::PluginSystem Class Reference

Manage plugins. More...

#include <pluginSystem.h>

List of all members.

Public Types

typedef std::list< Plugin
* >::iterator 
iterator
typedef std::list< Plugin
* >::const_iterator 
const_iterator
typedef std::list< Plugin
* >::reverse_iterator 
reverse_iterator
typedef std::list< Plugin
* >::const_reverse_iterator 
const_reverse_iterator

Public Member Functions

 ~PluginSystem ()
void add (const boost::filesystem::path &path)
 Add a plugin or a plugin directory.
const std::list< Plugin * > & getPlugins ()
const Plugin * getPlugin (const std::string &pluginName) throw (NoPluginException)
Plugin * getRefPlugin (const std::string &pluginName) throw (NoPluginException)
StepPlugin * getStep (const std::string &pluginName, const std::map< std::string, std::string > &pOptions) throw (NoPluginException)
DownloadPlugin * getDownloader (const std::string &uri) throw (NoPluginHandlerException)
InstallerPlugin * getInstaller (Util::Compressed *compressed) throw (NoPluginHandlerException)
iterator begin ()
const_iterator begin () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
iterator end ()
const_iterator end () const
reverse_iterator rend ()
const_reverse_iterator rend () const

Static Public Member Functions

static boost::shared_ptr<
PluginSystem > 
create (const std::string &user)
 Get a PluginSystem object.

Public Attributes

boost::signal< void(Plugin *)> signalNewPlugin )()

Friends

class InstallerInterface
class Core::PackageSystem


Detailed Description

Manage plugins.


Member Typedef Documentation

typedef std::list<Plugin *>::const_iterator Spm::Plugin::PluginSystem::const_iterator
 

typedef std::list<Plugin *>::const_reverse_iterator Spm::Plugin::PluginSystem::const_reverse_iterator
 

typedef std::list<Plugin *>::iterator Spm::Plugin::PluginSystem::iterator
 

typedef std::list<Plugin *>::reverse_iterator Spm::Plugin::PluginSystem::reverse_iterator
 


Constructor & Destructor Documentation

Spm::Plugin::PluginSystem::~PluginSystem (   ) 
 


Member Function Documentation

void Spm::Plugin::PluginSystem::add (  const boost::filesystem::path &  path  ) 
 

Add a plugin or a plugin directory.

Parameters:
path The file or directory to add

const_iterator Spm::Plugin::PluginSystem::begin (   )  const [inline]
 

iterator Spm::Plugin::PluginSystem::begin (   )  [inline]
 

static boost::shared_ptr<PluginSystem> Spm::Plugin::PluginSystem::create (  const std::string &  user  )  [static]
 

Get a PluginSystem object.

Parameters:
userName The user name of the wanted PluginSystem
Returns:
a shared pointer to a PluginSystem

const_iterator Spm::Plugin::PluginSystem::end (   )  const [inline]
 

iterator Spm::Plugin::PluginSystem::end (   )  [inline]
 

DownloadPlugin* Spm::Plugin::PluginSystem::getDownloader (  const std::string &  uri  )  throw (NoPluginHandlerException)
 

Parameters:
uri The uri that the plugin must handle
Returns:
the wanted DownloadPlugin

InstallerPlugin* Spm::Plugin::PluginSystem::getInstaller (  Util::Compressed *  compressed  )  throw (NoPluginHandlerException)
 

Parameters:
compressed The archive that the plugin must handle
Returns:
the wanted InstallerPlugin

const Plugin* Spm::Plugin::PluginSystem::getPlugin (  const std::string &  pluginName  )  throw (NoPluginException)
 

Parameters:
pluginName The name of the wanted Plugin
Returns:
The wanted Plugin

const std::list<Plugin *>& Spm::Plugin::PluginSystem::getPlugins (   ) 
 

Returns:
the list of avaible plugins of the user

Plugin* Spm::Plugin::PluginSystem::getRefPlugin (  const std::string &  pluginName  )  throw (NoPluginException)
 

Parameters:
pluginName The name of the wanted Plugin
Returns:
The wanted Plugin

StepPlugin* Spm::Plugin::PluginSystem::getStep (  const std::string &  pluginName,
const std::map< std::string, std::string > &  pOptions
)  throw (NoPluginException)
 

Parameters:
pluginName The name of the wanted plugin
pOptions The options of the plugin
Returns:
the wanted DownloadPlugin

const_reverse_iterator Spm::Plugin::PluginSystem::rbegin (   )  const [inline]
 

reverse_iterator Spm::Plugin::PluginSystem::rbegin (   )  [inline]
 

const_reverse_iterator Spm::Plugin::PluginSystem::rend (   )  const [inline]
 

reverse_iterator Spm::Plugin::PluginSystem::rend (   )  [inline]
 


Friends And Related Function Documentation

friend class Core::PackageSystem [friend]
 

friend class InstallerInterface [friend]
 


Member Data Documentation

boost::signal<void (Plugin *)> Spm::Plugin::PluginSystem::signalNewPlugin)()
 


The documentation for this class was generated from the following file:
Generated on Wed Jul 4 15:27:21 2007 for libSpm by  doxygen 1.4.6