tlp::TemplateFactoryInterface Class Reference
[Plugins]
This interface lists functions used to regroup plug-ins.
More...
#include <TemplateFactory.h>
List of all members.
Public Member Functions
- virtual ~TemplateFactoryInterface ()
- virtual Iterator< std::string > * availablePlugins ()=0
- Gets the list of plug-ins that registered themselves in this factory.
- virtual bool pluginExists (const std::string &pluginName)=0
- Checks if a given name is registered in this factory.
- virtual StructDef getPluginParameters (std::string name)=0
- Gets the list of parameters for the given plug-in.
- virtual std::string getPluginRelease (std::string name)=0
- Gets the release number of the given plug-in.
- virtual std::list
< tlp::Dependency > getPluginDependencies (std::string name)=0
- Gets the dependencies of a plug-in.
- virtual std::string getPluginsClassName ()=0
- Gets the class name for the plug-in's registered class. If the class is in the tlp namespace, the 'tlp::' prefix is removed.
- virtual void removePlugin (const std::string &name)=0
- Removes a plug-in from this factory. This is usefull when a plug-in has unmet dependencies, or appears more than once.
Static Public Member Functions
- static void addFactory (TemplateFactoryInterface *factory, const std::string &name)
- Adds a factory to a static map of factories. This map is then used to list all the factories, and all the plug-ins for each factory.
- static bool pluginExists (const std::string &factoryName, const std::string &pluginName)
- Checks if a plug-in exists in a specific factory. In debug mode, an assert checks the factory is registered in the factory map before accessing it.
Static Public Attributes
Detailed Description
This interface lists functions used to regroup plug-ins.
It is used to list plug-ins that register themselves into it.
The TemplateFactory's role is to list plug-ins, and retrive their dependencies for Tulip to check if they are met. The only check performed should be the unicity of a plug-in in the system.
Each Tulip plug-in has a factory, which needs to be registered into a TemplateFactory. TemplateFactories register themselves in the Tulip plug-in system, and Tulip lists the plug-ins of each TemplateFactory.
Constructor & Destructor Documentation
virtual tlp::TemplateFactoryInterface::~TemplateFactoryInterface |
( |
|
) |
[inline, virtual] |
Member Function Documentation
static void tlp::TemplateFactoryInterface::addFactory |
( |
TemplateFactoryInterface * |
factory, |
|
|
const std::string & |
name | |
|
) |
| | [inline, static] |
Adds a factory to a static map of factories. This map is then used to list all the factories, and all the plug-ins for each factory.
- Parameters:
-
| factory | The factory to add. |
| name | The name of the factory to add, used as key. |
- Returns:
- void
virtual Iterator<std::string>* tlp::TemplateFactoryInterface::availablePlugins |
( |
|
) |
[pure virtual] |
Gets the list of plug-ins that registered themselves in this factory.
- Returns:
- :Iterator< std::string >* An iterator over the names of the plug-ins registered in this factory.
Implemented in tlp::TemplateFactory< ObjectFactory, ObjectType, Context >, tlp::TemplateFactory< PropertyFactory< PropertyAlgorithm >, PropertyAlgorithm, PropertyContext >, tlp::TemplateFactory< ExportModuleFactory, ExportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< TPROPERTY >, TPROPERTY, PropertyContext >, tlp::TemplateFactory< ImportModuleFactory, ImportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< tlp::BooleanAlgorithm >, tlp::BooleanAlgorithm, PropertyContext >, and tlp::TemplateFactory< AlgorithmFactory, Algorithm, AlgorithmContext >.
virtual std::list<tlp::Dependency> tlp::TemplateFactoryInterface::getPluginDependencies |
( |
std::string |
name |
) |
[pure virtual] |
Gets the dependencies of a plug-in.
- Parameters:
-
| name | The name of the plug-in to retrieve the dependencies of. |
- Returns:
- :list< tlp::Dependency, std::allocator< tlp::Dependency > > The list of dependencies of the plug-in.
Implemented in tlp::TemplateFactory< ObjectFactory, ObjectType, Context >, tlp::TemplateFactory< PropertyFactory< PropertyAlgorithm >, PropertyAlgorithm, PropertyContext >, tlp::TemplateFactory< ExportModuleFactory, ExportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< TPROPERTY >, TPROPERTY, PropertyContext >, tlp::TemplateFactory< ImportModuleFactory, ImportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< tlp::BooleanAlgorithm >, tlp::BooleanAlgorithm, PropertyContext >, and tlp::TemplateFactory< AlgorithmFactory, Algorithm, AlgorithmContext >.
virtual StructDef tlp::TemplateFactoryInterface::getPluginParameters |
( |
std::string |
name |
) |
[pure virtual] |
Gets the list of parameters for the given plug-in.
- Parameters:
-
| name | The name of the plug-in to retrieve the parameters of. |
- Returns:
- :StructDef The parameters of the plug-in.
Implemented in tlp::TemplateFactory< ObjectFactory, ObjectType, Context >, tlp::TemplateFactory< PropertyFactory< PropertyAlgorithm >, PropertyAlgorithm, PropertyContext >, tlp::TemplateFactory< ExportModuleFactory, ExportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< TPROPERTY >, TPROPERTY, PropertyContext >, tlp::TemplateFactory< ImportModuleFactory, ImportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< tlp::BooleanAlgorithm >, tlp::BooleanAlgorithm, PropertyContext >, and tlp::TemplateFactory< AlgorithmFactory, Algorithm, AlgorithmContext >.
virtual std::string tlp::TemplateFactoryInterface::getPluginRelease |
( |
std::string |
name |
) |
[pure virtual] |
Gets the release number of the given plug-in.
- Parameters:
-
| name | The name of the plug-in to retrieve the version number of. |
- Returns:
- :string The version number, ussually formatted as X[.Y], where X is the major, and Y the minor.
Implemented in tlp::TemplateFactory< ObjectFactory, ObjectType, Context >, tlp::TemplateFactory< PropertyFactory< PropertyAlgorithm >, PropertyAlgorithm, PropertyContext >, tlp::TemplateFactory< ExportModuleFactory, ExportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< TPROPERTY >, TPROPERTY, PropertyContext >, tlp::TemplateFactory< ImportModuleFactory, ImportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< tlp::BooleanAlgorithm >, tlp::BooleanAlgorithm, PropertyContext >, and tlp::TemplateFactory< AlgorithmFactory, Algorithm, AlgorithmContext >.
virtual std::string tlp::TemplateFactoryInterface::getPluginsClassName |
( |
|
) |
[pure virtual] |
Gets the class name for the plug-in's registered class. If the class is in the tlp namespace, the 'tlp::' prefix is removed.
- Returns:
- :string The class name of the plug-in.
Implemented in tlp::TemplateFactory< ObjectFactory, ObjectType, Context >, tlp::TemplateFactory< PropertyFactory< PropertyAlgorithm >, PropertyAlgorithm, PropertyContext >, tlp::TemplateFactory< ExportModuleFactory, ExportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< TPROPERTY >, TPROPERTY, PropertyContext >, tlp::TemplateFactory< ImportModuleFactory, ImportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< tlp::BooleanAlgorithm >, tlp::BooleanAlgorithm, PropertyContext >, and tlp::TemplateFactory< AlgorithmFactory, Algorithm, AlgorithmContext >.
static bool tlp::TemplateFactoryInterface::pluginExists |
( |
const std::string & |
factoryName, |
|
|
const std::string & |
pluginName | |
|
) |
| | [inline, static] |
Checks if a plug-in exists in a specific factory. In debug mode, an assert checks the factory is registered in the factory map before accessing it.
- Parameters:
-
| factoryName | The name of the factory to look into. |
| pluginName | The name of the plugin to look for. |
- Returns:
- bool Whether the plug-in exists in the specified factory.
virtual bool tlp::TemplateFactoryInterface::pluginExists |
( |
const std::string & |
pluginName |
) |
[pure virtual] |
Checks if a given name is registered in this factory.
- Parameters:
-
| pluginName | The name of the plug-in to look for. |
- Returns:
- bool Whether there is a plug-in with the given name registered in this factory.
Implemented in tlp::TemplateFactory< ObjectFactory, ObjectType, Context >, tlp::TemplateFactory< PropertyFactory< PropertyAlgorithm >, PropertyAlgorithm, PropertyContext >, tlp::TemplateFactory< ExportModuleFactory, ExportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< TPROPERTY >, TPROPERTY, PropertyContext >, tlp::TemplateFactory< ImportModuleFactory, ImportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< tlp::BooleanAlgorithm >, tlp::BooleanAlgorithm, PropertyContext >, and tlp::TemplateFactory< AlgorithmFactory, Algorithm, AlgorithmContext >.
virtual void tlp::TemplateFactoryInterface::removePlugin |
( |
const std::string & |
name |
) |
[pure virtual] |
Removes a plug-in from this factory. This is usefull when a plug-in has unmet dependencies, or appears more than once.
- Parameters:
-
| name | The name of the plug-in to remove. |
- Returns:
- void
Implemented in tlp::TemplateFactory< ObjectFactory, ObjectType, Context >, tlp::TemplateFactory< PropertyFactory< PropertyAlgorithm >, PropertyAlgorithm, PropertyContext >, tlp::TemplateFactory< ExportModuleFactory, ExportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< TPROPERTY >, TPROPERTY, PropertyContext >, tlp::TemplateFactory< ImportModuleFactory, ImportModule, AlgorithmContext >, tlp::TemplateFactory< PropertyFactory< tlp::BooleanAlgorithm >, tlp::BooleanAlgorithm, PropertyContext >, and tlp::TemplateFactory< AlgorithmFactory, Algorithm, AlgorithmContext >.
Member Data Documentation
|