39 transportManagerBuildId_{},
40 eventGeneratorManagerBuildId_{},
41 eventAgentManagerBuildId_{}{}
45 EMANE::BuildIdService::assignBuildId(
Buildable *pBuildable)
54 if(!nemManagerBuildId_)
56 nemManagerBuildId_ = assignBuildId(pNEMManager);
63 return nemManagerBuildId_;
68 auto iter = NEMLayerComponentBuildIdMap_.find(pLayer->
getNEMId());
70 BuildId buildId{assignBuildId(pLayer)};
72 if(iter != NEMLayerComponentBuildIdMap_.end())
74 iter->second.push_back(std::make_tuple(buildId,type,sPluginName));
78 NEMLayerComponentBuildIdMap_.insert(std::make_pair(pLayer->
getNEMId(),
79 std::vector<std::tuple<BuildId,ComponentType,std::string>>{std::make_tuple(buildId,type,sPluginName)}));
87 if(!transportManagerBuildId_)
89 transportManagerBuildId_ = assignBuildId(pTransportManager);
96 return transportManagerBuildId_;
101 BuildId buildId{assignBuildId(pTransport)};
103 NEMTransportBuildIdMap_.insert(std::make_pair(pTransport->
getNEMId(),buildId));
110 BuildId buildId{assignBuildId(pNEM)};
112 NEMBuildIdMap_.insert(std::make_pair(pNEM->
getNEMId(),buildId));
119 BuildId buildId{assignBuildId(pTransportAdapter)};
121 NEMTransportAdapterBuildIdMap_.insert(std::make_pair(pTransportAdapter->
getNEMId(),
128 if(!eventGeneratorManagerBuildId_)
130 eventGeneratorManagerBuildId_ = assignBuildId(pEventGeneratorManager);
134 throw BuildException(
"Event Generator Manager already registered");
137 return eventGeneratorManagerBuildId_;
142 BuildId buildId{assignBuildId(pGenerator)};
144 eventGeneratorBuildIds_.push_back(buildId);
151 if(!eventAgentManagerBuildId_)
153 eventAgentManagerBuildId_ = assignBuildId(pEventAgentManager);
160 return eventAgentManagerBuildId_;
165 BuildId buildId{assignBuildId(pEventAgent)};
167 eventAgentBuildIds_.push_back(buildId);
174 return NEMLayerComponentBuildIdMap_;
std::map< NEMId, std::vector< std::tuple< BuildId, ComponentType, std::string > >> NEMLayerComponentBuildIdMap
Network emulation module container interface. A container for NEM component layers connected to a tra...
Base class for all transports.
virtual NEMId getNEMId() const =0
Base class for NEMLayer containers. Builders construct NEMLayer objects to contain derived instances ...
const NEMLayerComponentBuildIdMap & getNEMLayerComponentBuildIdMap() const
Exception thrown by builders when constructing and assembling application objects and containers...
Base class for all event generators.
Contains and manages NEM instances.
A interface to mark objects with a unique application wide build Id. Builders manipulate buildable ob...
Base class for all event agents.
BuildId registerBuildable(Application::NEMManager *pNEMManager)
void setBuildId(BuildId bid)
Transport Adapter interface. A Transport Adapter combines with a Transport to connect with its respec...
Manages all instantiated transports.
Deployment event server interface.