summaryrefslogtreecommitdiff
path: root/include/routing/IAmRoutingReceive.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/routing/IAmRoutingReceive.h')
-rwxr-xr-xinclude/routing/IAmRoutingReceive.h645
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_)