---
name: "tlp_TemplateFactoryInterface"
section: "3tulip"
platform: "linux"
package: "tulip-doc"
version: "3.1.2-2.3"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/tlp_TemplateFactoryInterface"
---

# tlp\_TemplateFactoryInterface(3tulip)

## NAME

tlp::TemplateFactoryInterface -

## SYNOPSIS

`#include <TemplateFactory.h>`

Inherited by **tlp::TemplateFactory\< AlgorithmFactory, Algorithm, AlgorithmContext \>**, **tlp::TemplateFactory\< ExportModuleFactory, ExportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< ImportModuleFactory, ImportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< BooleanAlgorithm \>, BooleanAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< ColorAlgorithm \>, ColorAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< DoubleAlgorithm \>, DoubleAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< IntegerAlgorithm \>, IntegerAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< LayoutAlgorithm \>, LayoutAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< PropertyAlgorithm \>, PropertyAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< SizeAlgorithm \>, SizeAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< StringAlgorithm \>, StringAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< TPROPERTY \>, TPROPERTY, PropertyContext \>**, and **tlp::TemplateFactory\< ObjectFactory, ObjectType, Context \>**.

### Public Member Functions

virtual **~TemplateFactoryInterface** ()\
 virtual **Iterator**\< std::string \> \* **availablePlugins** ()=0\
 virtual bool **pluginExists** (const std::string &pluginName)=0\
 virtual **StructDef** **getPluginParameters** (std::string name)=0\
 virtual std::string **getPluginRelease** (std::string name)=0\
 virtual std::list\< **tlp::Dependency** \> **getPluginDependencies** (std::string name)=0\
 virtual std::string **getPluginsClassName** ()=0\
 virtual void **removePlugin** (const std::string &name)=0\

### Static Public Member Functions

static void **addFactory** (**TemplateFactoryInterface** \*factory, const std::string &name)\
 static bool **pluginExists** (const std::string &factoryName, const std::string &pluginName)\

### Static Public Attributes

static TLP\_SCOPE std::map\< std::string, **TemplateFactoryInterface** \* \> \* **allFactories**\
 static TLP\_SCOPE **PluginLoader** \* **currentLoader**\

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

### virtual Iterator\<std::string\>\* tlp::TemplateFactoryInterface::availablePlugins ()` [pure virtual]`

Implemented in **tlp::TemplateFactory\< ObjectFactory, ObjectType, Context \>**, **tlp::TemplateFactory\< PropertyFactory\< BooleanAlgorithm \>, BooleanAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< LayoutAlgorithm \>, LayoutAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< IntegerAlgorithm \>, IntegerAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< PropertyAlgorithm \>, PropertyAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< ExportModuleFactory, ExportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< SizeAlgorithm \>, SizeAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< DoubleAlgorithm \>, DoubleAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< TPROPERTY \>, TPROPERTY, PropertyContext \>**, **tlp::TemplateFactory\< ImportModuleFactory, ImportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< AlgorithmFactory, Algorithm, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< ColorAlgorithm \>, ColorAlgorithm, PropertyContext \>**, and **tlp::TemplateFactory\< PropertyFactory\< StringAlgorithm \>, StringAlgorithm, PropertyContext \>**.

### virtual std::list\<tlp::Dependency\> tlp::TemplateFactoryInterface::getPluginDependencies (std::string name)` [pure virtual]`

Implemented in **tlp::TemplateFactory\< ObjectFactory, ObjectType, Context \>**, **tlp::TemplateFactory\< PropertyFactory\< BooleanAlgorithm \>, BooleanAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< LayoutAlgorithm \>, LayoutAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< IntegerAlgorithm \>, IntegerAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< PropertyAlgorithm \>, PropertyAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< ExportModuleFactory, ExportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< SizeAlgorithm \>, SizeAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< DoubleAlgorithm \>, DoubleAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< TPROPERTY \>, TPROPERTY, PropertyContext \>**, **tlp::TemplateFactory\< ImportModuleFactory, ImportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< AlgorithmFactory, Algorithm, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< ColorAlgorithm \>, ColorAlgorithm, PropertyContext \>**, and **tlp::TemplateFactory\< PropertyFactory\< StringAlgorithm \>, StringAlgorithm, PropertyContext \>**.

### virtual StructDef tlp::TemplateFactoryInterface::getPluginParameters (std::string name)` [pure virtual]`

Implemented in **tlp::TemplateFactory\< ObjectFactory, ObjectType, Context \>**, **tlp::TemplateFactory\< PropertyFactory\< BooleanAlgorithm \>, BooleanAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< LayoutAlgorithm \>, LayoutAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< IntegerAlgorithm \>, IntegerAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< PropertyAlgorithm \>, PropertyAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< ExportModuleFactory, ExportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< SizeAlgorithm \>, SizeAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< DoubleAlgorithm \>, DoubleAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< TPROPERTY \>, TPROPERTY, PropertyContext \>**, **tlp::TemplateFactory\< ImportModuleFactory, ImportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< AlgorithmFactory, Algorithm, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< ColorAlgorithm \>, ColorAlgorithm, PropertyContext \>**, and **tlp::TemplateFactory\< PropertyFactory\< StringAlgorithm \>, StringAlgorithm, PropertyContext \>**.

### virtual std::string tlp::TemplateFactoryInterface::getPluginRelease (std::string name)` [pure virtual]`

Implemented in **tlp::TemplateFactory\< ObjectFactory, ObjectType, Context \>**, **tlp::TemplateFactory\< PropertyFactory\< BooleanAlgorithm \>, BooleanAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< LayoutAlgorithm \>, LayoutAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< IntegerAlgorithm \>, IntegerAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< PropertyAlgorithm \>, PropertyAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< ExportModuleFactory, ExportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< SizeAlgorithm \>, SizeAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< DoubleAlgorithm \>, DoubleAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< TPROPERTY \>, TPROPERTY, PropertyContext \>**, **tlp::TemplateFactory\< ImportModuleFactory, ImportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< AlgorithmFactory, Algorithm, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< ColorAlgorithm \>, ColorAlgorithm, PropertyContext \>**, and **tlp::TemplateFactory\< PropertyFactory\< StringAlgorithm \>, StringAlgorithm, PropertyContext \>**.

### virtual std::string tlp::TemplateFactoryInterface::getPluginsClassName ()` [pure virtual]`

Implemented in **tlp::TemplateFactory\< ObjectFactory, ObjectType, Context \>**, **tlp::TemplateFactory\< PropertyFactory\< BooleanAlgorithm \>, BooleanAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< LayoutAlgorithm \>, LayoutAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< IntegerAlgorithm \>, IntegerAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< PropertyAlgorithm \>, PropertyAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< ExportModuleFactory, ExportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< SizeAlgorithm \>, SizeAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< DoubleAlgorithm \>, DoubleAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< TPROPERTY \>, TPROPERTY, PropertyContext \>**, **tlp::TemplateFactory\< ImportModuleFactory, ImportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< AlgorithmFactory, Algorithm, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< ColorAlgorithm \>, ColorAlgorithm, PropertyContext \>**, and **tlp::TemplateFactory\< PropertyFactory\< StringAlgorithm \>, StringAlgorithm, PropertyContext \>**.

### static bool tlp::TemplateFactoryInterface::pluginExists (const std::string & factoryName, const std::string & pluginName)` [inline, static]`

### virtual bool tlp::TemplateFactoryInterface::pluginExists (const std::string & pluginName)` [pure virtual]`

Implemented in **tlp::TemplateFactory\< ObjectFactory, ObjectType, Context \>**, **tlp::TemplateFactory\< PropertyFactory\< BooleanAlgorithm \>, BooleanAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< LayoutAlgorithm \>, LayoutAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< IntegerAlgorithm \>, IntegerAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< PropertyAlgorithm \>, PropertyAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< ExportModuleFactory, ExportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< SizeAlgorithm \>, SizeAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< DoubleAlgorithm \>, DoubleAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< TPROPERTY \>, TPROPERTY, PropertyContext \>**, **tlp::TemplateFactory\< ImportModuleFactory, ImportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< AlgorithmFactory, Algorithm, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< ColorAlgorithm \>, ColorAlgorithm, PropertyContext \>**, and **tlp::TemplateFactory\< PropertyFactory\< StringAlgorithm \>, StringAlgorithm, PropertyContext \>**.

### virtual void tlp::TemplateFactoryInterface::removePlugin (const std::string & name)` [pure virtual]`

Implemented in **tlp::TemplateFactory\< ObjectFactory, ObjectType, Context \>**, **tlp::TemplateFactory\< PropertyFactory\< BooleanAlgorithm \>, BooleanAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< LayoutAlgorithm \>, LayoutAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< IntegerAlgorithm \>, IntegerAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< PropertyAlgorithm \>, PropertyAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< ExportModuleFactory, ExportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< SizeAlgorithm \>, SizeAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< DoubleAlgorithm \>, DoubleAlgorithm, PropertyContext \>**, **tlp::TemplateFactory\< PropertyFactory\< TPROPERTY \>, TPROPERTY, PropertyContext \>**, **tlp::TemplateFactory\< ImportModuleFactory, ImportModule, AlgorithmContext \>**, **tlp::TemplateFactory\< AlgorithmFactory, Algorithm, AlgorithmContext \>**, **tlp::TemplateFactory\< PropertyFactory\< ColorAlgorithm \>, ColorAlgorithm, PropertyContext \>**, and **tlp::TemplateFactory\< PropertyFactory\< StringAlgorithm \>, StringAlgorithm, PropertyContext \>**.

## Member Data Documentation

### TLP\_SCOPE std::map\< std::string, TemplateFactoryInterface\* \>\* tlp::TemplateFactoryInterface::allFactories` [static]`

### TLP\_SCOPE PluginLoader\* tlp::TemplateFactoryInterface::currentLoader` [static]`

## Author

Generated automatically by Doxygen for Tulip Graph Library from the source code.
