xmltooling::PluginManager< T, Key, Params > Class Template Reference

Template for management/access to plugins constructed based on a Key type and arbitrary parameters. More...

#include <xmltooling/PluginManager.h>

List of all members.

Public Types

typedef T * Factory (const Params &)
 Factory function for plugin.

Public Member Functions

void registerFactory (const Key &type, typename PluginManager::Factory *factory)
 Registers the factory for a given type.
void deregisterFactory (const Key &type)
 Unregisters the factory for a given type.
void deregisterFactories ()
 Unregisters all registered factories.
T * newPlugin (const Key &type, const Params &p)
 Builds a new instance of a plugin of a given type, configuring it with the supplied parameters.


Detailed Description

template<class T, class Key, typename Params>
class xmltooling::PluginManager< T, Key, Params >

Template for management/access to plugins constructed based on a Key type and arbitrary parameters.

Parameters:
T class of plugin to manage
Key the key for type lookup
Params parameters for plugin construction


Member Function Documentation

template<class T, class Key, typename Params>
void xmltooling::PluginManager< T, Key, Params >::deregisterFactory ( const Key &  type  )  [inline]

Unregisters the factory for a given type.

Parameters:
type the key to the plugin type

template<class T, class Key, typename Params>
T* xmltooling::PluginManager< T, Key, Params >::newPlugin ( const Key &  type,
const Params &  p 
) [inline]

Builds a new instance of a plugin of a given type, configuring it with the supplied parameters.

Parameters:
type the key to the plugin type
p parameters to configure plugin
Returns:
the constructed plugin

template<class T, class Key, typename Params>
void xmltooling::PluginManager< T, Key, Params >::registerFactory ( const Key &  type,
typename PluginManager< T, Key, Params >::Factory factory 
) [inline]

Registers the factory for a given type.

Parameters:
type the key to the plugin type
factory the factory function for the plugin type


The documentation for this class was generated from the following file:
Generated on Mon Oct 19 14:18:34 2009 for xmltooling by  doxygen 1.4.7