summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Koch <martin.koch@ese.de>2020-06-29 14:53:21 +0200
committerMartin Koch <martin.koch@ese.de>2020-07-01 14:37:33 +0200
commitd4cae89a7aaf275110dddb205a1be7c3cac531c9 (patch)
treefb8e379e4a7a4c061014783d987f37449bf84513
parentefe1f88f36383ab1f1ad657e14e4fd4885eaf55f (diff)
downloadaudiomanager-d4cae89a7aaf275110dddb205a1be7c3cac531c9.tar.gz
AM: fix const handle in transferConnection family of functions
Signed-off-by: Martin Koch <martin.koch@ese.de>
-rw-r--r--AudioManagerCore/include/CAmControlReceiver.h2
-rw-r--r--AudioManagerCore/include/CAmRoutingSender.h20
-rw-r--r--AudioManagerCore/src/CAmControlReceiver.cpp2
-rw-r--r--AudioManagerCore/src/CAmRoutingSender.cpp7
-rw-r--r--include/IAmControl.h2
5 files changed, 28 insertions, 5 deletions
diff --git a/AudioManagerCore/include/CAmControlReceiver.h b/AudioManagerCore/include/CAmControlReceiver.h
index 73aac03..d4a75b1 100644
--- a/AudioManagerCore/include/CAmControlReceiver.h
+++ b/AudioManagerCore/include/CAmControlReceiver.h
@@ -128,7 +128,7 @@ public:
void setRoutingRundown();
void confirmControllerReady(const am_Error_e error);
void confirmControllerRundown(const am_Error_e error);
- am_Error_e transferConnection(const am_Handle_s handle, am_mainConnectionID_t mainConnectionID
+ am_Error_e transferConnection(am_Handle_s &handle, am_mainConnectionID_t mainConnectionID
, am_domainID_t domainID) override;
am_Error_e getSocketHandler(CAmSocketHandler * &socketHandler);
void getInterfaceVersion(std::string &version) const;
diff --git a/AudioManagerCore/include/CAmRoutingSender.h b/AudioManagerCore/include/CAmRoutingSender.h
index 7756ccc..cbaddae 100644
--- a/AudioManagerCore/include/CAmRoutingSender.h
+++ b/AudioManagerCore/include/CAmRoutingSender.h
@@ -62,7 +62,7 @@ public:
am_Error_e startupInterfaces(CAmRoutingReceiver *iRoutingReceiver);
void setRoutingReady();
void setRoutingRundown();
- am_Error_e asyncTransferConnection(const am_Handle_s handle, am_domainID_t domainID
+ am_Error_e asyncTransferConnection(am_Handle_s &handle, am_domainID_t domainID
, const std::vector<std::pair<std::string, std::string>> &route, am_ConnectionState_e state);
am_Error_e asyncAbort(const am_Handle_s &handle);
am_Error_e asyncConnect(am_Handle_s &handle, am_connectionID_t &connectionID, const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_CustomConnectionFormat_t connectionFormat);
@@ -264,6 +264,24 @@ public:
CAmRoutingSender *mRoutingSender;
};
+ class handleTransfer : public handleDataBase
+ {
+ public:
+ handleTransfer(IAmRoutingSend *interface, const std::vector<std::pair<std::string, std::string>> &route
+ , am_ConnectionState_e state, IAmDatabaseHandler *databaseHandler)
+ : handleDataBase(interface, databaseHandler)
+ , mRoute(route)
+ , mState(state)
+ , mTransferPending(true) {}
+ ~handleTransfer() { };
+ am_Error_e writeDataToDatabase() { return E_OK; };
+
+ private:
+ const std::vector<std::pair<std::string, std::string>> mRoute;
+ am_ConnectionState_e mState;
+ bool mTransferPending;
+ };
+
class handleSetVolumes : public handleDataBase
{
public:
diff --git a/AudioManagerCore/src/CAmControlReceiver.cpp b/AudioManagerCore/src/CAmControlReceiver.cpp
index 737e659..6c2db01 100644
--- a/AudioManagerCore/src/CAmControlReceiver.cpp
+++ b/AudioManagerCore/src/CAmControlReceiver.cpp
@@ -456,7 +456,7 @@ void CAmControlReceiver::confirmControllerRundown(const am_Error_e error)
mSocketHandler->exit_mainloop();
}
-am_Error_e CAmControlReceiver::transferConnection(const am_Handle_s handle
+am_Error_e CAmControlReceiver::transferConnection(am_Handle_s &handle
, am_mainConnectionID_t mainConnectionID, am_domainID_t domainID)
{
am_MainConnection_s mainConnectionData;
diff --git a/AudioManagerCore/src/CAmRoutingSender.cpp b/AudioManagerCore/src/CAmRoutingSender.cpp
index b7da1c4..78d0bba 100644
--- a/AudioManagerCore/src/CAmRoutingSender.cpp
+++ b/AudioManagerCore/src/CAmRoutingSender.cpp
@@ -921,12 +921,17 @@ void CAmRoutingSender::setRoutingRundown()
}
}
-am_Error_e CAmRoutingSender::asyncTransferConnection(const am_Handle_s handle, am_domainID_t domainID
+am_Error_e CAmRoutingSender::asyncTransferConnection(am_Handle_s &handle, am_domainID_t domainID
, const std::vector<std::pair<std::string, std::string>> &route, am_ConnectionState_e state)
{
auto iter = mMapDomainInterface.find(domainID);
if (iter != mMapDomainInterface.end() && iter->second)
{
+ auto handleData = std::make_shared<handleTransfer>(iter->second, route, state, mpDatabaseHandler);
+ handle = createHandle(handleData, H_TRANSFERCONNECTION);
+
+ logInfo(__METHOD_NAME__, "handle=", handle);
+
return iter->second->asyncTransferConnection(handle, domainID, route, state);
}
diff --git a/include/IAmControl.h b/include/IAmControl.h
index e3fe74c..0dd46e5 100644
--- a/include/IAmControl.h
+++ b/include/IAmControl.h
@@ -575,7 +575,7 @@ public:
* @note Success of the responsibility transfer itself is acknowledged through corresponding
* function @ref am::IAmControlSend::cbAckTransferConnection "cbAckTransferConnection()".
*/
- virtual am_Error_e transferConnection(const am_Handle_s handle
+ virtual am_Error_e transferConnection(am_Handle_s &handle
, am_mainConnectionID_t mainConnectionID, am_domainID_t domainID) = 0;
/**