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>`

## Public Types

typedef T * | Factory(const Params &, bool deprecationSupport)
| 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, bool deprecationSupport) const
| 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

## deregisterFactory()

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

## newPlugin()

template<class T, class Key, typename Params>

T * xmltooling::PluginManager< T, Key, Params >::newPlugin | ( | const Key & | type,
|  | const Params & | p,
|  | bool | deprecationSupport ) const

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
  deprecationSupport | true iff the plugin should recognize/support its deprecated features

Returns
  the constructed plugin

## registerFactory()

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:

- xmltooling/PluginManager.h