summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/src/CAmRoutingSender.cpp
diff options
context:
space:
mode:
authorchristian mueller <christian.ei.mueller@bmw.de>2012-04-02 18:33:35 +0200
committerchristian mueller <christian.ei.mueller@bmw.de>2012-04-02 18:33:35 +0200
commit1d5307af0df188414eeffc5f7f4c40b49c50172b (patch)
tree24ddae79f3e69055efce68f947007a480881f972 /AudioManagerDaemon/src/CAmRoutingSender.cpp
parentbc7cd53576df7708e777aaeca04b0da64114e6d7 (diff)
downloadaudiomanager-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.cpp29
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)