diff options
Diffstat (limited to 'include/routing/IAmRoutingReceive.h')
-rwxr-xr-x | include/routing/IAmRoutingReceive.h | 645 |
1 files changed, 331 insertions, 314 deletions
diff --git a/include/routing/IAmRoutingReceive.h b/include/routing/IAmRoutingReceive.h index 796c28f..de9e55b 100755 --- a/include/routing/IAmRoutingReceive.h +++ b/include/routing/IAmRoutingReceive.h @@ -1,314 +1,331 @@ -/** - * Copyright (C) 2012 - 2014, BMW AG - * - * This file is part of GENIVI Project AudioManager. - * - * Contributions are licensed to the GENIVI Alliance under one or more - * Contribution License Agreements. - * - * \copyright - * This Source Code Form is subject to the terms of the - * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with - * this file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * - * \author Christian Linke, christian.linke@bmw.de BMW 2011 - 2014 - * - * \file - * For further information see http://projects.genivi.org/audio-manager - * - * THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. - * PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN. - */ -#if !defined(EA_C540B86A_9F4A_4ae5_A68A_8A0FD52A7149__INCLUDED_) -#define EA_C540B86A_9F4A_4ae5_A68A_8A0FD52A7149__INCLUDED_ - -#include <vector> -#include <string> -#include "audiomanagertypes.h" -namespace am { -class CAmDbusWrapper; -class CAmSocketHandler; -} - - -#include "audiomanagertypes.h" - -#define RoutingReceiveVersion "3.0" -namespace am { - -/** - * Routing Receive sendInterface description. This class implements everything - * from RoutingAdapter -> Audiomanager - * There are two rules that have to be kept in mind when implementing against this - * interface:\n - * \warning - * 1. CALLS TO THIS INTERFACE ARE NOT THREAD SAFE !!!! \n - * 2. YOU MAY NOT CALL THE CALLING INTERFACE DURING AN SYNCHRONOUS OR ASYNCHRONOUS - * CALL THAT EXPECTS A RETURN VALUE.\n - * \details - * Violation these rules may lead to unexpected behavior! Nevertheless you can - * implement thread safe by using the deferred-call pattern described on the wiki - * which also helps to implement calls that are forbidden.\n - * For more information, please check CAmSerializer - */ -class IAmRoutingReceive -{ - -public: - IAmRoutingReceive() { - - } - - virtual ~IAmRoutingReceive() { - - } - - /** - * This function returns the version of the interface - */ - virtual void getInterfaceVersion(std::string& version) const =0; - /** - * acknowledges a asyncConnect - */ - virtual void ackConnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error) =0; - /** - * acknowledges a asyncDisconnect - */ - virtual void ackDisconnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error) =0; - /** - * acknowledges a asyncsetSinkVolume - */ - virtual void ackSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error) =0; - /** - * acknowledges a asyncsetSourceVolume - */ - virtual void ackSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error) =0; - /** - * acknowlegde for asyncSetSourceState - */ - virtual void ackSetSourceState(const am_Handle_s handle, const am_Error_e error) =0; - /** - * acknowledges asyncSetSinkSoundProperties - */ - virtual void ackSetSinkSoundProperties(const am_Handle_s handle, const am_Error_e error) =0; - /** - * acknowledges asyncSetSinkSoundProperty - */ - virtual void ackSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error) =0; - /** - * acknowledges asyncSetSourceSoundProperties - */ - virtual void ackSetSourceSoundProperties(const am_Handle_s handle, const am_Error_e error) =0; - /** - * acknowledges asyncSetSourceSoundProperty - */ - virtual void ackSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error) =0; - /** - * acknowledges asyncCrossFade - */ - virtual void ackCrossFading(const am_Handle_s handle, const am_HotSink_e hotSink, const am_Error_e error) =0; - /** - * acknowledges a volume tick. This can be used to display volumechanges during - * ramps - */ - virtual void ackSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume) =0; - /** - * acknowledges a volume tick. This can be used to display volumechanges during - * ramps - */ - virtual void ackSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume) =0; - /** - * This function returns the ID to the given domainName. If already a domain is - * registered with this name, it will return the corresponding ID, if not it will - * reserve an ID but not register the domain. The other parameters of the domain - * will be overwritten when the domain is registered. - * @return E_OK on success, E_UNKNOWN on error - */ - virtual am_Error_e peekDomain(const std::string& name, am_domainID_t& domainID) =0; - /** - * registers a domain - * @return E_OK on succes, E_ALREADY_EXISTENT if already registered E_UNKOWN on - * error - */ - virtual am_Error_e registerDomain(const am_Domain_s& domainData, am_domainID_t& domainID) =0; - /** - * deregisters a domain. All sources, sinks, gateways and crossfaders from that - * domain will be removed as well. - * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error - */ - virtual am_Error_e deregisterDomain(const am_domainID_t domainID) =0; - /** - * registers a gateway. @return E_OK on succes, E_ALREADY_EXISTENT if already - * registered E_UNKOWN on error - */ - virtual am_Error_e registerGateway(const am_Gateway_s& gatewayData, am_gatewayID_t& gatewayID) =0; - /** - * deregisters a gateway. Also removes all sinks and sources of the controlling - * domain. - * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error - */ - virtual am_Error_e deregisterGateway(const am_gatewayID_t gatewayID) =0; - /** - * This function returns the ID to the given sinkName. If already a sink is - * registered with this name, it will return the corresponding ID, if not it will - * reserve an ID but not register the sink. The other parameters of the sink will - * be overwritten when the sink is registered. - * @return E_OK on success, E_UNKNOWN on error - */ - virtual am_Error_e peekSink(const std::string& name, am_sinkID_t& sinkID) =0; - /** - * Registers a sink. If the sink is part of a gateway, the listconnectionFormats - * is copied to the gatewayInformation - * @return E_OK on succes, E_ALREADY_EXISTENT if already registered E_UNKOWN on - * error - */ - virtual am_Error_e registerSink(const am_Sink_s& sinkData, am_sinkID_t& sinkID) =0; - /** - * deregisters a sink. - * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error - */ - virtual am_Error_e deregisterSink(const am_sinkID_t sinkID) =0; - /** - * This function returns the ID to the given sourceName. If already a source is - * registered with this name, it will return the corresponding ID, if not it will - * reserve an ID but not register the source. The other parameters of the source - * will be overwritten when the source is registered. - * @return E_OK on success, E_UNKNOWN on error - */ - virtual am_Error_e peekSource(const std::string& name, am_sourceID_t& sourceID) =0; - /** - * registers a source. If the source is part of a gateway, the - * listconnectionFormats is copied to the gatewayInformation - * @return E_OK on success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or - * sourceID already exists - */ - virtual am_Error_e registerSource(const am_Source_s& sourceData, am_sourceID_t& sourceID) =0; - /** - * deregisters a source - * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error - */ - virtual am_Error_e deregisterSource(const am_sourceID_t sourceID) =0; - /** - * this function registers a crossfader. - * @return E_OK on succes, E_ALREADY_EXISTENT if already registered E_UNKOWN on - * error - */ - virtual am_Error_e registerCrossfader(const am_Crossfader_s& crossfaderData, am_crossfaderID_t& crossfaderID) =0; - /** - * this function deregisters a crossfader. removes all sources and sinks assiated - * as well. - * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error - */ - virtual am_Error_e deregisterCrossfader(const am_crossfaderID_t crossfaderID) =0; - /** - * this function peeks a sourceclassID. It is used by the RoutingPlugins to - * determine the SinkClassIDs of a sinkClass. - * @return E_OK on succes, E_DATABASE_ERROR on error - */ - virtual am_Error_e peekSourceClassID(const std::string& name, am_sourceClass_t& sourceClassID) =0; - /** - * this function peeks a sourceclassID. It is used by the RoutingPlugins to - * determine the SinkClassIDs of a sinkClass. - * @return E_OK on succes, E_DATABASE_ERROR on error - */ - virtual am_Error_e peekSinkClassID(const std::string& name, am_sinkClass_t& sinkClassID) =0; - /** - * is called when a low level interrupt changes it status. - */ - virtual void hookInterruptStatusChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState) =0; - /** - * This hook is called when all elements from a domain are registered. - * Is used by the Controller to know when all expected domains are finally - * registered - */ - virtual void hookDomainRegistrationComplete(const am_domainID_t domainID) =0; - /** - * is called when a sink changes its availability - */ - virtual void hookSinkAvailablityStatusChange(const am_sinkID_t sinkID, const am_Availability_s& availability) =0; - /** - * is called when a source changes its availability - */ - virtual void hookSourceAvailablityStatusChange(const am_sourceID_t sourceID, const am_Availability_s& availability) =0; - /** - * is called when a domain changes its status. This used for early domains only - */ - virtual void hookDomainStateChange(const am_domainID_t domainID, const am_DomainState_e domainState) =0; - /** - * is called when the timinginformation (delay) changed for a connection. - */ - virtual void hookTimingInformationChanged(const am_connectionID_t connectionID, const am_timeSync_t delay) =0; - /** - * this function is used to send out all data that has been changed in an early - * state. - * @return E_OK on success, E_UNKNOWN on error - */ - virtual void sendChangedData(const std::vector<am_EarlyData_s>& earlyData) =0; - /** - * this function is used to retrieve a pointer to the dBusConnectionWrapper - * @return E_OK if pointer is valid, E_UKNOWN if AudioManager was compiled without - * DBus Support - */ - virtual am_Error_e getDBusConnectionWrapper(CAmDbusWrapper*& dbusConnectionWrapper) const =0; - /** - * This function returns the pointer to the socketHandler. This can be used to - * integrate socket-based activites like communication with the mainloop of the - * AudioManager. - * returns E_OK if pointer is valid, E_UNKNOWN in case AudioManager was compiled - * without socketHandler support, - */ - virtual am_Error_e getSocketHandler(CAmSocketHandler*& socketHandler) const =0; - /** - * confirms the setRoutingReady Command - */ - virtual void confirmRoutingReady(const uint16_t handle, const am_Error_e error) =0; - /** - * confirms the setRoutingRundown Command - */ - virtual void confirmRoutingRundown(const uint16_t handle, const am_Error_e error) =0; - /** - * updates data of an gateway. @return E_OK on success, E_NON_EXISTENT if the - * gatewayID is not valid. - */ - virtual am_Error_e updateGateway(const am_gatewayID_t gatewayID, const std::vector<am_CustomConnectionFormat_t>& listSourceFormats, const std::vector<am_CustomConnectionFormat_t>& listSinkFormats, const std::vector<bool>& convertionMatrix) =0; - /** - * updates data of an gateway. @return E_OK on success, E_NON_EXISTENT if the - * sinkID is not valid. - */ - virtual am_Error_e updateSink(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector<am_SoundProperty_s>& listSoundProperties, const std::vector<am_CustomConnectionFormat_t>& listConnectionFormats, const std::vector<am_MainSoundProperty_s>& listMainSoundProperties) =0; - /** - * updates data of an source. @return E_OK on success, E_NON_EXISTENT if the - * sourceID in the struct is not valid. - * Please note that only the following data out of am_Source_s have effect when - * they are changed: - * sourceClassID, - * listSoundProperties, - * listConnectionFormats, - * listMainSoundProperties - */ - virtual am_Error_e updateSource(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) =0; - /** - * acknowledges a asyncSetSinkVolumes - */ - virtual void ackSetVolumes(const am_Handle_s handle, const std::vector<am_Volumes_s>& listvolumes, const am_Error_e error) =0; - /** - * The acknowledge of the SinkNotificationConfiguration - */ - virtual void ackSinkNotificationConfiguration(const am_Handle_s handle, const am_Error_e error) =0; - /** - * The acknowledge of the SourceNotificationConfiguration - */ - virtual void ackSourceNotificationConfiguration(const am_Handle_s handle, const am_Error_e error) =0; - /** - * is called whenever a notified value needs to be send - */ - virtual void hookSinkNotificationDataChange(const am_sinkID_t sinkID, const am_NotificationPayload_s& payload) =0; - /** - * is called whenever a notified value needs to be send - */ - virtual void hookSourceNotificationDataChange(const am_sourceID_t sourceID, const am_NotificationPayload_s& payload) =0; - -}; -} -#endif // !defined(EA_C540B86A_9F4A_4ae5_A68A_8A0FD52A7149__INCLUDED_) +/**
+ * Copyright (C) 2012 - 2014, BMW AG
+ *
+ * This file is part of GENIVI Project AudioManager.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Christian Linke, christian.linke@bmw.de BMW 2011 - 2014
+ *
+ * \file
+ * For further information see http://projects.genivi.org/audio-manager
+ *
+ * THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL.
+ * PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN.
+ */
+#if !defined(EA_CFDD6028_596E_4fde_8D52_BED642D0842D__INCLUDED_)
+#define EA_CFDD6028_596E_4fde_8D52_BED642D0842D__INCLUDED_
+
+#include <vector>
+#include <string>
+#include "audiomanagertypes.h"
+
+namespace am {
+class CAmDbusWrapper;
+class CAmSocketHandler;
+}
+
+
+#include "audiomanagertypes.h"
+
+#define RoutingReceiveVersion "3.0"
+namespace am {
+
+/**
+ * Routing Receive sendInterface description. This class implements everything
+ * from RoutingAdapter -> Audiomanager
+ * There are two rules that have to be kept in mind when implementing against this
+ * interface:\n
+ * \warning
+ * 1. CALLS TO THIS INTERFACE ARE NOT THREAD SAFE !!!! \n
+ * 2. YOU MAY NOT CALL THE CALLING INTERFACE DURING AN SYNCHRONOUS OR ASYNCHRONOUS
+ * CALL THAT EXPECTS A RETURN VALUE.\n
+ * \details
+ * Violation these rules may lead to unexpected behavior! Nevertheless you can
+ * implement thread safe by using the deferred-call pattern described on the wiki
+ * which also helps to implement calls that are forbidden.\n
+ * For more information, please check CAmSerializer
+ */
+class IAmRoutingReceive
+{
+
+public:
+ IAmRoutingReceive() {
+
+ }
+
+ virtual ~IAmRoutingReceive() {
+
+ }
+
+ /**
+ * This function returns the version of the interface
+ */
+ virtual void getInterfaceVersion(std::string& version) const =0;
+ /**
+ * acknowledges a asyncConnect
+ */
+ virtual void ackConnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error) =0;
+ /**
+ * acknowledges a asyncDisconnect
+ */
+ virtual void ackDisconnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error) =0;
+ /**
+ * acknowledges a asyncsetSinkVolume
+ */
+ virtual void ackSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error) =0;
+ /**
+ * acknowledges a asyncsetSourceVolume
+ */
+ virtual void ackSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error) =0;
+ /**
+ * acknowlegde for asyncSetSourceState
+ */
+ virtual void ackSetSourceState(const am_Handle_s handle, const am_Error_e error) =0;
+ /**
+ * acknowledges asyncSetSinkSoundProperties
+ */
+ virtual void ackSetSinkSoundProperties(const am_Handle_s handle, const am_Error_e error) =0;
+ /**
+ * acknowledges asyncSetSinkSoundProperty
+ */
+ virtual void ackSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error) =0;
+ /**
+ * acknowledges asyncSetSourceSoundProperties
+ */
+ virtual void ackSetSourceSoundProperties(const am_Handle_s handle, const am_Error_e error) =0;
+ /**
+ * acknowledges asyncSetSourceSoundProperty
+ */
+ virtual void ackSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error) =0;
+ /**
+ * acknowledges asyncCrossFade
+ */
+ virtual void ackCrossFading(const am_Handle_s handle, const am_HotSink_e hotSink, const am_Error_e error) =0;
+ /**
+ * acknowledges a volume tick. This can be used to display volumechanges during
+ * ramps
+ */
+ virtual void ackSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume) =0;
+ /**
+ * acknowledges a volume tick. This can be used to display volumechanges during
+ * ramps
+ */
+ virtual void ackSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume) =0;
+ /**
+ * This function returns the ID to the given domainName. If already a domain is
+ * registered with this name, it will return the corresponding ID, if not it will
+ * reserve an ID but not register the domain. The other parameters of the domain
+ * will be overwritten when the domain is registered.
+ * @return E_OK on success, E_UNKNOWN on error
+ */
+ virtual am_Error_e peekDomain(const std::string& name, am_domainID_t& domainID) =0;
+ /**
+ * registers a domain
+ * @return E_OK on succes, E_ALREADY_EXISTENT if already registered E_UNKOWN on
+ * error
+ */
+ virtual am_Error_e registerDomain(const am_Domain_s& domainData, am_domainID_t& domainID) =0;
+ /**
+ * deregisters a domain. All sources, sinks, gateways and crossfaders from that
+ * domain will be removed as well.
+ * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error
+ */
+ virtual am_Error_e deregisterDomain(const am_domainID_t domainID) =0;
+ /**
+ * registers a converter. @return E_OK on succes, E_ALREADY_EXISTENT if already
+ * registered E_UNKOWN on error
+ */
+ virtual am_Error_e registerConverter(const am_Converter_s& converterData, am_converterID_t& converterID) =0;
+ /**
+ * registers a gateway. @return E_OK on succes, E_ALREADY_EXISTENT if already
+ * registered E_UNKOWN on error
+ */
+ virtual am_Error_e registerGateway(const am_Gateway_s& gatewayData, am_gatewayID_t& gatewayID) =0;
+ /**
+ * deregisters a converter. Also removes all sinks and sources of the controlling
+ * domain.
+ * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error
+ */
+ virtual am_Error_e deregisterConverter(const am_converterID_t converterID) =0;
+ /**
+ * deregisters a gateway. Also removes all sinks and sources of the controlling
+ * domain.
+ * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error
+ */
+ virtual am_Error_e deregisterGateway(const am_gatewayID_t gatewayID) =0;
+ /**
+ * This function returns the ID to the given sinkName. If already a sink is
+ * registered with this name, it will return the corresponding ID, if not it will
+ * reserve an ID but not register the sink. The other parameters of the sink will
+ * be overwritten when the sink is registered.
+ * @return E_OK on success, E_UNKNOWN on error
+ */
+ virtual am_Error_e peekSink(const std::string& name, am_sinkID_t& sinkID) =0;
+ /**
+ * Registers a sink. If the sink is part of a gateway, the listconnectionFormats
+ * is copied to the gatewayInformation
+ * @return E_OK on succes, E_ALREADY_EXISTENT if already registered E_UNKOWN on
+ * error
+ */
+ virtual am_Error_e registerSink(const am_Sink_s& sinkData, am_sinkID_t& sinkID) =0;
+ /**
+ * deregisters a sink.
+ * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error
+ */
+ virtual am_Error_e deregisterSink(const am_sinkID_t sinkID) =0;
+ /**
+ * This function returns the ID to the given sourceName. If already a source is
+ * registered with this name, it will return the corresponding ID, if not it will
+ * reserve an ID but not register the source. The other parameters of the source
+ * will be overwritten when the source is registered.
+ * @return E_OK on success, E_UNKNOWN on error
+ */
+ virtual am_Error_e peekSource(const std::string& name, am_sourceID_t& sourceID) =0;
+ /**
+ * registers a source. If the source is part of a gateway, the
+ * listconnectionFormats is copied to the gatewayInformation
+ * @return E_OK on success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or
+ * sourceID already exists
+ */
+ virtual am_Error_e registerSource(const am_Source_s& sourceData, am_sourceID_t& sourceID) =0;
+ /**
+ * deregisters a source
+ * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error
+ */
+ virtual am_Error_e deregisterSource(const am_sourceID_t sourceID) =0;
+ /**
+ * this function registers a crossfader.
+ * @return E_OK on succes, E_ALREADY_EXISTENT if already registered E_UNKOWN on
+ * error
+ */
+ virtual am_Error_e registerCrossfader(const am_Crossfader_s& crossfaderData, am_crossfaderID_t& crossfaderID) =0;
+ /**
+ * this function deregisters a crossfader. removes all sources and sinks assiated
+ * as well.
+ * @return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on error
+ */
+ virtual am_Error_e deregisterCrossfader(const am_crossfaderID_t crossfaderID) =0;
+ /**
+ * this function peeks a sourceclassID. It is used by the RoutingPlugins to
+ * determine the SinkClassIDs of a sinkClass.
+ * @return E_OK on succes, E_DATABASE_ERROR on error
+ */
+ virtual am_Error_e peekSourceClassID(const std::string& name, am_sourceClass_t& sourceClassID) =0;
+ /**
+ * this function peeks a sourceclassID. It is used by the RoutingPlugins to
+ * determine the SinkClassIDs of a sinkClass.
+ * @return E_OK on succes, E_DATABASE_ERROR on error
+ */
+ virtual am_Error_e peekSinkClassID(const std::string& name, am_sinkClass_t& sinkClassID) =0;
+ /**
+ * is called when a low level interrupt changes it status.
+ */
+ virtual void hookInterruptStatusChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState) =0;
+ /**
+ * This hook is called when all elements from a domain are registered.
+ * Is used by the Controller to know when all expected domains are finally
+ * registered
+ */
+ virtual void hookDomainRegistrationComplete(const am_domainID_t domainID) =0;
+ /**
+ * is called when a sink changes its availability
+ */
+ virtual void hookSinkAvailablityStatusChange(const am_sinkID_t sinkID, const am_Availability_s& availability) =0;
+ /**
+ * is called when a source changes its availability
+ */
+ virtual void hookSourceAvailablityStatusChange(const am_sourceID_t sourceID, const am_Availability_s& availability) =0;
+ /**
+ * is called when a domain changes its status. This used for early domains only
+ */
+ virtual void hookDomainStateChange(const am_domainID_t domainID, const am_DomainState_e domainState) =0;
+ /**
+ * is called when the timinginformation (delay) changed for a connection.
+ */
+ virtual void hookTimingInformationChanged(const am_connectionID_t connectionID, const am_timeSync_t delay) =0;
+ /**
+ * this function is used to send out all data that has been changed in an early
+ * state.
+ * @return E_OK on success, E_UNKNOWN on error
+ */
+ virtual void sendChangedData(const std::vector<am_EarlyData_s>& earlyData) =0;
+ /**
+ * this function is used to retrieve a pointer to the dBusConnectionWrapper
+ * @return E_OK if pointer is valid, E_UKNOWN if AudioManager was compiled without
+ * DBus Support
+ */
+ virtual am_Error_e getDBusConnectionWrapper(CAmDbusWrapper*& dbusConnectionWrapper) const =0;
+ /**
+ * This function returns the pointer to the socketHandler. This can be used to
+ * integrate socket-based activites like communication with the mainloop of the
+ * AudioManager.
+ * returns E_OK if pointer is valid, E_UNKNOWN in case AudioManager was compiled
+ * without socketHandler support,
+ */
+ virtual am_Error_e getSocketHandler(CAmSocketHandler*& socketHandler) const =0;
+ /**
+ * confirms the setRoutingReady Command
+ */
+ virtual void confirmRoutingReady(const uint16_t handle, const am_Error_e error) =0;
+ /**
+ * confirms the setRoutingRundown Command
+ */
+ virtual void confirmRoutingRundown(const uint16_t handle, const am_Error_e error) =0;
+ /**
+ * updates data of an converter. @return E_OK on success, E_NON_EXISTENT if the
+ * gatewayID is not valid.
+ */
+ virtual am_Error_e updateConverter(const am_converterID_t converterID, const std::vector<am_CustomConnectionFormat_t>& listSourceFormats, const std::vector<am_CustomConnectionFormat_t>& listSinkFormats, const std::vector<bool>& convertionMatrix) =0;
+ /**
+ * updates data of an gateway. @return E_OK on success, E_NON_EXISTENT if the
+ * gatewayID is not valid.
+ */
+ virtual am_Error_e updateGateway(const am_gatewayID_t gatewayID, const std::vector<am_CustomConnectionFormat_t>& listSourceFormats, const std::vector<am_CustomConnectionFormat_t>& listSinkFormats, const std::vector<bool>& convertionMatrix) =0;
+ /**
+ * updates data of an gateway. @return E_OK on success, E_NON_EXISTENT if the
+ * sinkID is not valid.
+ */
+ virtual am_Error_e updateSink(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector<am_SoundProperty_s>& listSoundProperties, const std::vector<am_CustomConnectionFormat_t>& listConnectionFormats, const std::vector<am_MainSoundProperty_s>& listMainSoundProperties) =0;
+ /**
+ * updates data of an source. @return E_OK on success, E_NON_EXISTENT if the
+ * sourceID in the struct is not valid.
+ * Please note that only the following data out of am_Source_s have effect when
+ * they are changed:
+ * sourceClassID,
+ * listSoundProperties,
+ * listConnectionFormats,
+ * listMainSoundProperties
+ */
+ virtual am_Error_e updateSource(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) =0;
+ /**
+ * acknowledges a asyncSetSinkVolumes
+ */
+ virtual void ackSetVolumes(const am_Handle_s handle, const std::vector<am_Volumes_s>& listvolumes, const am_Error_e error) =0;
+ /**
+ * The acknowledge of the SinkNotificationConfiguration
+ */
+ virtual void ackSinkNotificationConfiguration(const am_Handle_s handle, const am_Error_e error) =0;
+ /**
+ * The acknowledge of the SourceNotificationConfiguration
+ */
+ virtual void ackSourceNotificationConfiguration(const am_Handle_s handle, const am_Error_e error) =0;
+ /**
+ * is called whenever a notified value needs to be send
+ */
+ virtual void hookSinkNotificationDataChange(const am_sinkID_t sinkID, const am_NotificationPayload_s& payload) =0;
+ /**
+ * is called whenever a notified value needs to be send
+ */
+ virtual void hookSourceNotificationDataChange(const am_sourceID_t sourceID, const am_NotificationPayload_s& payload) =0;
+
+};
+}
+#endif // !defined(EA_CFDD6028_596E_4fde_8D52_BED642D0842D__INCLUDED_)
|