53 std::unique_ptr<EMANE::Application::TransportManager>
60 throw BuildException(
"Trying to build a TransportManager without any TransportAdapters");
69 pManager->initialize(registrarProxy);
74 std::for_each(adapters.begin(),
76 [&pManager](std::unique_ptr<TransportAdapter> & pAdapter)
78 pManager->add(pAdapter);
85 std::unique_ptr<EMANE::Application::TransportAdapter>
89 if(pTransport == NULL)
91 throw BuildException(
"Trying to build a TransportAdapter without a Transport");
100 pAdapter->initialize(registrarProxy);
105 pAdapter->setTransport(pTransport);
111 std::unique_ptr<EMANE::NEMLayer>
113 const std::string & sLibraryFile,
115 bool bSkipConfigure)
const 117 std::string sNativeLibraryFile =
"lib" +
146 pPlatformService->setNEMLayer(buildId,
158 pNEMLayer->initialize(registrarProxy);
166 return std::unique_ptr<EMANE::NEMLayer>(pNEMLayer.release());
171 EMANE::Application::TransportBuilder::newPlatformService()
const 177 std::unique_ptr<EMANE::Application::TransportAdapter>
178 EMANE::Application::TransportBuilder::buildTransportWithAdapter_i(
Transport * pTransport,
181 const std::string & sPlatformEndpoint,
182 const std::string & sTransportEndpoint)
const 203 pPlatformService->setNEMLayer(buildId,
214 pNEMLayer->initialize(registrarProxy);
218 std::unique_ptr<NEMLayer> p{pNEMLayer.release()};
222 {
"platformendpoint",{sPlatformEndpoint}},
223 {
"transportendpoint",{sTransportEndpoint}}
227 return pTransportAdapter;
std::unique_ptr< NEMLayer > buildTransport(NEMId id, const std::string &sLibraryFile, const ConfigurationUpdateRequest &request, bool bSkipConfigure=false) const
Base class for all transports.
Manages all instantiated transports.
const TransportFactory & getTransportFactory(const std::string &sLibraryFile)
Implementation of the Transport Adapter interface. Connects a Transport implemenation with its respec...
std::list< std::unique_ptr< TransportAdapter > > TransportAdapters
std::unique_ptr< TransportAdapter > buildTransportAdapter(std::unique_ptr< NEMLayer > &pTransport, const ConfigurationUpdateRequest &request) const
Exception thrown by builders when constructing and assembling application objects and containers...
void registerRunningStateMutable(BuildId buildId, RunningStateMutable *pRunningStateMutable)
Transport * createTransport(NEMId nemId, PlatformServiceProvider *pPlatformService) const
BuildId registerBuildable(Application::NEMManager *pNEMManager)
Bridge for the Transport NEM layer. Decouples a TransportLayerImplementor implementation from the NEM...
Factory for creating Transports. The factory manages the DLL allowing for the creation of multiple tr...
std::vector< ConfigurationNameStringValues > ConfigurationUpdateRequest
void registerEventServiceUser(BuildId buildId, EventServiceUser *pEventServiceUser, NEMId=0)
A layer stack that enforces component state transition rules. The stateful layer is not a fully funct...
std::unique_ptr< TransportManager > buildTransportManager(const uuid_t &uuid, TransportAdapters &adapters, const ConfigurationUpdateRequest &request) const
static BuildIdService * instance()