EMANE  1.2.1
EMANE::Application::NEMBuilder Class Reference

Provides methods for constructing an emulator instance from its constituent parts. More...

#include <nembuilder.h>

Public Member Functions

 NEMBuilder ()
 
 ~NEMBuilder ()
 
std::unique_ptr< NEMLayerbuildPHYLayer (NEMId id, const std::string &sLibraryFile, const ConfigurationUpdateRequest &request, bool bSkipConfigure=false)
 
std::unique_ptr< NEMLayerbuildMACLayer (NEMId id, const std::string &sLibraryFile, const ConfigurationUpdateRequest &request, bool bSkipConfigure=false)
 
std::unique_ptr< NEMLayerbuildShimLayer (NEMId id, const std::string &sLibraryFile, const ConfigurationUpdateRequest &request, bool bSkipConfigure=false)
 
std::unique_ptr< NEMLayerbuildTransportLayer (NEMId id, const std::string &sLibraryFile, const ConfigurationUpdateRequest &request, bool bSkipConfigure=false)
 
std::unique_ptr< NEMbuildNEM (NEMId id, NEMLayers &layers, const ConfigurationUpdateRequest &request, bool bHasExternalTransport)
 
std::unique_ptr< NEMManagerbuildNEMManager (const uuid_t &uuid, NEMs &nems, const ConfigurationUpdateRequest &request)
 

Detailed Description

Provides methods for constructing an emulator instance from its constituent parts.

Definition at line 60 of file nembuilder.h.

Constructor & Destructor Documentation

◆ NEMBuilder()

EMANE::Application::NEMBuilder::NEMBuilder ( )

Definition at line 81 of file nembuilder.cc.

◆ ~NEMBuilder()

EMANE::Application::NEMBuilder::~NEMBuilder ( )

Definition at line 84 of file nembuilder.cc.

Member Function Documentation

◆ buildMACLayer()

std::unique_ptr< EMANE::NEMLayer > EMANE::Application::NEMBuilder::buildMACLayer ( NEMId  id,
const std::string &  sLibraryFile,
const ConfigurationUpdateRequest request,
bool  bSkipConfigure = false 
)

Builds a MAC layer

Parameters
idid of the NEM that will contain the mac
sLibraryFileName of the dll containing the layer
requestConfiguration update request
bSkipConfigureFlag indicating whether to skip calling Component::configure
Returns
Unique pointer to an initialized MAC
Exceptions
Utils::FactoryExceptionwhen a DLL load error occurs.
InitializeExceptionwhen an error occurs during initialization.
ConfigureExceptionwhen an error occurs during configure.

Definition at line 159 of file nembuilder.cc.

◆ buildNEM()

std::unique_ptr< EMANE::Application::NEM > EMANE::Application::NEMBuilder::buildNEM ( NEMId  id,
NEMLayers layers,
const ConfigurationUpdateRequest request,
bool  bHasExternalTransport 
)

Builds an NEM

Parameters
idNEM id
layersThe NEMLayers comprising the NEM
requestConfiguration update request
bHasExternalTransportFlag indicating whether transport is external
Returns
Unique pointer to an initialized NEM
Exceptions
InitializeExceptionwhen an error occurs during initialization.
BuildExceptionwhen an error occurs building an NEM from the specified layers.
ConfigureExceptionwhen an error occurs during configure.

Definition at line 281 of file nembuilder.cc.

◆ buildNEMManager()

std::unique_ptr< EMANE::Application::NEMManager > EMANE::Application::NEMBuilder::buildNEMManager ( const uuid_t &  uuid,
NEMs nems,
const ConfigurationUpdateRequest request 
)

Builds an NEM Manager

Parameters
uuidInstance UUID
nemsThe NEMs comprising the Platform
requestConfiguration update request
Returns
Unique pointer to an initialized Platform
Exceptions
Utils::FactoryExceptionwhen a DLL load error occurs.
InitializeExceptionwhen an error occurs during initialization.
BuildExceptionwhen an error occurs building an NEM from the specified layers.
ConfigureExceptionwhen an error occurs during configure.

Definition at line 324 of file nembuilder.cc.

◆ buildPHYLayer()

std::unique_ptr< EMANE::NEMLayer > EMANE::Application::NEMBuilder::buildPHYLayer ( NEMId  id,
const std::string &  sLibraryFile,
const ConfigurationUpdateRequest request,
bool  bSkipConfigure = false 
)

Builds a PHY layer

Parameters
idid of the NEM that will contain the phy
sLibraryFileName of the dll containing the layer
requestConfiguration update request
bSkipConfigureFlag indicating whether to skip calling Component::configure
Returns
Unique pointer to an initialized PHY
Exceptions
Utils::FactoryExceptionwhen a DLL load error occurs.
InitializeExceptionwhen an error occurs during initialization.
ConfigureExceptionwhen an error occurs during configure.

Definition at line 87 of file nembuilder.cc.

◆ buildShimLayer()

std::unique_ptr< EMANE::NEMLayer > EMANE::Application::NEMBuilder::buildShimLayer ( NEMId  id,
const std::string &  sLibraryFile,
const ConfigurationUpdateRequest request,
bool  bSkipConfigure = false 
)

Builds a Shim layer

Parameters
idid of the NEM that will contain the shim
sLibraryFileName of the dll containing the layer
requestConfiguration update request
bSkipConfigureFlag indicating whether to skip calling Component::configure
Returns
Unique pointer to an initialized and configured Shim
Exceptions
Utils::FactoryExceptionwhen a DLL load error occurs.
InitializeExceptionwhen an error occurs during initialization.
ConfigureExceptionwhen an error occurs during configure.

Definition at line 220 of file nembuilder.cc.

◆ buildTransportLayer()

std::unique_ptr< EMANE::NEMLayer > EMANE::Application::NEMBuilder::buildTransportLayer ( NEMId  id,
const std::string &  sLibraryFile,
const ConfigurationUpdateRequest request,
bool  bSkipConfigure = false 
)

Builds a Transport layer

Parameters
idid of the NEM that will contain the transport
sLibraryFileName of the dll containing the layer
requestConfiguration update request
bSkipConfigureFlag indicating whether to skip calling Component::configure
Returns
Unique pointer to an initialized and configured Transport
Exceptions
Utils::FactoryExceptionwhen a DLL load error occurs.
InitializeExceptionwhen an error occurs during initialization.
ConfigureExceptionwhen an error occurs during configure.

Definition at line 355 of file nembuilder.cc.


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