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 PlugingetPlugin (const std::string &pluginName) throw (NoPluginException)
PlugingetRefPlugin (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