/* * This file was generated by the CommonAPI Generators. * Used org.genivi.commonapi.core 2.1.5.201312121915. * Used org.franca.core 0.8.11.201401091023. * * 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/. */ /** * This class implements everything from Audiomanager -> RoutingAdapter * @author Christian Mueller */ #ifndef ORG_GENIVI_AM_Routing_Control_PROXY_BASE_H_ #define ORG_GENIVI_AM_Routing_Control_PROXY_BASE_H_ #include "RoutingControl.h" #include #if !defined (COMMONAPI_INTERNAL_COMPILATION) #define COMMONAPI_INTERNAL_COMPILATION #endif #include #include #include #include #include #include #include #include #undef COMMONAPI_INTERNAL_COMPILATION namespace org { namespace genivi { namespace am { class RoutingControlProxyBase: virtual public CommonAPI::Proxy { public: typedef std::function AsyncAbortAsyncCallback; typedef std::function AsyncConnectAsyncCallback; typedef std::function AsyncDisconnectAsyncCallback; typedef std::function AsyncSetSinkVolumeAsyncCallback; typedef std::function AsyncSetSourceVolumeAsyncCallback; typedef std::function AsyncSetSourceStateAsyncCallback; typedef std::function AsyncSetSinkSoundPropertiesAsyncCallback; typedef std::function AsyncSetSinkSoundPropertyAsyncCallback; typedef std::function AsyncSetSourceSoundPropertiesAsyncCallback; typedef std::function AsyncSetSourceSoundPropertyAsyncCallback; typedef std::function AsyncCrossFadeAsyncCallback; typedef std::function SetDomainStateAsyncCallback; typedef std::function AsyncSetVolumesAsyncCallback; typedef std::function AsyncSetSinkNotificationConfigurationAsyncCallback; typedef std::function AsyncSetSourceNotificationConfigurationAsyncCallback; /** * aborts an asynchronous action. (at)return E_OK on success, E_UNKNOWN on error, * E_NON_EXISTENT if handle was not found */ virtual void asyncAbort(const am_Handle_s& handle, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncAbortAsync(const am_Handle_s& handle, AsyncAbortAsyncCallback callback) = 0; /** * connects a source to a sink (at)return E_OK on success, E_UNKNOWN on error, * E_WRONG_FORMAT in case am_CustomConnectionFormat_t does not match */ virtual void asyncConnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_CustomConnectionFormat_t& connectionFormat, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncConnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_CustomConnectionFormat_t& connectionFormat, AsyncConnectAsyncCallback callback) = 0; /** * disconnect a connection with given connectionID (at)return E_OK on success, * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found */ virtual void asyncDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, AsyncDisconnectAsyncCallback callback) = 0; /** * this method is used to set the volume of a sink. This function is used to drive * ramps, to mute or unmute or directly set the value. The difference is made * through the ramptype. (at)return E_OK on success, E_UNKNOWN on error, * E_OUT_OF_RANGE if new volume is out of range */ virtual void asyncSetSinkVolume(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, const am_CustomRampType_t& ramp, const am_time_t& time, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetSinkVolumeAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, const am_CustomRampType_t& ramp, const am_time_t& time, AsyncSetSinkVolumeAsyncCallback callback) = 0; /** * sets the volume of a source. This method is used to set the volume of a sink. * This function is used to drive ramps, to mute or unmute or directly set the * value. The difference is made through the ramptype. (at)return E_OK on * success, E_UNKNOWN on error, E_OUT_OF_RANGE if volume is out of * range. triggers the acknowledge ackSourceVolumeChange */ virtual void asyncSetSourceVolume(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, const am_CustomRampType_t& ramp, const am_time_t& time, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetSourceVolumeAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, const am_CustomRampType_t& ramp, const am_time_t& time, AsyncSetSourceVolumeAsyncCallback callback) = 0; /** * This function is used to set the source state of a particular * source. (at)return E_OK on success, E_UNKNOWN on error */ virtual void asyncSetSourceState(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetSourceStateAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, AsyncSetSourceStateAsyncCallback callback) = 0; /** * this function sets the sinksoundproperty. (at)return E_OK on success, * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range */ virtual void asyncSetSinkSoundProperties(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, AsyncSetSinkSoundPropertiesAsyncCallback callback) = 0; /** * this function sets the sinksoundproperty. (at)return E_OK on success, * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range */ virtual void asyncSetSinkSoundProperty(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, AsyncSetSinkSoundPropertyAsyncCallback callback) = 0; /** * this function sets the sourcesoundproperty. (at)return E_OK on success, * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range */ virtual void asyncSetSourceSoundProperties(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, AsyncSetSourceSoundPropertiesAsyncCallback callback) = 0; /** * this function sets the sourcesoundproperty. (at)return E_OK on success, * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range */ virtual void asyncSetSourceSoundProperty(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, AsyncSetSourceSoundPropertyAsyncCallback callback) = 0; /** * this function triggers crossfading. (at)return E_OK on success, E_UNKNOWN on * error */ virtual void asyncCrossFade(const am_Handle_s& handle, const am_crossfaderID_t& crossfaderID, const am_HotSink_e& hotSink, const am_CustomRampType_t& rampType, const am_time_t& time, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncCrossFadeAsync(const am_Handle_s& handle, const am_crossfaderID_t& crossfaderID, const am_HotSink_e& hotSink, const am_CustomRampType_t& rampType, const am_time_t& time, AsyncCrossFadeAsyncCallback callback) = 0; /** * this function is used for early and late audio functions to set the domain * state (at)return E_OK on success, E_UNKNOWN on error */ virtual void setDomainState(const am_domainID_t& domainID, const am_DomainState_e& domainState, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; virtual std::future setDomainStateAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, SetDomainStateAsyncCallback callback) = 0; virtual void asyncSetVolumes(const am_Handle_s& handle, const am_Volumes_L& volumes, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& volumes, AsyncSetVolumesAsyncCallback callback) = 0; virtual void asyncSetSinkNotificationConfiguration(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSinkNotificationConfigurationAsyncCallback callback) = 0; virtual void asyncSetSourceNotificationConfiguration(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus) = 0; virtual std::future asyncSetSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSourceNotificationConfigurationAsyncCallback callback) = 0; }; } // namespace am } // namespace genivi } // namespace org #endif // ORG_GENIVI_AM_Routing_Control_PROXY_BASE_H_