layer_stack_builder.hh
Go to the documentation of this file.
#pragma once
#include "layer_factory.hh"
class layer_stack_builder {
private:
typedef std::map<std::string, layer_factory*> LayerFactoryMap;
static layer_stack_builder * _instance;
std::map<std::string, layer_factory*> _layer_factories;
layer_stack_builder(); // can not be created manually
public:
static layer_stack_builder* get_instance();
static void register_layer_factory(const std::string & p_type, layer_factory* p_layer_factory);
private:
void _register_layer_factory(const std::string & p_type, layer_factory* p_layer_factory);
public:
layer* create_layer_stack(const char* p_layer_stack_description);
}; // End of class layer_stack_builder
layer_stack_builder
This class provides a factory class to create Layer class instances.
Definition: layer_stack_builder.hh:19
layer_stack_builder::LayerFactoryMap
std::map< std::string, layer_factory * > LayerFactoryMap
Definition: layer_stack_builder.hh:21
layer
Forward declaration of TITAN class.
Definition: layer.hh:29
layer_stack_builder::_instance
static layer_stack_builder * _instance
Definition: layer_stack_builder.hh:23
layer_factory
This class provides a factory class to create layer class instances .
Definition: layer_factory.hh:25
layer_stack_builder::create_layer_stack
layer * create_layer_stack(const char *p_layer_stack_description)
Add a new layer factory.
Definition: layer_factory.cc:31
layer_factory.hh
Header file for ITS abstract protocol layer definition.
layer_stack_builder::_register_layer_factory
void _register_layer_factory(const std::string &p_type, layer_factory *p_layer_factory)
Add a new layer factory.
Definition: layer_factory.cc:26
layer_stack_builder::layer_stack_builder
layer_stack_builder()
The list of the registered.
Definition: layer_factory.cc:22
layer_stack_builder::_layer_factories
std::map< std::string, layer_factory * > _layer_factories
Smart pointer to the unique instance of the logger framework.
Definition: layer_stack_builder.hh:24
layer_stack_builder::register_layer_factory
static void register_layer_factory(const std::string &p_type, layer_factory *p_layer_factory)
Add a new layer factory.
Definition: layer_factory.cc:16
layer_stack_builder::get_instance
static layer_stack_builder * get_instance()
Accessor for the unique instance of the logger framework.
Definition: layer_factory.cc:11