EMANE  1.2.1
EMANE::LayerConfiguration Class Reference

Provides default implementation to common layer functionalities. More...

#include <layerconfiguration.h>

Inheritance diagram for EMANE::LayerConfiguration:
EMANE::EventAgentConfiguration EMANE::EventDaemonConfiguration EMANE::EventGeneratorConfiguration EMANE::EventServiceConfiguration EMANE::NEMConfiguration EMANE::PlatformConfiguration EMANE::PluginConfiguration EMANE::TransportDaemonConfiguration EMANE::TransportInstanceConfiguration

Public Member Functions

 LayerConfiguration (std::string sType)
 
virtual ~LayerConfiguration ()
 
const ConfigurationUpdateRequest getConfigurationUpdateRequest ()
 
std::string getType () const
 
std::string getLibrary () const
 
std::string getDefinitionPath () const
 
std::string getDefinitionFile () const
 
void overlayParams (xmlNodePtr pNode)
 

Protected Member Functions

void processDefinition (const char *pxzName, const std::string &sURI)
 
virtual void doProcessRootAttributes (xmlNodePtr pRoot)
 
virtual void doProcessChildren (xmlNodePtr pParent, ParamMap &paramMap)
 
virtual void doProcessChildNode (xmlNodePtr pNode)
 
void doProcessParam (ParamMap &paramMap, xmlNodePtr pParamNode)
 
void doProcessParamlist (ParamMap &paramMap, xmlNodePtr pParamlistNode)
 
std::string getAttrVal (xmlNodePtr pNode, const char *attributename)
 
std::uint16_t getAttrValNumeric (xmlNodePtr pNode, const char *attributename)
 
void setPathAndFile (const std::string sURI)
 

Protected Attributes

std::string sName_
 
std::string sLibrary_
 
ParamMap params_
 

Detailed Description

Provides default implementation to common layer functionalities.

Definition at line 53 of file layerconfiguration.h.

Constructor & Destructor Documentation

◆ LayerConfiguration()

EMANE::LayerConfiguration::LayerConfiguration ( std::string  sType)

Constructor

Parameters
sTypeLayer type

Definition at line 45 of file layerconfiguration.cc.

◆ ~LayerConfiguration()

virtual EMANE::LayerConfiguration::~LayerConfiguration ( )
inlinevirtual

Destructor

Definition at line 70 of file layerconfiguration.h.

Member Function Documentation

◆ doProcessChildNode()

void EMANE::LayerConfiguration::doProcessChildNode ( xmlNodePtr  pNode)
protectedvirtual

Forwards the child node to a specific derived class

Parameters
pNodePointer to the node
Exceptions
ParseExceptionValidateException

Reimplemented in EMANE::NEMConfiguration, EMANE::EventDaemonConfiguration, EMANE::EventServiceConfiguration, EMANE::TransportDaemonConfiguration, EMANE::TransportInstanceConfiguration, and EMANE::PlatformConfiguration.

Definition at line 125 of file layerconfiguration.cc.

◆ doProcessChildren()

void EMANE::LayerConfiguration::doProcessChildren ( xmlNodePtr  pParent,
ParamMap &  paramMap 
)
protectedvirtual

Process the children of the specifie node

Parameters
pParentPointer to the parent
paramMapParameter map
Exceptions
ParseExceptionValidateException

Definition at line 93 of file layerconfiguration.cc.

◆ doProcessParam()

void EMANE::LayerConfiguration::doProcessParam ( ParamMap &  paramMap,
xmlNodePtr  pParamNode 
)
protected

Parse the param node

Parameters
paramMapto store parsed value
pParamNodePointer to the param node

Definition at line 132 of file layerconfiguration.cc.

◆ doProcessParamlist()

void EMANE::LayerConfiguration::doProcessParamlist ( ParamMap &  paramMap,
xmlNodePtr  pParamlistNode 
)
protected

Parse the param node

Parameters
paramMapto store parsed values
pParamlistNodePointer to the param list node

Definition at line 153 of file layerconfiguration.cc.

◆ doProcessRootAttributes()

void EMANE::LayerConfiguration::doProcessRootAttributes ( xmlNodePtr  pRoot)
protectedvirtual

Forwards the processing of the root node to a specific derived class

Parameters
pRootPointer to the root node
Exceptions
ParseExceptionValidateException

Reimplemented in EMANE::NEMConfiguration, EMANE::EventDaemonConfiguration, EMANE::EventServiceConfiguration, EMANE::PlatformConfiguration, EMANE::EventAgentConfiguration, EMANE::PluginConfiguration, and EMANE::EventGeneratorConfiguration.

Definition at line 86 of file layerconfiguration.cc.

◆ getAttrVal()

std::string EMANE::LayerConfiguration::getAttrVal ( xmlNodePtr  pNode,
const char *  attributename 
)
protected

Get the value of the attribute of the passed node

Parameters
pNodePointer to the xml Node
attributenameName of the attribute to retrieve
Returns
String value of named attribute

Definition at line 185 of file layerconfiguration.cc.

◆ getAttrValNumeric()

std::uint16_t EMANE::LayerConfiguration::getAttrValNumeric ( xmlNodePtr  pNode,
const char *  attributename 
)
protected

Get the numeric value of the attribute of the passed node

Parameters
pNodePointer to the xml Node
attributenameName of the attribute to retrieve
Returns
Numeric value of the named attribute

Definition at line 205 of file layerconfiguration.cc.

◆ getConfigurationUpdateRequest()

const EMANE::ConfigurationUpdateRequest EMANE::LayerConfiguration::getConfigurationUpdateRequest ( )

Return A ConfigurationUpdateRequest built from the XML contents

Returns
A ConfigurationUpdateRequest built from the XML contents

Definition at line 233 of file layerconfiguration.cc.

◆ getDefinitionFile()

std::string EMANE::LayerConfiguration::getDefinitionFile ( ) const

Returns the name of the definition file

Returns
Path the name of the definition file

Definition at line 268 of file layerconfiguration.cc.

◆ getDefinitionPath()

std::string EMANE::LayerConfiguration::getDefinitionPath ( ) const

Returns the path to the definition file

Returns
Path to the definition file

Definition at line 261 of file layerconfiguration.cc.

◆ getLibrary()

std::string EMANE::LayerConfiguration::getLibrary ( ) const

Returns the library with this layer

Returns
Library for this layer

Definition at line 254 of file layerconfiguration.cc.

◆ getType()

std::string EMANE::LayerConfiguration::getType ( ) const

Returns the type with this layer

Returns
Type for this layer

Definition at line 247 of file layerconfiguration.cc.

◆ overlayParams()

void EMANE::LayerConfiguration::overlayParams ( xmlNodePtr  pNode)

Overlay parent parameter values atop child values already parsed

Parameters
pNodePointer to parent node of params to overlay

Definition at line 214 of file layerconfiguration.cc.

◆ processDefinition()

void EMANE::LayerConfiguration::processDefinition ( const char *  pxzName,
const std::string &  sURI 
)
protected

Processes the definition of a given layer

Parameters
pxzNameName of the xml node to expect as root
sURIThe URI to parse
Exceptions
ParseExceptionValidateException

Definition at line 51 of file layerconfiguration.cc.

◆ setPathAndFile()

void EMANE::LayerConfiguration::setPathAndFile ( const std::string  sURI)
protected

Identify URL & URN portion of the definition file

Definition at line 275 of file layerconfiguration.cc.

Member Data Documentation

◆ params_

ParamMap EMANE::LayerConfiguration::params_
protected

Internal map { paramname, [ paramvals ] }

Definition at line 214 of file layerconfiguration.h.

◆ sLibrary_

std::string EMANE::LayerConfiguration::sLibrary_
protected

Name of implementing library

Definition at line 209 of file layerconfiguration.h.

◆ sName_

std::string EMANE::LayerConfiguration::sName_
protected

Configured name of this layer

Definition at line 204 of file layerconfiguration.h.


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