diff options
author | Martin Koch <martin.koch@ese.de> | 2020-06-19 16:01:19 +0200 |
---|---|---|
committer | Martin Koch <martin.koch@ese.de> | 2020-07-01 14:37:32 +0200 |
commit | 066c3f7f16ef69e80376942e8d6b8c4944b8ed08 (patch) | |
tree | d7d6ee7e5591e6915865ff0b0fa67191091032ca /AudioManagerCore/include | |
parent | 4b34f9dc67e4ff1948d233346c2e5e3b14b8e78a (diff) | |
download | audiomanager-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.h | 2 | ||||
-rw-r--r-- | AudioManagerCore/include/CAmControlSender.h | 2 | ||||
-rw-r--r-- | AudioManagerCore/include/CAmDatabaseHandlerMap.h | 1 | ||||
-rw-r--r-- | AudioManagerCore/include/CAmRoutingReceiver.h | 3 | ||||
-rw-r--r-- | AudioManagerCore/include/CAmRoutingSender.h | 2 | ||||
-rw-r--r-- | AudioManagerCore/include/IAmDatabaseHandler.h | 1 |
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; |