Spm::Plugin::PluginManager Class Reference

Manage plugins. More...

#include <pluginManager.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

 ~PluginManager ()
void add (const boost::filesystem::path &path)
 Add a plugin file or directory.
const std::list< Plugin * > & getPlugins ()
const PlugingetPlugin (const miniXml::ustring &pluginName) throw (NoPluginException)
PlugingetRefPlugin (const miniXml::ustring &pluginName) throw (NoPluginException)
StepPlugin * getStep (const miniXml::ustring &pluginName, const Util::PropertyList &pOptions) throw (NoPluginException)
DownloadPlugin * getDownloader (const miniXml::ustring &uri) throw (NoPluginHandlerException)
InstallerPlugin * getInstaller (Util::Compressed *compressed, const Util::PropertyList &pList=Util::PropertyList())
InfoInterfacegetInfo (const miniXml::ustring pluginName, const miniXml::ustring &uri)
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<
PluginManager > & 
create (const miniXml::ustring &user)
 Get a PluginManager object.

Public Attributes

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

Friends

class InstallerInterface
class Core::PackageManager


Detailed Description

Manage plugins.


Member Typedef Documentation

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

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

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

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


Constructor & Destructor Documentation

Spm::Plugin::PluginManager::~PluginManager (  ) 


Member Function Documentation

static boost::shared_ptr<PluginManager>& Spm::Plugin::PluginManager::create ( const miniXml::ustring &  user  )  [static]

Get a PluginManager object.

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

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

Add a plugin file or directory.

Parameters:
path The file or directory to add

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

Returns:
the list of avaible plugins of the user

const Plugin* Spm::Plugin::PluginManager::getPlugin ( const miniXml::ustring &  pluginName  )  throw (NoPluginException)

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

Plugin* Spm::Plugin::PluginManager::getRefPlugin ( const miniXml::ustring &  pluginName  )  throw (NoPluginException)

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

StepPlugin* Spm::Plugin::PluginManager::getStep ( const miniXml::ustring &  pluginName,
const Util::PropertyList pOptions 
) throw (NoPluginException)

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

DownloadPlugin* Spm::Plugin::PluginManager::getDownloader ( const miniXml::ustring &  uri  )  throw (NoPluginHandlerException)

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

InstallerPlugin* Spm::Plugin::PluginManager::getInstaller ( Util::Compressed compressed,
const Util::PropertyList pList = Util::PropertyList() 
)

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

InfoInterface* Spm::Plugin::PluginManager::getInfo ( const miniXml::ustring  pluginName,
const miniXml::ustring &  uri 
)

Parameters:
pluginName The name of the wanted plugin
uri The uri that the plugin must handle

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

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

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

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

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

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

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

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


Friends And Related Function Documentation

friend class InstallerInterface [friend]

friend class Core::PackageManager [friend]


Member Data Documentation

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


The documentation for this class was generated from the following file:
Generated on Sat Mar 21 17:00:14 2009 for libSpm by  doxygen 1.5.2