OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
t_generator_factory Class Referenceabstract

#include <t_generator_registry.h>

Inheritance diagram for t_generator_factory:
Collaboration diagram for t_generator_factory:

Public Member Functions

 t_generator_factory (const std::string &short_name, const std::string &long_name, const std::string &documentation)
 
virtual ~t_generator_factory ()
 
virtual t_generatorget_generator (t_program *program, const std::map< std::string, std::string > &parsed_options, const std::string &option_string)=0
 
virtual bool is_valid_namespace (const std::string &sub_namespace)=0
 
std::string get_short_name ()
 
std::string get_long_name ()
 
std::string get_documentation ()
 

Private Attributes

std::string short_name_
 
std::string long_name_
 
std::string documentation_
 

Detailed Description

A factory for producing generator classes of a particular language.

This class is also responsible for:

  • Registering itself with the generator registry.
  • Providing documentation for the generators it produces.

Definition at line 32 of file t_generator_registry.h.

Constructor & Destructor Documentation

t_generator_factory::t_generator_factory ( const std::string &  short_name,
const std::string &  long_name,
const std::string &  documentation 
)

Definition at line 180 of file t_generator.cc.

Here is the call graph for this function:

virtual t_generator_factory::~t_generator_factory ( )
inlinevirtual

Definition at line 38 of file t_generator_registry.h.

Member Function Documentation

std::string t_generator_factory::get_documentation ( )
inline

Definition at line 53 of file t_generator_registry.h.

virtual t_generator* t_generator_factory::get_generator ( t_program program,
const std::map< std::string, std::string > &  parsed_options,
const std::string &  option_string 
)
pure virtual
std::string t_generator_factory::get_long_name ( )
inline

Definition at line 52 of file t_generator_registry.h.

std::string t_generator_factory::get_short_name ( )
inline

Definition at line 51 of file t_generator_registry.h.

virtual bool t_generator_factory::is_valid_namespace ( const std::string &  sub_namespace)
pure virtual

Member Data Documentation

std::string t_generator_factory::documentation_
private

Definition at line 58 of file t_generator_registry.h.

std::string t_generator_factory::long_name_
private

Definition at line 57 of file t_generator_registry.h.

std::string t_generator_factory::short_name_
private

Definition at line 56 of file t_generator_registry.h.


The documentation for this class was generated from the following files: