ethernet_layer_factory.hh
Go to the documentation of this file.
#pragma once
#include "layer_stack_builder.hh"
#include "ethernet_layer.hh"
class ethernet_layer_factory: public layer_factory {
static ethernet_layer_factory _f;
public:
ethernet_layer_factory() {
// register factory
layer_stack_builder::register_layer_factory("ETH", this);
};
inline virtual layer* create_layer(const std::string& p_type, const std::string& p_param) {
return new ethernet_layer(p_type, p_param);
};
}; // End of class ethernet_layer_factory
ethernet_layer_factory
This class provides a factory class to create an ethernet_layer class instance.
Definition: ethernet_layer_factory.hh:21
ethernet_layer_factory::_f
static ethernet_layer_factory _f
Definition: ethernet_layer_factory.hh:22
ethernet_layer
Definition: ethernet_layer.hh:16
ethernet_layer_factory::create_layer
virtual layer * create_layer(const std::string &p_type, const std::string &p_param)
Create the layers stack based on the provided layers stack description.
Definition: ethernet_layer_factory.hh:41
layer
Forward declaration of TITAN class.
Definition: layer.hh:29
layer_factory
This class provides a factory class to create layer class instances .
Definition: layer_factory.hh:25
layer_stack_builder.hh
Header file for ITS protocol stack builder.
ethernet_layer.hh
ethernet_layer_factory::ethernet_layer_factory
ethernet_layer_factory()
Reference to the unique instance of this class.
Definition: ethernet_layer_factory.hh:29
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