summaryrefslogtreecommitdiff
path: root/AudioManagerCore/include
diff options
context:
space:
mode:
authorMartin Koch <martin.koch@ese.de>2020-06-19 16:01:19 +0200
committerMartin Koch <martin.koch@ese.de>2020-07-01 14:37:32 +0200
commit066c3f7f16ef69e80376942e8d6b8c4944b8ed08 (patch)
treed7d6ee7e5591e6915865ff0b0fa67191091032ca /AudioManagerCore/include
parent4b34f9dc67e4ff1948d233346c2e5e3b14b8e78a (diff)
downloadaudiomanager-066c3f7f16ef69e80376942e8d6b8c4944b8ed08.tar.gz
Add support for announcement and handling of pre-established audio connections through routing side
As the complete initialization of the cockpit system takes some time, a few use-cases exist where information needs to be audible (or visible) right before the system is fully started. Here we mainly have: - system alerts + door open + seat belt missing + engine faults - parking assistant warnings + rear view camera screen + beeps if distance goes below limit Both routing- and control-side are extended to allow notifying about such connections Signed-off-by: Martin Koch <martin.koch@ese.de>
Diffstat (limited to 'AudioManagerCore/include')
-rw-r--r--AudioManagerCore/include/CAmControlReceiver.h2
-rw-r--r--AudioManagerCore/include/CAmControlSender.h2
-rw-r--r--AudioManagerCore/include/CAmDatabaseHandlerMap.h1
-rw-r--r--AudioManagerCore/include/CAmRoutingReceiver.h3
-rw-r--r--AudioManagerCore/include/CAmRoutingSender.h2
-rw-r--r--AudioManagerCore/include/IAmDatabaseHandler.h1
6 files changed, 11 insertions, 0 deletions
diff --git a/AudioManagerCore/include/CAmControlReceiver.h b/AudioManagerCore/include/CAmControlReceiver.h
index bd897de..a7cb394 100644
--- a/AudioManagerCore/include/CAmControlReceiver.h
+++ b/AudioManagerCore/include/CAmControlReceiver.h
@@ -127,6 +127,8 @@ 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_domainID_t domainID) override;
am_Error_e getSocketHandler(CAmSocketHandler * &socketHandler);
void getInterfaceVersion(std::string &version) const;
am_Error_e changeSourceDB(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector<am_SoundProperty_s> &listSoundProperties, const std::vector<am_CustomConnectionFormat_t> &listConnectionFormats, const std::vector<am_MainSoundProperty_s> &listMainSoundProperties);
diff --git a/AudioManagerCore/include/CAmControlSender.h b/AudioManagerCore/include/CAmControlSender.h
index 77e8e2c..494f7f3 100644
--- a/AudioManagerCore/include/CAmControlSender.h
+++ b/AudioManagerCore/include/CAmControlSender.h
@@ -71,6 +71,8 @@ public:
am_Error_e hookSystemDeregisterConverter(const am_converterID_t converterID);
am_Error_e hookSystemRegisterCrossfader(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID);
am_Error_e hookSystemDeregisterCrossfader(const am_crossfaderID_t crossfaderID);
+ am_Error_e hookSystemRegisterEarlyConnection(am_domainID_t domainID
+ , const am_MainConnection_s &mainConnectionData);
void hookSystemSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume);
void hookSystemSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume);
void hookSystemInterruptStateChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState);
diff --git a/AudioManagerCore/include/CAmDatabaseHandlerMap.h b/AudioManagerCore/include/CAmDatabaseHandlerMap.h
index 46da560..a1ec6a3 100644
--- a/AudioManagerCore/include/CAmDatabaseHandlerMap.h
+++ b/AudioManagerCore/include/CAmDatabaseHandlerMap.h
@@ -175,6 +175,7 @@ public:
am_Error_e getSinkInfoDB(const am_sinkID_t sinkID, am_Sink_s &sinkData) const;
am_Error_e getSourceInfoDB(const am_sourceID_t sourceID, am_Source_s &sourceData) const;
am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s &crossfaderData) const;
+ am_Error_e getConnectionInfoDB(const am_connectionID_t connectionID, am_Connection_s &connectionData) const;
am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s &mainConnectionData) const;
am_Error_e getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t &mainVolume) const;
am_Error_e getSinkVolume(const am_sinkID_t sinkID, am_volume_t &volume) const;
diff --git a/AudioManagerCore/include/CAmRoutingReceiver.h b/AudioManagerCore/include/CAmRoutingReceiver.h
index 42f3e89..3f85ba7 100644
--- a/AudioManagerCore/include/CAmRoutingReceiver.h
+++ b/AudioManagerCore/include/CAmRoutingReceiver.h
@@ -44,6 +44,7 @@ public:
CAmRoutingReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmControlSender *iControlSender, CAmSocketHandler *iSocketHandler);
CAmRoutingReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmControlSender *iControlSender, CAmSocketHandler *iSocketHandler, CAmDbusWrapper *iDBusWrapper);
~CAmRoutingReceiver();
+ void ackTransferConnection(const am_Handle_s handle, const am_Error_e errorID);
void ackConnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error);
void ackDisconnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error);
void ackSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error);
@@ -59,6 +60,8 @@ public:
am_Error_e peekDomain(const std::string &name, am_domainID_t &domainID);
am_Error_e registerDomain(const am_Domain_s &domainData, am_domainID_t &domainID);
am_Error_e deregisterDomain(const am_domainID_t domainID);
+ am_Error_e registerEarlyConnection(am_domainID_t domainID, const std::vector< am_Connection_s > &route
+ , am_ConnectionState_e state);
am_Error_e registerGateway(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID);
am_Error_e registerConverter(const am_Converter_s &converterData, am_converterID_t &converterID);
am_Error_e deregisterGateway(const am_gatewayID_t gatewayID);
diff --git a/AudioManagerCore/include/CAmRoutingSender.h b/AudioManagerCore/include/CAmRoutingSender.h
index 39b5c23..7756ccc 100644
--- a/AudioManagerCore/include/CAmRoutingSender.h
+++ b/AudioManagerCore/include/CAmRoutingSender.h
@@ -62,6 +62,8 @@ public:
am_Error_e startupInterfaces(CAmRoutingReceiver *iRoutingReceiver);
void setRoutingReady();
void setRoutingRundown();
+ am_Error_e asyncTransferConnection(const 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);
am_Error_e asyncDisconnect(am_Handle_s &handle, const am_connectionID_t connectionID);
diff --git a/AudioManagerCore/include/IAmDatabaseHandler.h b/AudioManagerCore/include/IAmDatabaseHandler.h
index 8e4118e..495f4e6 100644
--- a/AudioManagerCore/include/IAmDatabaseHandler.h
+++ b/AudioManagerCore/include/IAmDatabaseHandler.h
@@ -114,6 +114,7 @@ public:
virtual am_Error_e getSinkInfoDB(const am_sinkID_t sinkID, am_Sink_s &sinkData) const = 0;
virtual am_Error_e getSourceInfoDB(const am_sourceID_t sourceID, am_Source_s &sourceData) const = 0;
virtual am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s &crossfaderData) const = 0;
+ virtual am_Error_e getConnectionInfoDB(const am_connectionID_t connectionID, am_Connection_s &connectionData) const = 0;
virtual am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s &mainConnectionData) const = 0;
virtual am_Error_e getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t &mainVolume) const = 0;
virtual am_Error_e getSinkVolume(const am_sinkID_t sinkID, am_volume_t &volume) const = 0;