summaryrefslogtreecommitdiff
path: root/AudioManagerCore/src/CAmRoutingSender.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'AudioManagerCore/src/CAmRoutingSender.cpp')
-rw-r--r--AudioManagerCore/src/CAmRoutingSender.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/AudioManagerCore/src/CAmRoutingSender.cpp b/AudioManagerCore/src/CAmRoutingSender.cpp
index 6dfc00a..93d5894 100644
--- a/AudioManagerCore/src/CAmRoutingSender.cpp
+++ b/AudioManagerCore/src/CAmRoutingSender.cpp
@@ -289,7 +289,7 @@ am_Error_e CAmRoutingSender::asyncDisconnect(am_Handle_s& handle, const am_conne
}
else
{
- auto handleData = std::make_shared<handleDisconnect>(iter->second,connectionID,mpDatabaseHandler);
+ auto handleData = std::make_shared<handleDisconnect>(iter->second,connectionID,mpDatabaseHandler,this);
handle = createHandle(handleData, am_Handle_e::H_DISCONNECT);
}
@@ -1076,7 +1076,6 @@ am_Error_e CAmRoutingSender::handleSinkVolume::writeDataToDatabase()
return (mpDatabaseHandler->changeSinkVolume(mSinkID,returnVolume()));
}
-
am_Error_e CAmRoutingSender::handleCrossFader::writeDataToDatabase()
{
return (mpDatabaseHandler->changeCrossFaderHotSink(mCrossfaderID, mHotSink));
@@ -1084,6 +1083,7 @@ am_Error_e CAmRoutingSender::handleCrossFader::writeDataToDatabase()
am_Error_e CAmRoutingSender::handleConnect::writeDataToDatabase()
{
+ mConnectionPending = false;
return (mpDatabaseHandler->changeConnectionFinal(mConnectionID));
}
@@ -1100,13 +1100,14 @@ am_Error_e CAmRoutingSender::handleSetVolumes::writeDataToDatabase()
{
if (iterator->volumeType==VT_SINK)
{
- mpDatabaseHandler->changeSinkVolume(iterator->volumeID.sink,iterator->volume);
+ return (mpDatabaseHandler->changeSinkVolume(iterator->volumeID.sink,iterator->volume));
}
else if (iterator->volumeType==VT_SOURCE)
{
- mpDatabaseHandler->changeSourceVolume(iterator->volumeID.source,iterator->volume);
+ return (mpDatabaseHandler->changeSourceVolume(iterator->volumeID.source,iterator->volume));
}
}
+ return (am_Error_e::E_WRONG_FORMAT);
}
am_Error_e CAmRoutingSender::handleSetSinkNotificationConfiguration::writeDataToDatabase()
@@ -1131,5 +1132,18 @@ am_Error_e CAmRoutingSender::removeConnectionLookup(const am_connectionID_t conn
return (E_UNKNOWN);
}
+CAmRoutingSender::handleConnect::~handleConnect()
+{
+ if (mConnectionPending)
+ {
+ mpDatabaseHandler->removeConnection(mConnectionID);
+ }
+}
+
+CAmRoutingSender::handleDisconnect::~handleDisconnect()
+{
+ mRoutingSender->removeConnectionLookup(mConnectionID);
+}
+
}