diff options
author | christian mueller <christian.ei.mueller@bmw.de> | 2012-04-02 18:33:35 +0200 |
---|---|---|
committer | christian mueller <christian.ei.mueller@bmw.de> | 2012-04-02 18:33:35 +0200 |
commit | 1d5307af0df188414eeffc5f7f4c40b49c50172b (patch) | |
tree | 24ddae79f3e69055efce68f947007a480881f972 /AudioManagerDaemon/src/CAmRoutingSender.cpp | |
parent | bc7cd53576df7708e777aaeca04b0da64114e6d7 (diff) | |
download | audiomanager-1d5307af0df188414eeffc5f7f4c40b49c50172b.tar.gz |
* [GAM-54] fixed.
Signed-off-by: christian mueller <christian.ei.mueller@bmw.de>
Diffstat (limited to 'AudioManagerDaemon/src/CAmRoutingSender.cpp')
-rw-r--r-- | AudioManagerDaemon/src/CAmRoutingSender.cpp | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/AudioManagerDaemon/src/CAmRoutingSender.cpp b/AudioManagerDaemon/src/CAmRoutingSender.cpp index 09e0a2e..b6279a7 100644 --- a/AudioManagerDaemon/src/CAmRoutingSender.cpp +++ b/AudioManagerDaemon/src/CAmRoutingSender.cpp @@ -553,25 +553,46 @@ CAmRoutingSender::am_handleData_c CAmRoutingSender::returnHandleData(const am_Ha void CAmRoutingSender::setRoutingReady() { mpRoutingReceiver->waitOnStartup(false); + + //create a list of handles + std::vector<uint16_t> listStartupHandles; + for (size_t i = 0; i <= mListInterfaces.size(); i++) + { + listStartupHandles.push_back(mpRoutingReceiver->getStartupHandle()); + } + + //set the receiver ready to wait for replies + mpRoutingReceiver->waitOnStartup(true); + std::vector<InterfaceNamePairs>::iterator iter = mListInterfaces.begin(); std::vector<InterfaceNamePairs>::iterator iterEnd = mListInterfaces.end(); + std::vector<uint16_t>::const_iterator handleIter(listStartupHandles.begin()); for (; iter < iterEnd; ++iter) { - (*iter).routingInterface->setRoutingReady(mpRoutingReceiver->getStartupHandle()); + (*iter).routingInterface->setRoutingReady(*(handleIter++)); } - mpRoutingReceiver->waitOnStartup(true); } void CAmRoutingSender::setRoutingRundown() { mpRoutingReceiver->waitOnRundown(false); + //create a list of handles + std::vector<uint16_t> listStartupHandles; + for (size_t i = 0; i <= mListInterfaces.size(); i++) + { + listStartupHandles.push_back(mpRoutingReceiver->getRundownHandle()); + } + + //set the receiver ready to wait for replies + mpRoutingReceiver->waitOnRundown(true); + std::vector<InterfaceNamePairs>::iterator iter = mListInterfaces.begin(); std::vector<InterfaceNamePairs>::iterator iterEnd = mListInterfaces.end(); + std::vector<uint16_t>::const_iterator handleIter(listStartupHandles.begin()); for (; iter < iterEnd; ++iter) { - (*iter).routingInterface->setRoutingRundown(mpRoutingReceiver->getStartupHandle()); + (*iter).routingInterface->setRoutingRundown(*(handleIter++)); } - mpRoutingReceiver->waitOnRundown(true); } void CAmRoutingSender::unloadLibraries(void) |