diff options
Diffstat (limited to 'PluginRoutingInterfaceCAPI/src-gen/org/genivi/am')
20 files changed, 9977 insertions, 0 deletions
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControl.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControl.h new file mode 100644 index 0000000..41ad727 --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControl.h @@ -0,0 +1,63 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * This class implements everything from Audiomanager -> RoutingAdapter + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_H_ +#define ORG_GENIVI_AM_Routing_Control_H_ + + + + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/types.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +class RoutingControl { + public: + virtual ~RoutingControl() { } + + static inline const char* getInterfaceId(); + static inline CommonAPI::Version getInterfaceVersion(); +}; + +const char* RoutingControl::getInterfaceId() { + static const char* interfaceId = "org.genivi.am.RoutingControl"; + return interfaceId; +} + +CommonAPI::Version RoutingControl::getInterfaceVersion() { + return CommonAPI::Version(2, 0); +} + + +} // namespace am +} // namespace genivi +} // namespace org + +namespace CommonAPI { + +} + + +namespace std { + //hashes for types + + //hashes for error types +} + +#endif // ORG_GENIVI_AM_Routing_Control_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.cpp new file mode 100644 index 0000000..6ebe6b5 --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.cpp @@ -0,0 +1,407 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * This class implements everything from Audiomanager -> RoutingAdapter + * @author Christian Mueller + */ +#include "RoutingControlDBusProxy.h" + +namespace org { +namespace genivi { +namespace am { + +std::shared_ptr<CommonAPI::DBus::DBusProxy> createRoutingControlDBusProxy( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& interfaceName, + const std::string& busName, + const std::string& objectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyConnection) { + return std::make_shared<RoutingControlDBusProxy>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection); +} + +INITIALIZER(registerRoutingControlDBusProxy) { + CommonAPI::DBus::DBusFactory::registerProxyFactoryMethod(RoutingControl::getInterfaceId(), + &createRoutingControlDBusProxy); +} + +RoutingControlDBusProxy::RoutingControlDBusProxy( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& interfaceName, + const std::string& busName, + const std::string& objectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyconnection): + CommonAPI::DBus::DBusProxy(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection) + { + } + + + +/** + * aborts an asynchronous action. +(at)return E_OK on success, E_UNKNOWN on error, + * E_NON_EXISTENT if handle was not found + */ +void RoutingControlDBusProxy::asyncAbort(const am_Handle_s& handle, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncAbort", + "(iq)", + handle, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncAbortAsync(const am_Handle_s& handle, AsyncAbortAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncAbort", + "(iq)", + handle, + std::move(callback)); +} +/** + * connects a source to a sink +(at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + */ +void RoutingControlDBusProxy::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) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t, am_sourceID_t, am_sinkID_t, am_CustomConnectionFormat_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncConnect", + "(iq)qqqq", + handle, connectionID, sourceID, sinkID, connectionFormat, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::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) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t, am_sourceID_t, am_sinkID_t, am_CustomConnectionFormat_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncConnect", + "(iq)qqqq", + handle, connectionID, sourceID, sinkID, connectionFormat, + std::move(callback)); +} +/** + * disconnect a connection with given connectionID +(at)return E_OK on success, + * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found + */ +void RoutingControlDBusProxy::asyncDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncDisconnect", + "(iq)q", + handle, connectionID, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, AsyncDisconnectAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncDisconnect", + "(iq)q", + handle, connectionID, + std::move(callback)); +} +/** + * 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 + */ +void RoutingControlDBusProxy::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) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_volume_t, am_CustomRampType_t, am_time_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetSinkVolume", + "(iq)qnqn", + handle, sinkID, volume, ramp, time, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::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) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_volume_t, am_CustomRampType_t, am_time_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetSinkVolume", + "(iq)qnqn", + handle, sinkID, volume, ramp, time, + std::move(callback)); +} +/** + * 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 + */ +void RoutingControlDBusProxy::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) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_volume_t, am_CustomRampType_t, am_time_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetSourceVolume", + "(iq)qnqn", + handle, sourceID, volume, ramp, time, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::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) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_volume_t, am_CustomRampType_t, am_time_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetSourceVolume", + "(iq)qnqn", + handle, sourceID, volume, ramp, time, + std::move(callback)); +} +/** + * This function is used to set the source state of a particular + * source. +(at)return E_OK on success, E_UNKNOWN on error + */ +void RoutingControlDBusProxy::asyncSetSourceState(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_SourceState_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetSourceState", + "(iq)qi", + handle, sourceID, state, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSourceStateAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, AsyncSetSourceStateAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_SourceState_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetSourceState", + "(iq)qi", + handle, sourceID, state, + std::move(callback)); +} +/** + * 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 + */ +void RoutingControlDBusProxy::asyncSetSinkSoundProperties(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_SoundProperty_L>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetSinkSoundProperties", + "(iq)qa(qn)", + handle, sinkID, listSoundProperties, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, AsyncSetSinkSoundPropertiesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_SoundProperty_L>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetSinkSoundProperties", + "(iq)qa(qn)", + handle, sinkID, listSoundProperties, + std::move(callback)); +} +/** + * 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 + */ +void RoutingControlDBusProxy::asyncSetSinkSoundProperty(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_SoundProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetSinkSoundProperty", + "(iq)q(qn)", + handle, sinkID, soundProperty, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, AsyncSetSinkSoundPropertyAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_SoundProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetSinkSoundProperty", + "(iq)q(qn)", + handle, sinkID, soundProperty, + std::move(callback)); +} +/** + * 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 + */ +void RoutingControlDBusProxy::asyncSetSourceSoundProperties(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_SoundProperty_L>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetSourceSoundProperties", + "(iq)qa(qn)", + handle, sourceID, listSoundProperties, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, AsyncSetSourceSoundPropertiesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_SoundProperty_L>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetSourceSoundProperties", + "(iq)qa(qn)", + handle, sourceID, listSoundProperties, + std::move(callback)); +} +/** + * 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 + */ +void RoutingControlDBusProxy::asyncSetSourceSoundProperty(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_SoundProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetSourceSoundProperty", + "(iq)q(qn)", + handle, sourceID, soundProperty, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, AsyncSetSourceSoundPropertyAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_SoundProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetSourceSoundProperty", + "(iq)q(qn)", + handle, sourceID, soundProperty, + std::move(callback)); +} +/** + * this function triggers crossfading. +(at)return E_OK on success, E_UNKNOWN on + * error + */ +void RoutingControlDBusProxy::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) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_crossfaderID_t, am_HotSink_e, am_CustomRampType_t, am_time_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncCrossFade", + "(iq)qiqn", + handle, crossfaderID, hotSink, rampType, time, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::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) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_crossfaderID_t, am_HotSink_e, am_CustomRampType_t, am_time_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncCrossFade", + "(iq)qiqn", + handle, crossfaderID, hotSink, rampType, time, + std::move(callback)); +} +/** + * 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 + */ +void RoutingControlDBusProxy::setDomainState(const am_domainID_t& domainID, const am_DomainState_e& domainState, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_DomainState_e>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "setDomainState", + "qi", + domainID, domainState, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::setDomainStateAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, SetDomainStateAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_DomainState_e>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "setDomainState", + "qi", + domainID, domainState, + std::move(callback)); +} +void RoutingControlDBusProxy::asyncSetVolumes(const am_Handle_s& handle, const am_Volumes_L& volumes, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Volumes_L>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetVolumes", + "(iq)a(i(yv)nqn)", + handle, volumes, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& volumes, AsyncSetVolumesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Volumes_L>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetVolumes", + "(iq)a(i(yv)nqn)", + handle, volumes, + std::move(callback)); +} +void RoutingControlDBusProxy::asyncSetSinkNotificationConfiguration(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_NotificationConfiguration_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetSinkNotificationConfiguration", + "(iq)q(qin)", + handle, sinkID, notificationConfiguration, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSinkNotificationConfigurationAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_NotificationConfiguration_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetSinkNotificationConfiguration", + "(iq)q(qin)", + handle, sinkID, notificationConfiguration, + std::move(callback)); +} +void RoutingControlDBusProxy::asyncSetSourceNotificationConfiguration(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_NotificationConfiguration_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "asyncSetSourceNotificationConfiguration", + "(iq)q(qin)", + handle, sourceID, notificationConfiguration, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSourceNotificationConfigurationAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_NotificationConfiguration_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "asyncSetSourceNotificationConfiguration", + "(iq)q(qin)", + handle, sourceID, notificationConfiguration, + std::move(callback)); +} + + + +void RoutingControlDBusProxy::getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const { + ownVersionMajor = 2; + ownVersionMinor = 0; +} + +} // namespace am +} // namespace genivi +} // namespace org diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.h new file mode 100644 index 0000000..468f939 --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.h @@ -0,0 +1,157 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * This class implements everything from Audiomanager -> RoutingAdapter + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_DBUS_PROXY_H_ +#define ORG_GENIVI_AM_Routing_Control_DBUS_PROXY_H_ + +#include <org/genivi/am/RoutingControlProxyBase.h> + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/DBus/DBusFactory.h> +#include <CommonAPI/DBus/DBusProxy.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +#include <string> + +namespace org { +namespace genivi { +namespace am { + +class RoutingControlDBusProxy: virtual public RoutingControlProxyBase, virtual public CommonAPI::DBus::DBusProxy { + public: + RoutingControlDBusProxy( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& interfaceName, + const std::string& busName, + const std::string& objectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyconnection); + + virtual ~RoutingControlDBusProxy() { } + + + + /** + * 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); + virtual std::future<CommonAPI::CallStatus> asyncAbortAsync(const am_Handle_s& handle, AsyncAbortAsyncCallback callback); + /** + * connects a source to a sink + (at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e 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); + virtual std::future<CommonAPI::CallStatus> 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); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> asyncDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, AsyncDisconnectAsyncCallback callback); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> 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); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> 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); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> asyncSetSourceStateAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, AsyncSetSourceStateAsyncCallback callback); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> asyncSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, AsyncSetSinkSoundPropertiesAsyncCallback callback); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> asyncSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, AsyncSetSinkSoundPropertyAsyncCallback callback); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> asyncSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, AsyncSetSourceSoundPropertiesAsyncCallback callback); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> asyncSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, AsyncSetSourceSoundPropertyAsyncCallback callback); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> 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); + /** + * 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); + virtual std::future<CommonAPI::CallStatus> setDomainStateAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, SetDomainStateAsyncCallback callback); + virtual void asyncSetVolumes(const am_Handle_s& handle, const am_Volumes_L& volumes, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> asyncSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& volumes, AsyncSetVolumesAsyncCallback callback); + virtual void asyncSetSinkNotificationConfiguration(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> asyncSetSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSinkNotificationConfigurationAsyncCallback callback); + virtual void asyncSetSourceNotificationConfiguration(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> asyncSetSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSourceNotificationConfigurationAsyncCallback callback); + + + virtual void getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const; + + private: + + +}; + + + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Routing_Control_DBUS_PROXY_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.cpp new file mode 100644 index 0000000..f08a30f --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.cpp @@ -0,0 +1,477 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +#include "RoutingControlDBusStubAdapter.h" +#include <org/genivi/am/RoutingControl.h> + +namespace org { +namespace genivi { +namespace am { + +std::shared_ptr<CommonAPI::DBus::DBusStubAdapter> createRoutingControlDBusStubAdapter( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& interfaceName, + const std::string& busName, + const std::string& objectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyConnection, + const std::shared_ptr<CommonAPI::StubBase>& stubBase) { + return std::make_shared<RoutingControlDBusStubAdapter>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection, stubBase); +} + +INITIALIZER(registerRoutingControlDBusStubAdapter) { + CommonAPI::DBus::DBusFactory::registerAdapterFactoryMethod(RoutingControl::getInterfaceId(), + &createRoutingControlDBusStubAdapter); +} + + + +RoutingControlDBusStubAdapterInternal::~RoutingControlDBusStubAdapterInternal() { + deactivateManagedInstances(); + RoutingControlDBusStubAdapterHelper::deinit(); +} + +void RoutingControlDBusStubAdapterInternal::deactivateManagedInstances() { + +} + +const char* RoutingControlDBusStubAdapterInternal::getMethodsDBusIntrospectionXmlData() const { + static const std::string introspectionData = + "<method name=\"getInterfaceVersion\">\n" + "<arg name=\"value\" type=\"uu\" direction=\"out\" />" + "</method>\n" + /** + * aborts an asynchronous action. + (at)return E_OK on success, E_UNKNOWN on error, + * E_NON_EXISTENT if handle was not found + */ + "<method name=\"asyncAbort\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "</method>\n" + /** + * connects a source to a sink + (at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + */ + "<method name=\"asyncConnect\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"connectionID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"connectionFormat\" type=\"q\" direction=\"in\" />\n" + "</method>\n" + /** + * disconnect a connection with given connectionID + (at)return E_OK on success, + * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found + */ + "<method name=\"asyncDisconnect\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"connectionID\" type=\"q\" direction=\"in\" />\n" + "</method>\n" + /** + * 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 + */ + "<method name=\"asyncSetSinkVolume\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"volume\" type=\"n\" direction=\"in\" />\n" + "<arg name=\"ramp\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"time\" type=\"n\" direction=\"in\" />\n" + "</method>\n" + /** + * 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 + */ + "<method name=\"asyncSetSourceVolume\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"volume\" type=\"n\" direction=\"in\" />\n" + "<arg name=\"ramp\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"time\" type=\"n\" direction=\"in\" />\n" + "</method>\n" + /** + * This function is used to set the source state of a particular + * source. + (at)return E_OK on success, E_UNKNOWN on error + */ + "<method name=\"asyncSetSourceState\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"state\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * 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 + */ + "<method name=\"asyncSetSinkSoundProperties\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listSoundProperties\" type=\"a(qn)\" direction=\"in\" />\n" + "</method>\n" + /** + * 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 + */ + "<method name=\"asyncSetSinkSoundProperty\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"soundProperty\" type=\"(qn)\" direction=\"in\" />\n" + "</method>\n" + /** + * 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 + */ + "<method name=\"asyncSetSourceSoundProperties\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listSoundProperties\" type=\"a(qn)\" direction=\"in\" />\n" + "</method>\n" + /** + * 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 + */ + "<method name=\"asyncSetSourceSoundProperty\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"soundProperty\" type=\"(qn)\" direction=\"in\" />\n" + "</method>\n" + /** + * this function triggers crossfading. + (at)return E_OK on success, E_UNKNOWN on + * error + */ + "<method name=\"asyncCrossFade\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"crossfaderID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"hotSink\" type=\"i\" direction=\"in\" />\n" + "<arg name=\"rampType\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"time\" type=\"n\" direction=\"in\" />\n" + "</method>\n" + /** + * 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 + */ + "<method name=\"setDomainState\">\n" + "<arg name=\"domainID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"domainState\" type=\"i\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + "<method name=\"asyncSetVolumes\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"volumes\" type=\"a(i(yv)nqn)\" direction=\"in\" />\n" + "</method>\n" + "<method name=\"asyncSetSinkNotificationConfiguration\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"notificationConfiguration\" type=\"(qin)\" direction=\"in\" />\n" + "</method>\n" + "<method name=\"asyncSetSourceNotificationConfiguration\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"notificationConfiguration\" type=\"(qin)\" direction=\"in\" />\n" + "</method>\n" + + ; + return introspectionData.c_str(); +} + +CommonAPI::DBus::DBusGetAttributeStubDispatcher< + RoutingControlStub, + CommonAPI::Version + > RoutingControlDBusStubAdapterInternal::getRoutingControlInterfaceVersionStubDispatcher(&RoutingControlStub::getInterfaceVersion, "uu"); + + + +/** + * aborts an asynchronous action. +(at)return E_OK on success, E_UNKNOWN on error, + * E_NON_EXISTENT if handle was not found + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncAbortStubDispatcher(&RoutingControlStub::asyncAbort, ""); +/** + * connects a source to a sink +(at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_connectionID_t, am_sourceID_t, am_sinkID_t, am_CustomConnectionFormat_t>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncConnectStubDispatcher(&RoutingControlStub::asyncConnect, ""); +/** + * disconnect a connection with given connectionID +(at)return E_OK on success, + * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_connectionID_t>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncDisconnectStubDispatcher(&RoutingControlStub::asyncDisconnect, ""); +/** + * 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 + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sinkID_t, am_volume_t, am_CustomRampType_t, am_time_t>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetSinkVolumeStubDispatcher(&RoutingControlStub::asyncSetSinkVolume, ""); +/** + * 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 + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_volume_t, am_CustomRampType_t, am_time_t>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetSourceVolumeStubDispatcher(&RoutingControlStub::asyncSetSourceVolume, ""); +/** + * This function is used to set the source state of a particular + * source. +(at)return E_OK on success, E_UNKNOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_SourceState_e>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetSourceStateStubDispatcher(&RoutingControlStub::asyncSetSourceState, ""); +/** + * 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 + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sinkID_t, am_SoundProperty_L>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetSinkSoundPropertiesStubDispatcher(&RoutingControlStub::asyncSetSinkSoundProperties, ""); +/** + * 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 + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sinkID_t, am_SoundProperty_s>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetSinkSoundPropertyStubDispatcher(&RoutingControlStub::asyncSetSinkSoundProperty, ""); +/** + * 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 + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_SoundProperty_L>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetSourceSoundPropertiesStubDispatcher(&RoutingControlStub::asyncSetSourceSoundProperties, ""); +/** + * 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 + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_SoundProperty_s>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetSourceSoundPropertyStubDispatcher(&RoutingControlStub::asyncSetSourceSoundProperty, ""); +/** + * this function triggers crossfading. +(at)return E_OK on success, E_UNKNOWN on + * error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_crossfaderID_t, am_HotSink_e, am_CustomRampType_t, am_time_t>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncCrossFadeStubDispatcher(&RoutingControlStub::asyncCrossFade, ""); +/** + * 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 + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_domainID_t, am_DomainState_e>, + std::tuple<am_Error_e> + > RoutingControlDBusStubAdapterInternal::setDomainStateStubDispatcher(&RoutingControlStub::setDomainState, "i"); +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_Volumes_L>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetVolumesStubDispatcher(&RoutingControlStub::asyncSetVolumes, ""); +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sinkID_t, am_NotificationConfiguration_s>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetSinkNotificationConfigurationStubDispatcher(&RoutingControlStub::asyncSetSinkNotificationConfiguration, ""); +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_NotificationConfiguration_s>, + std::tuple<> + > RoutingControlDBusStubAdapterInternal::asyncSetSourceNotificationConfigurationStubDispatcher(&RoutingControlStub::asyncSetSourceNotificationConfiguration, ""); + + + + + +const RoutingControlDBusStubAdapterHelper::StubDispatcherTable& RoutingControlDBusStubAdapterInternal::getStubDispatcherTable() { + return stubDispatcherTable_; +} + +const CommonAPI::DBus::StubAttributeTable& RoutingControlDBusStubAdapterInternal::getStubAttributeTable() { + return stubAttributeTable_; +} + +RoutingControlDBusStubAdapterInternal::RoutingControlDBusStubAdapterInternal( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& dbusInterfaceName, + const std::string& dbusBusName, + const std::string& dbusObjectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection, + const std::shared_ptr<CommonAPI::StubBase>& stub): + CommonAPI::DBus::DBusStubAdapter( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + false), + RoutingControlDBusStubAdapterHelper( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + std::dynamic_pointer_cast<RoutingControlStub>(stub), + false), + stubDispatcherTable_({ + /** + * aborts an asynchronous action. + (at)return E_OK on success, E_UNKNOWN on error, + * E_NON_EXISTENT if handle was not found + */ + { { "asyncAbort", "(iq)" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncAbortStubDispatcher }, + /** + * connects a source to a sink + (at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + */ + { { "asyncConnect", "(iq)qqqq" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncConnectStubDispatcher }, + /** + * disconnect a connection with given connectionID + (at)return E_OK on success, + * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found + */ + { { "asyncDisconnect", "(iq)q" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncDisconnectStubDispatcher }, + /** + * 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 + */ + { { "asyncSetSinkVolume", "(iq)qnqn" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetSinkVolumeStubDispatcher }, + /** + * 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 + */ + { { "asyncSetSourceVolume", "(iq)qnqn" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetSourceVolumeStubDispatcher }, + /** + * This function is used to set the source state of a particular + * source. + (at)return E_OK on success, E_UNKNOWN on error + */ + { { "asyncSetSourceState", "(iq)qi" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetSourceStateStubDispatcher }, + /** + * 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 + */ + { { "asyncSetSinkSoundProperties", "(iq)qa(qn)" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetSinkSoundPropertiesStubDispatcher }, + /** + * 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 + */ + { { "asyncSetSinkSoundProperty", "(iq)q(qn)" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetSinkSoundPropertyStubDispatcher }, + /** + * 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 + */ + { { "asyncSetSourceSoundProperties", "(iq)qa(qn)" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetSourceSoundPropertiesStubDispatcher }, + /** + * 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 + */ + { { "asyncSetSourceSoundProperty", "(iq)q(qn)" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetSourceSoundPropertyStubDispatcher }, + /** + * this function triggers crossfading. + (at)return E_OK on success, E_UNKNOWN on + * error + */ + { { "asyncCrossFade", "(iq)qiqn" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncCrossFadeStubDispatcher }, + /** + * 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 + */ + { { "setDomainState", "qi" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::setDomainStateStubDispatcher }, + { { "asyncSetVolumes", "(iq)a(i(yv)nqn)" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetVolumesStubDispatcher }, + { { "asyncSetSinkNotificationConfiguration", "(iq)q(qin)" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetSinkNotificationConfigurationStubDispatcher }, + { { "asyncSetSourceNotificationConfiguration", "(iq)q(qin)" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::asyncSetSourceNotificationConfigurationStubDispatcher } + }), + stubAttributeTable_() { + + stubDispatcherTable_.insert({ { "getInterfaceVersion", "" }, &org::genivi::am::RoutingControlDBusStubAdapterInternal::getRoutingControlInterfaceVersionStubDispatcher }); +} + +const bool RoutingControlDBusStubAdapterInternal::hasFreedesktopProperties() { + return false; +} + +} // namespace am +} // namespace genivi +} // namespace org diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.h new file mode 100644 index 0000000..9ee7957 --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.h @@ -0,0 +1,250 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * This class implements everything from Audiomanager -> RoutingAdapter + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_DBUS_STUB_ADAPTER_H_ +#define ORG_GENIVI_AM_Routing_Control_DBUS_STUB_ADAPTER_H_ + +#include <org/genivi/am/RoutingControlStub.h> + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/DBus/DBusStubAdapterHelper.h> +#include <CommonAPI/DBus/DBusStubAdapter.h> +#include <CommonAPI/DBus/DBusFactory.h> +#include <CommonAPI/DBus/DBusServicePublisher.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +typedef CommonAPI::DBus::DBusStubAdapterHelper<RoutingControlStub> RoutingControlDBusStubAdapterHelper; + +class RoutingControlDBusStubAdapterInternal: public virtual RoutingControlStubAdapter, public RoutingControlDBusStubAdapterHelper { + public: + RoutingControlDBusStubAdapterInternal( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& dbusInterfaceName, + const std::string& dbusBusName, + const std::string& dbusObjectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection, + const std::shared_ptr<CommonAPI::StubBase>& stub); + + ~RoutingControlDBusStubAdapterInternal(); + + virtual const bool hasFreedesktopProperties(); + + + + + const RoutingControlDBusStubAdapterHelper::StubDispatcherTable& getStubDispatcherTable(); + const CommonAPI::DBus::StubAttributeTable& getStubAttributeTable(); + + void deactivateManagedInstances(); + + +static CommonAPI::DBus::DBusGetAttributeStubDispatcher< + RoutingControlStub, + CommonAPI::Version + > getRoutingControlInterfaceVersionStubDispatcher; + + + +/** + * aborts an asynchronous action. +(at)return E_OK on success, E_UNKNOWN on error, + * E_NON_EXISTENT if handle was not found + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s>, + std::tuple<> + > asyncAbortStubDispatcher; +/** + * connects a source to a sink +(at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_connectionID_t, am_sourceID_t, am_sinkID_t, am_CustomConnectionFormat_t>, + std::tuple<> + > asyncConnectStubDispatcher; +/** + * disconnect a connection with given connectionID +(at)return E_OK on success, + * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_connectionID_t>, + std::tuple<> + > asyncDisconnectStubDispatcher; +/** + * 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 + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sinkID_t, am_volume_t, am_CustomRampType_t, am_time_t>, + std::tuple<> + > asyncSetSinkVolumeStubDispatcher; +/** + * 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 + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_volume_t, am_CustomRampType_t, am_time_t>, + std::tuple<> + > asyncSetSourceVolumeStubDispatcher; +/** + * This function is used to set the source state of a particular + * source. +(at)return E_OK on success, E_UNKNOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_SourceState_e>, + std::tuple<> + > asyncSetSourceStateStubDispatcher; +/** + * 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 + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sinkID_t, am_SoundProperty_L>, + std::tuple<> + > asyncSetSinkSoundPropertiesStubDispatcher; +/** + * 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 + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sinkID_t, am_SoundProperty_s>, + std::tuple<> + > asyncSetSinkSoundPropertyStubDispatcher; +/** + * 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 + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_SoundProperty_L>, + std::tuple<> + > asyncSetSourceSoundPropertiesStubDispatcher; +/** + * 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 + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_SoundProperty_s>, + std::tuple<> + > asyncSetSourceSoundPropertyStubDispatcher; +/** + * this function triggers crossfading. +(at)return E_OK on success, E_UNKNOWN on + * error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_crossfaderID_t, am_HotSink_e, am_CustomRampType_t, am_time_t>, + std::tuple<> + > asyncCrossFadeStubDispatcher; +/** + * 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 + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_domainID_t, am_DomainState_e>, + std::tuple<am_Error_e> + > setDomainStateStubDispatcher; +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_Volumes_L>, + std::tuple<> + > asyncSetVolumesStubDispatcher; +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sinkID_t, am_NotificationConfiguration_s>, + std::tuple<> + > asyncSetSinkNotificationConfigurationStubDispatcher; +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlStub, + std::tuple<am_Handle_s, am_sourceID_t, am_NotificationConfiguration_s>, + std::tuple<> + > asyncSetSourceNotificationConfigurationStubDispatcher; + + + + + protected: + virtual const char* getMethodsDBusIntrospectionXmlData() const; + + private: + RoutingControlDBusStubAdapterHelper::StubDispatcherTable stubDispatcherTable_; + CommonAPI::DBus::StubAttributeTable stubAttributeTable_; +}; + +class RoutingControlDBusStubAdapter: public RoutingControlDBusStubAdapterInternal, public std::enable_shared_from_this<RoutingControlDBusStubAdapter> { +public: + RoutingControlDBusStubAdapter( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& dbusInterfaceName, + const std::string& dbusBusName, + const std::string& dbusObjectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection, + const std::shared_ptr<CommonAPI::StubBase>& stub) : + CommonAPI::DBus::DBusStubAdapter( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + false), + RoutingControlDBusStubAdapterInternal( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + stub) { } +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Routing_Control_DBUS_STUB_ADAPTER_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserver.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserver.h new file mode 100644 index 0000000..7327326 --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserver.h @@ -0,0 +1,63 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * Routing Receive sendInterface description. + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_Observer_H_ +#define ORG_GENIVI_AM_Routing_Control_Observer_H_ + + + + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/types.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +class RoutingControlObserver { + public: + virtual ~RoutingControlObserver() { } + + static inline const char* getInterfaceId(); + static inline CommonAPI::Version getInterfaceVersion(); +}; + +const char* RoutingControlObserver::getInterfaceId() { + static const char* interfaceId = "org.genivi.am.RoutingControlObserver"; + return interfaceId; +} + +CommonAPI::Version RoutingControlObserver::getInterfaceVersion() { + return CommonAPI::Version(2, 0); +} + + +} // namespace am +} // namespace genivi +} // namespace org + +namespace CommonAPI { + +} + + +namespace std { + //hashes for types + + //hashes for error types +} + +#endif // ORG_GENIVI_AM_Routing_Control_Observer_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.cpp new file mode 100644 index 0000000..36d9ee2 --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.cpp @@ -0,0 +1,1135 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * Routing Receive sendInterface description. + * @author Christian Mueller + */ +#include "RoutingControlObserverDBusProxy.h" + +namespace org { +namespace genivi { +namespace am { + +std::shared_ptr<CommonAPI::DBus::DBusProxy> createRoutingControlObserverDBusProxy( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& interfaceName, + const std::string& busName, + const std::string& objectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyConnection) { + return std::make_shared<RoutingControlObserverDBusProxy>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection); +} + +INITIALIZER(registerRoutingControlObserverDBusProxy) { + CommonAPI::DBus::DBusFactory::registerProxyFactoryMethod(RoutingControlObserver::getInterfaceId(), + &createRoutingControlObserverDBusProxy); +} + +RoutingControlObserverDBusProxy::RoutingControlObserverDBusProxy( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& interfaceName, + const std::string& busName, + const std::string& objectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyconnection): + CommonAPI::DBus::DBusProxy(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection) +,routingReady_(*this, "onRoutingReadyAttributeChanged", "i", "getRoutingReadyAttribute") + { + } + +RoutingControlObserverDBusProxy::RoutingReadyAttribute& RoutingControlObserverDBusProxy::getRoutingReadyAttribute() { + return routingReady_; +} + + +/** + * acknowledges a asyncConnect + */ +void RoutingControlObserverDBusProxy::ackConnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackConnect", + "(iq)qi", + handle, connectionID, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackConnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckConnectAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackConnect", + "(iq)qi", + handle, connectionID, error, + std::move(callback)); +} +/** + * acknowledges a asyncDisconnect + */ +void RoutingControlObserverDBusProxy::ackDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackDisconnect", + "(iq)qi", + handle, connectionID, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckDisconnectAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackDisconnect", + "(iq)qi", + handle, connectionID, error, + std::move(callback)); +} +/** + * acknowledges a asyncsetSinkVolume + */ +void RoutingControlObserverDBusProxy::ackSetSinkVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_volume_t, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSetSinkVolumeChange", + "(iq)ni", + handle, volume, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSinkVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSinkVolumeChangeAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_volume_t, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSetSinkVolumeChange", + "(iq)ni", + handle, volume, error, + std::move(callback)); +} +/** + * acknowledges a asyncsetSourceVolume + */ +void RoutingControlObserverDBusProxy::ackSetSourceVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_volume_t, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSetSourceVolumeChange", + "(iq)ni", + handle, volume, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSourceVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSourceVolumeChangeAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_volume_t, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSetSourceVolumeChange", + "(iq)ni", + handle, volume, error, + std::move(callback)); +} +/** + * acknowlegde for asyncSetSourceState + */ +void RoutingControlObserverDBusProxy::ackSetSourceState(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSetSourceState", + "(iq)i", + handle, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSourceStateAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceStateAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSetSourceState", + "(iq)i", + handle, error, + std::move(callback)); +} +/** + * acknowledges asyncSetSinkSoundProperties + */ +void RoutingControlObserverDBusProxy::ackSetSinkSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSetSinkSoundProperties", + "(iq)i", + handle, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertiesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSetSinkSoundProperties", + "(iq)i", + handle, error, + std::move(callback)); +} +/** + * acknowledges asyncSetSinkSoundProperty + */ +void RoutingControlObserverDBusProxy::ackSetSinkSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSetSinkSoundProperty", + "(iq)i", + handle, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertyAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSetSinkSoundProperty", + "(iq)i", + handle, error, + std::move(callback)); +} +/** + * acknowledges asyncSetSourceSoundProperties + */ +void RoutingControlObserverDBusProxy::ackSetSourceSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSetSourceSoundProperties", + "(iq)i", + handle, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertiesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSetSourceSoundProperties", + "(iq)i", + handle, error, + std::move(callback)); +} +/** + * acknowledges asyncSetSourceSoundProperty + */ +void RoutingControlObserverDBusProxy::ackSetSourceSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSetSourceSoundProperty", + "(iq)i", + handle, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertyAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSetSourceSoundProperty", + "(iq)i", + handle, error, + std::move(callback)); +} +/** + * acknowledges asyncCrossFade + */ +void RoutingControlObserverDBusProxy::ackCrossFading(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_HotSink_e, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackCrossFading", + "(iq)ii", + handle, hotSink, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackCrossFadingAsync(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, AckCrossFadingAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_HotSink_e, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackCrossFading", + "(iq)ii", + handle, hotSink, error, + std::move(callback)); +} +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +void RoutingControlObserverDBusProxy::ackSourceVolumeTick(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_volume_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSourceVolumeTick", + "(iq)qn", + handle, sourceID, volume, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSourceVolumeTickAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, AckSourceVolumeTickAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_volume_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSourceVolumeTick", + "(iq)qn", + handle, sourceID, volume, + std::move(callback)); +} +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +void RoutingControlObserverDBusProxy::ackSinkVolumeTick(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_volume_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSinkVolumeTick", + "(iq)qn", + handle, sinkID, volume, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSinkVolumeTickAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, AckSinkVolumeTickAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_volume_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSinkVolumeTick", + "(iq)qn", + handle, sinkID, volume, + std::move(callback)); +} +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +void RoutingControlObserverDBusProxy::peekDomain(const std::string& name, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_Error_e> >::callMethodWithReply( + *this, + "peekDomain", + "s", + name, + callStatus + , domainID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::peekDomainAsync(const std::string& name, PeekDomainAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_Error_e> >::callMethodAsync( + *this, + "peekDomain", + "s", + name, + std::move(callback)); +} +/** + * registers a domain +(at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +void RoutingControlObserverDBusProxy::registerDomain(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Domain_s, std::string, std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_Error_e> >::callMethodWithReply( + *this, + "registerDomain", + "(qsssbbi)ss", + domainData, returnBusname, returnInterface, + callStatus + , domainID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::registerDomainAsync(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, RegisterDomainAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Domain_s, std::string, std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_Error_e> >::callMethodAsync( + *this, + "registerDomain", + "(qsssbbi)ss", + domainData, returnBusname, returnInterface, + std::move(callback)); +} +/** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. +(at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ +void RoutingControlObserverDBusProxy::deregisterDomain(const am_domainID_t& domainID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "deregisterDomain", + "q", + domainID, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::deregisterDomainAsync(const am_domainID_t& domainID, DeregisterDomainAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "deregisterDomain", + "q", + domainID, + std::move(callback)); +} +/** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +void RoutingControlObserverDBusProxy::registerGateway(const am_Gateway_s& gatewayData, CommonAPI::CallStatus& callStatus, am_gatewayID_t& gatewayID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Gateway_s>, + CommonAPI::DBus::DBusSerializableArguments<am_gatewayID_t, am_Error_e> >::callMethodWithReply( + *this, + "registerGateway", + "(qsqqqqqaqaqab)", + gatewayData, + callStatus + , gatewayID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::registerGatewayAsync(const am_Gateway_s& gatewayData, RegisterGatewayAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Gateway_s>, + CommonAPI::DBus::DBusSerializableArguments<am_gatewayID_t, am_Error_e> >::callMethodAsync( + *this, + "registerGateway", + "(qsqqqqqaqaqab)", + gatewayData, + std::move(callback)); +} +/** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +void RoutingControlObserverDBusProxy::registerConverter(const am_Converter_s& converterData, CommonAPI::CallStatus& callStatus, am_converterID_t& converterID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Converter_s>, + CommonAPI::DBus::DBusSerializableArguments<am_converterID_t, am_Error_e> >::callMethodWithReply( + *this, + "registerConverter", + "(qsqqqaqaqab)", + converterData, + callStatus + , converterID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::registerConverterAsync(const am_Converter_s& converterData, RegisterConverterAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Converter_s>, + CommonAPI::DBus::DBusSerializableArguments<am_converterID_t, am_Error_e> >::callMethodAsync( + *this, + "registerConverter", + "(qsqqqaqaqab)", + converterData, + std::move(callback)); +} +/** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +void RoutingControlObserverDBusProxy::deregisterGateway(const am_gatewayID_t& gatewayID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_gatewayID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "deregisterGateway", + "q", + gatewayID, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::deregisterGatewayAsync(const am_gatewayID_t& gatewayID, DeregisterGatewayAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_gatewayID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "deregisterGateway", + "q", + gatewayID, + std::move(callback)); +} +/** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ +void RoutingControlObserverDBusProxy::deregisterConverter(const am_converterID_t& converterID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_converterID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "deregisterConverter", + "q", + converterID, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::deregisterConverterAsync(const am_converterID_t& converterID, DeregisterConverterAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_converterID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "deregisterConverter", + "q", + converterID, + std::move(callback)); +} +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +void RoutingControlObserverDBusProxy::peekSink(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Error_e> >::callMethodWithReply( + *this, + "peekSink", + "s", + name, + callStatus + , sinkID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::peekSinkAsync(const std::string& name, PeekSinkAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Error_e> >::callMethodAsync( + *this, + "peekSink", + "s", + name, + std::move(callback)); +} +/** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +void RoutingControlObserverDBusProxy::registerSink(const am_Sink_s& sinkData, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Sink_s>, + CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Error_e> >::callMethodWithReply( + *this, + "registerSink", + "(qsqqnb(iq)ina(qn)aqa(qn)a(qin)a(qin))", + sinkData, + callStatus + , sinkID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::registerSinkAsync(const am_Sink_s& sinkData, RegisterSinkAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Sink_s>, + CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Error_e> >::callMethodAsync( + *this, + "registerSink", + "(qsqqnb(iq)ina(qn)aqa(qn)a(qin)a(qin))", + sinkData, + std::move(callback)); +} +/** + * deregisters a sink. +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +void RoutingControlObserverDBusProxy::deregisterSink(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "deregisterSink", + "q", + sinkID, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::deregisterSinkAsync(const am_sinkID_t& sinkID, DeregisterSinkAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "deregisterSink", + "q", + sinkID, + std::move(callback)); +} +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +void RoutingControlObserverDBusProxy::peekSource(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_Error_e> >::callMethodWithReply( + *this, + "peekSource", + "s", + name, + callStatus + , sourceID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::peekSourceAsync(const std::string& name, PeekSourceAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_Error_e> >::callMethodAsync( + *this, + "peekSource", + "s", + name, + std::move(callback)); +} +/** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation +(at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ +void RoutingControlObserverDBusProxy::registerSource(const am_Source_s& sourceData, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Source_s>, + CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_Error_e> >::callMethodWithReply( + *this, + "registerSource", + "(qqsqinb(iq)ia(qn)aqa(qn)a(qin)a(qin))", + sourceData, + callStatus + , sourceID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::registerSourceAsync(const am_Source_s& sourceData, RegisterSourceAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Source_s>, + CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_Error_e> >::callMethodAsync( + *this, + "registerSource", + "(qqsqinb(iq)ia(qn)aqa(qn)a(qin)a(qin))", + sourceData, + std::move(callback)); +} +/** + * deregisters a source +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +void RoutingControlObserverDBusProxy::deregisterSource(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "deregisterSource", + "q", + sourceID, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::deregisterSourceAsync(const am_sourceID_t& sourceID, DeregisterSourceAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "deregisterSource", + "q", + sourceID, + std::move(callback)); +} +/** + * this function registers a crossfader. +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +void RoutingControlObserverDBusProxy::registerCrossfader(const am_Crossfader_s& crossfaderData, CommonAPI::CallStatus& callStatus, am_crossfaderID_t& crossfaderID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Crossfader_s>, + CommonAPI::DBus::DBusSerializableArguments<am_crossfaderID_t, am_Error_e> >::callMethodWithReply( + *this, + "registerCrossfader", + "(qsqqqi)", + crossfaderData, + callStatus + , crossfaderID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::registerCrossfaderAsync(const am_Crossfader_s& crossfaderData, RegisterCrossfaderAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Crossfader_s>, + CommonAPI::DBus::DBusSerializableArguments<am_crossfaderID_t, am_Error_e> >::callMethodAsync( + *this, + "registerCrossfader", + "(qsqqqi)", + crossfaderData, + std::move(callback)); +} +/** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +void RoutingControlObserverDBusProxy::deregisterCrossfader(const am_crossfaderID_t& crossfaderID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_crossfaderID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "deregisterCrossfader", + "q", + crossfaderID, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::deregisterCrossfaderAsync(const am_crossfaderID_t& crossfaderID, DeregisterCrossfaderAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_crossfaderID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "deregisterCrossfader", + "q", + crossfaderID, + std::move(callback)); +} +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +void RoutingControlObserverDBusProxy::peekSourceClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceClass_t& sourceClassID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_sourceClass_t, am_Error_e> >::callMethodWithReply( + *this, + "peekSourceClassID", + "s", + name, + callStatus + , sourceClassID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::peekSourceClassIDAsync(const std::string& name, PeekSourceClassIDAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_sourceClass_t, am_Error_e> >::callMethodAsync( + *this, + "peekSourceClassID", + "s", + name, + std::move(callback)); +} +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +void RoutingControlObserverDBusProxy::peekSinkClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkClass_t& sinkClassID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_sinkClass_t, am_Error_e> >::callMethodWithReply( + *this, + "peekSinkClassID", + "s", + name, + callStatus + , sinkClassID, error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::peekSinkClassIDAsync(const std::string& name, PeekSinkClassIDAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<am_sinkClass_t, am_Error_e> >::callMethodAsync( + *this, + "peekSinkClassID", + "s", + name, + std::move(callback)); +} +/** + * is called when a low level interrupt changes it status. + */ +void RoutingControlObserverDBusProxy::hookInterruptStatusChange(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_InterruptState_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "hookInterruptStatusChange", + "qi", + sourceID, interruptState, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::hookInterruptStatusChangeAsync(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, HookInterruptStatusChangeAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_InterruptState_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "hookInterruptStatusChange", + "qi", + sourceID, interruptState, + std::move(callback)); +} +/** + * 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 + */ +void RoutingControlObserverDBusProxy::hookDomainRegistrationComplete(const am_domainID_t& domainID, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "hookDomainRegistrationComplete", + "q", + domainID, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::hookDomainRegistrationCompleteAsync(const am_domainID_t& domainID, HookDomainRegistrationCompleteAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "hookDomainRegistrationComplete", + "q", + domainID, + std::move(callback)); +} +/** + * is called when a sink changes its availability + */ +void RoutingControlObserverDBusProxy::hookSinkAvailablityStatusChange(const am_sinkID_t& sinkID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Availability_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "hookSinkAvailablityStatusChange", + "q(iq)", + sinkID, availability, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::hookSinkAvailablityStatusChangeAsync(const am_sinkID_t& sinkID, const am_Availability_s& availability, HookSinkAvailablityStatusChangeAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Availability_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "hookSinkAvailablityStatusChange", + "q(iq)", + sinkID, availability, + std::move(callback)); +} +/** + * is called when a source changes its availability + */ +void RoutingControlObserverDBusProxy::hookSourceAvailablityStatusChange(const am_sourceID_t& sourceID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_Availability_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "hookSourceAvailablityStatusChange", + "q(iq)", + sourceID, availability, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::hookSourceAvailablityStatusChangeAsync(const am_sourceID_t& sourceID, const am_Availability_s& availability, HookSourceAvailablityStatusChangeAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_Availability_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "hookSourceAvailablityStatusChange", + "q(iq)", + sourceID, availability, + std::move(callback)); +} +/** + * is called when a domain changes its status. This used for early domains only + */ +void RoutingControlObserverDBusProxy::hookDomainStateChange(const am_domainID_t& domainID, const am_DomainState_e& domainState, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_DomainState_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "hookDomainStateChange", + "qi", + domainID, domainState, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::hookDomainStateChangeAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, HookDomainStateChangeAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_DomainState_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "hookDomainStateChange", + "qi", + domainID, domainState, + std::move(callback)); +} +/** + * is called when the timinginformation (delay) changed for a connection. + */ +void RoutingControlObserverDBusProxy::hookTimingInformationChanged(const am_connectionID_t& connectionID, const am_timeSync_t& delay, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_connectionID_t, am_timeSync_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "hookTimingInformationChanged", + "qn", + connectionID, delay, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::hookTimingInformationChangedAsync(const am_connectionID_t& connectionID, const am_timeSync_t& delay, HookTimingInformationChangedAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_connectionID_t, am_timeSync_t>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "hookTimingInformationChanged", + "qn", + connectionID, delay, + std::move(callback)); +} +/** + * this function is used to send out all data that has been changed in an early + * state. +(at)return E_OK on success, E_UNKNOWN on error + */ +void RoutingControlObserverDBusProxy::sendChangedData(const am_EarlyData_L& earlyData, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_EarlyData_L>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "sendChangedData", + "a(i(yv)(yv))", + earlyData, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::sendChangedDataAsync(const am_EarlyData_L& earlyData, SendChangedDataAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_EarlyData_L>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "sendChangedData", + "a(i(yv)(yv))", + earlyData, + std::move(callback)); +} +/** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ +void RoutingControlObserverDBusProxy::updateGateway(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_gatewayID_t, am_ConnectionFormat_L, am_ConnectionFormat_L, am_Convertion_L>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "updateGateway", + "qaqaqab", + gatewayID, listSourceFormats, listSinkFormats, convertionMatrix, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::updateGatewayAsync(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateGatewayAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_gatewayID_t, am_ConnectionFormat_L, am_ConnectionFormat_L, am_Convertion_L>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "updateGateway", + "qaqaqab", + gatewayID, listSourceFormats, listSinkFormats, convertionMatrix, + std::move(callback)); +} +/** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ +void RoutingControlObserverDBusProxy::updateConverter(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_converterID_t, am_ConnectionFormat_L, am_ConnectionFormat_L, am_Convertion_L>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "updateConverter", + "qaqaqab", + converterID, listSourceFormats, listSinkFormats, convertionMatrix, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::updateConverterAsync(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateConverterAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_converterID_t, am_ConnectionFormat_L, am_ConnectionFormat_L, am_Convertion_L>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "updateConverter", + "qaqaqab", + converterID, listSourceFormats, listSinkFormats, convertionMatrix, + std::move(callback)); +} +/** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ +void RoutingControlObserverDBusProxy::updateSink(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_sinkClass_t, am_SoundProperty_L, am_ConnectionFormat_L, am_MainSoundProperty_L>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "updateSink", + "qqa(qn)aqa(qn)", + sinkID, sinkClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::updateSinkAsync(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSinkAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_sinkClass_t, am_SoundProperty_L, am_ConnectionFormat_L, am_MainSoundProperty_L>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "updateSink", + "qqa(qn)aqa(qn)", + sinkID, sinkClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, + std::move(callback)); +} +/** + * updates data of an source. (at)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 + */ +void RoutingControlObserverDBusProxy::updateSource(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_sourceClass_t, am_SoundProperty_L, am_ConnectionFormat_L, am_MainSoundProperty_L>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "updateSource", + "qqa(qn)aqa(qn)", + sourceID, sourceClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::updateSourceAsync(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSourceAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_sourceClass_t, am_SoundProperty_L, am_ConnectionFormat_L, am_MainSoundProperty_L>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "updateSource", + "qqa(qn)aqa(qn)", + sourceID, sourceClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, + std::move(callback)); +} +/** + * acknowledges a asyncSetSinkVolumes + */ +void RoutingControlObserverDBusProxy::ackSetVolumes(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Volumes_L, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSetVolumes", + "(iq)a(i(yv)nqn)i", + handle, listvolumes, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, AckSetVolumesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Volumes_L, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSetVolumes", + "(iq)a(i(yv)nqn)i", + handle, listvolumes, error, + std::move(callback)); +} +/** + * The acknowledge of the SinkNotificationConfiguration + */ +void RoutingControlObserverDBusProxy::ackSinkNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSinkNotificationConfiguration", + "(iq)i", + handle, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSinkNotificationConfigurationAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSinkNotificationConfiguration", + "(iq)i", + handle, error, + std::move(callback)); +} +/** + * The acknowledge of the SourceNotificationConfiguration + */ +void RoutingControlObserverDBusProxy::ackSourceNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "ackSourceNotificationConfiguration", + "(iq)i", + handle, error, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSourceNotificationConfigurationAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "ackSourceNotificationConfiguration", + "(iq)i", + handle, error, + std::move(callback)); +} +/** + * is called whenever a notified value needs to be send + */ +void RoutingControlObserverDBusProxy::hookSinkNotificationDataChange(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_NotificationPayload_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "hookSinkNotificationDataChange", + "q(qn)", + sinkID, payload, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::hookSinkNotificationDataChangeAsync(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, HookSinkNotificationDataChangeAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_NotificationPayload_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "hookSinkNotificationDataChange", + "q(qn)", + sinkID, payload, + std::move(callback)); +} +/** + * is called whenever a notified value needs to be send + */ +void RoutingControlObserverDBusProxy::hookSourceNotificationDataChange(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_NotificationPayload_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "hookSourceNotificationDataChange", + "q(qn)", + sourceID, payload, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::hookSourceNotificationDataChangeAsync(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, HookSourceNotificationDataChangeAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_NotificationPayload_s>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "hookSourceNotificationDataChange", + "q(qn)", + sourceID, payload, + std::move(callback)); +} +void RoutingControlObserverDBusProxy::confirmRoutingRundown(const std::string& domainName, CommonAPI::CallStatus& callStatus) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply( + *this, + "confirmRoutingRundown", + "s", + domainName, + callStatus + ); +} +std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::confirmRoutingRundownAsync(const std::string& domainName, ConfirmRoutingRundownAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>, + CommonAPI::DBus::DBusSerializableArguments<> >::callMethodAsync( + *this, + "confirmRoutingRundown", + "s", + domainName, + std::move(callback)); +} + + + +void RoutingControlObserverDBusProxy::getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const { + ownVersionMajor = 2; + ownVersionMinor = 0; +} + +} // namespace am +} // namespace genivi +} // namespace org diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.h new file mode 100644 index 0000000..c72d2cd --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.h @@ -0,0 +1,357 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * Routing Receive sendInterface description. + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_Observer_DBUS_PROXY_H_ +#define ORG_GENIVI_AM_Routing_Control_Observer_DBUS_PROXY_H_ + +#include <org/genivi/am/RoutingControlObserverProxyBase.h> + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/DBus/DBusFactory.h> +#include <CommonAPI/DBus/DBusProxy.h> +#include <CommonAPI/DBus/DBusAttribute.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +#include <string> + +namespace org { +namespace genivi { +namespace am { + +class RoutingControlObserverDBusProxy: virtual public RoutingControlObserverProxyBase, virtual public CommonAPI::DBus::DBusProxy { + public: + RoutingControlObserverDBusProxy( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& interfaceName, + const std::string& busName, + const std::string& objectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyconnection); + + virtual ~RoutingControlObserverDBusProxy() { } + + virtual RoutingReadyAttribute& getRoutingReadyAttribute(); + + + /** + * acknowledges a asyncConnect + */ + virtual void ackConnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackConnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckConnectAsyncCallback callback); + /** + * acknowledges a asyncDisconnect + */ + virtual void ackDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckDisconnectAsyncCallback callback); + /** + * acknowledges a asyncsetSinkVolume + */ + virtual void ackSetSinkVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSetSinkVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSinkVolumeChangeAsyncCallback callback); + /** + * acknowledges a asyncsetSourceVolume + */ + virtual void ackSetSourceVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSetSourceVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSourceVolumeChangeAsyncCallback callback); + /** + * acknowlegde for asyncSetSourceState + */ + virtual void ackSetSourceState(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSetSourceStateAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceStateAsyncCallback callback); + /** + * acknowledges asyncSetSinkSoundProperties + */ + virtual void ackSetSinkSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertiesAsyncCallback callback); + /** + * acknowledges asyncSetSinkSoundProperty + */ + virtual void ackSetSinkSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertyAsyncCallback callback); + /** + * acknowledges asyncSetSourceSoundProperties + */ + virtual void ackSetSourceSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertiesAsyncCallback callback); + /** + * acknowledges asyncSetSourceSoundProperty + */ + virtual void ackSetSourceSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertyAsyncCallback callback); + /** + * acknowledges asyncCrossFade + */ + virtual void ackCrossFading(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackCrossFadingAsync(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, AckCrossFadingAsyncCallback callback); + /** + * 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, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSourceVolumeTickAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, AckSourceVolumeTickAsyncCallback callback); + /** + * 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, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSinkVolumeTickAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, AckSinkVolumeTickAsyncCallback callback); + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + virtual void peekDomain(const std::string& name, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> peekDomainAsync(const std::string& name, PeekDomainAsyncCallback callback); + /** + * registers a domain + (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + virtual void registerDomain(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> registerDomainAsync(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, RegisterDomainAsyncCallback callback); + /** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. + (at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ + virtual void deregisterDomain(const am_domainID_t& domainID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> deregisterDomainAsync(const am_domainID_t& domainID, DeregisterDomainAsyncCallback callback); + /** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + virtual void registerGateway(const am_Gateway_s& gatewayData, CommonAPI::CallStatus& callStatus, am_gatewayID_t& gatewayID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> registerGatewayAsync(const am_Gateway_s& gatewayData, RegisterGatewayAsyncCallback callback); + /** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + virtual void registerConverter(const am_Converter_s& converterData, CommonAPI::CallStatus& callStatus, am_converterID_t& converterID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> registerConverterAsync(const am_Converter_s& converterData, RegisterConverterAsyncCallback callback); + /** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + virtual void deregisterGateway(const am_gatewayID_t& gatewayID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> deregisterGatewayAsync(const am_gatewayID_t& gatewayID, DeregisterGatewayAsyncCallback callback); + /** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ + virtual void deregisterConverter(const am_converterID_t& converterID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> deregisterConverterAsync(const am_converterID_t& converterID, DeregisterConverterAsyncCallback callback); + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + virtual void peekSink(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> peekSinkAsync(const std::string& name, PeekSinkAsyncCallback callback); + /** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + virtual void registerSink(const am_Sink_s& sinkData, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> registerSinkAsync(const am_Sink_s& sinkData, RegisterSinkAsyncCallback callback); + /** + * deregisters a sink. + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + virtual void deregisterSink(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> deregisterSinkAsync(const am_sinkID_t& sinkID, DeregisterSinkAsyncCallback callback); + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + virtual void peekSource(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> peekSourceAsync(const std::string& name, PeekSourceAsyncCallback callback); + /** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation + (at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ + virtual void registerSource(const am_Source_s& sourceData, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> registerSourceAsync(const am_Source_s& sourceData, RegisterSourceAsyncCallback callback); + /** + * deregisters a source + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + virtual void deregisterSource(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> deregisterSourceAsync(const am_sourceID_t& sourceID, DeregisterSourceAsyncCallback callback); + /** + * this function registers a crossfader. + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + virtual void registerCrossfader(const am_Crossfader_s& crossfaderData, CommonAPI::CallStatus& callStatus, am_crossfaderID_t& crossfaderID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> registerCrossfaderAsync(const am_Crossfader_s& crossfaderData, RegisterCrossfaderAsyncCallback callback); + /** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + virtual void deregisterCrossfader(const am_crossfaderID_t& crossfaderID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> deregisterCrossfaderAsync(const am_crossfaderID_t& crossfaderID, DeregisterCrossfaderAsyncCallback callback); + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + virtual void peekSourceClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceClass_t& sourceClassID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> peekSourceClassIDAsync(const std::string& name, PeekSourceClassIDAsyncCallback callback); + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + virtual void peekSinkClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkClass_t& sinkClassID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> peekSinkClassIDAsync(const std::string& name, PeekSinkClassIDAsyncCallback callback); + /** + * is called when a low level interrupt changes it status. + */ + virtual void hookInterruptStatusChange(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> hookInterruptStatusChangeAsync(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, HookInterruptStatusChangeAsyncCallback callback); + /** + * 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, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> hookDomainRegistrationCompleteAsync(const am_domainID_t& domainID, HookDomainRegistrationCompleteAsyncCallback callback); + /** + * is called when a sink changes its availability + */ + virtual void hookSinkAvailablityStatusChange(const am_sinkID_t& sinkID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> hookSinkAvailablityStatusChangeAsync(const am_sinkID_t& sinkID, const am_Availability_s& availability, HookSinkAvailablityStatusChangeAsyncCallback callback); + /** + * is called when a source changes its availability + */ + virtual void hookSourceAvailablityStatusChange(const am_sourceID_t& sourceID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> hookSourceAvailablityStatusChangeAsync(const am_sourceID_t& sourceID, const am_Availability_s& availability, HookSourceAvailablityStatusChangeAsyncCallback callback); + /** + * 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, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> hookDomainStateChangeAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, HookDomainStateChangeAsyncCallback callback); + /** + * is called when the timinginformation (delay) changed for a connection. + */ + virtual void hookTimingInformationChanged(const am_connectionID_t& connectionID, const am_timeSync_t& delay, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> hookTimingInformationChangedAsync(const am_connectionID_t& connectionID, const am_timeSync_t& delay, HookTimingInformationChangedAsyncCallback callback); + /** + * this function is used to send out all data that has been changed in an early + * state. + (at)return E_OK on success, E_UNKNOWN on error + */ + virtual void sendChangedData(const am_EarlyData_L& earlyData, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> sendChangedDataAsync(const am_EarlyData_L& earlyData, SendChangedDataAsyncCallback callback); + /** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ + virtual void updateGateway(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> updateGatewayAsync(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateGatewayAsyncCallback callback); + /** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ + virtual void updateConverter(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> updateConverterAsync(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateConverterAsyncCallback callback); + /** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ + virtual void updateSink(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> updateSinkAsync(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSinkAsyncCallback callback); + /** + * updates data of an source. (at)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 void updateSource(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> updateSourceAsync(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSourceAsyncCallback callback); + /** + * acknowledges a asyncSetSinkVolumes + */ + virtual void ackSetVolumes(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, AckSetVolumesAsyncCallback callback); + /** + * The acknowledge of the SinkNotificationConfiguration + */ + virtual void ackSinkNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSinkNotificationConfigurationAsyncCallback callback); + /** + * The acknowledge of the SourceNotificationConfiguration + */ + virtual void ackSourceNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> ackSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSourceNotificationConfigurationAsyncCallback callback); + /** + * is called whenever a notified value needs to be send + */ + virtual void hookSinkNotificationDataChange(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> hookSinkNotificationDataChangeAsync(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, HookSinkNotificationDataChangeAsyncCallback callback); + /** + * is called whenever a notified value needs to be send + */ + virtual void hookSourceNotificationDataChange(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> hookSourceNotificationDataChangeAsync(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, HookSourceNotificationDataChangeAsyncCallback callback); + virtual void confirmRoutingRundown(const std::string& domainName, CommonAPI::CallStatus& callStatus); + virtual std::future<CommonAPI::CallStatus> confirmRoutingRundownAsync(const std::string& domainName, ConfirmRoutingRundownAsyncCallback callback); + + + virtual void getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const; + + private: + CommonAPI::DBus::DBusObservableAttribute<CommonAPI::DBus::DBusReadonlyAttribute<RoutingReadyAttribute>> routingReady_; + + +}; + + + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Routing_Control_Observer_DBUS_PROXY_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.cpp new file mode 100644 index 0000000..b9475df --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.cpp @@ -0,0 +1,1244 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +#include "RoutingControlObserverDBusStubAdapter.h" +#include <org/genivi/am/RoutingControlObserver.h> + +namespace org { +namespace genivi { +namespace am { + +std::shared_ptr<CommonAPI::DBus::DBusStubAdapter> createRoutingControlObserverDBusStubAdapter( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& interfaceName, + const std::string& busName, + const std::string& objectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyConnection, + const std::shared_ptr<CommonAPI::StubBase>& stubBase) { + return std::make_shared<RoutingControlObserverDBusStubAdapter>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection, stubBase); +} + +INITIALIZER(registerRoutingControlObserverDBusStubAdapter) { + CommonAPI::DBus::DBusFactory::registerAdapterFactoryMethod(RoutingControlObserver::getInterfaceId(), + &createRoutingControlObserverDBusStubAdapter); +} + + + +RoutingControlObserverDBusStubAdapterInternal::~RoutingControlObserverDBusStubAdapterInternal() { + deactivateManagedInstances(); + RoutingControlObserverDBusStubAdapterHelper::deinit(); +} + +void RoutingControlObserverDBusStubAdapterInternal::deactivateManagedInstances() { + +} + +const char* RoutingControlObserverDBusStubAdapterInternal::getMethodsDBusIntrospectionXmlData() const { + static const std::string introspectionData = + "<method name=\"getInterfaceVersion\">\n" + "<arg name=\"value\" type=\"uu\" direction=\"out\" />" + "</method>\n" + "<method name=\"getRoutingReadyAttribute\">\n" + "<arg name=\"value\" type=\"i\" direction=\"out\" />" + "</method>\n" + "<signal name=\"onRoutingReadyAttributeChanged\">\n" + "<arg name=\"changedValue\" type=\"i\" />\n" + "</signal>\n" + /** + * acknowledges a asyncConnect + */ + "<method name=\"ackConnect\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"connectionID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges a asyncDisconnect + */ + "<method name=\"ackDisconnect\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"connectionID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges a asyncsetSinkVolume + */ + "<method name=\"ackSetSinkVolumeChange\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"volume\" type=\"n\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges a asyncsetSourceVolume + */ + "<method name=\"ackSetSourceVolumeChange\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"volume\" type=\"n\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowlegde for asyncSetSourceState + */ + "<method name=\"ackSetSourceState\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges asyncSetSinkSoundProperties + */ + "<method name=\"ackSetSinkSoundProperties\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges asyncSetSinkSoundProperty + */ + "<method name=\"ackSetSinkSoundProperty\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges asyncSetSourceSoundProperties + */ + "<method name=\"ackSetSourceSoundProperties\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges asyncSetSourceSoundProperty + */ + "<method name=\"ackSetSourceSoundProperty\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges asyncCrossFade + */ + "<method name=\"ackCrossFading\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"hotSink\" type=\"i\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ + "<method name=\"ackSourceVolumeTick\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"volume\" type=\"n\" direction=\"in\" />\n" + "</method>\n" + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ + "<method name=\"ackSinkVolumeTick\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"volume\" type=\"n\" direction=\"in\" />\n" + "</method>\n" + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + "<method name=\"peekDomain\">\n" + "<arg name=\"name\" type=\"s\" direction=\"in\" />\n" + "<arg name=\"domainID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * registers a domain + (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + "<method name=\"registerDomain\">\n" + "<arg name=\"domainData\" type=\"(qsssbbi)\" direction=\"in\" />\n" + "<arg name=\"returnBusname\" type=\"s\" direction=\"in\" />\n" + "<arg name=\"returnInterface\" type=\"s\" direction=\"in\" />\n" + "<arg name=\"domainID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. + (at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ + "<method name=\"deregisterDomain\">\n" + "<arg name=\"domainID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + "<method name=\"registerGateway\">\n" + "<arg name=\"gatewayData\" type=\"(qsqqqqqaqaqab)\" direction=\"in\" />\n" + "<arg name=\"gatewayID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + "<method name=\"registerConverter\">\n" + "<arg name=\"converterData\" type=\"(qsqqqaqaqab)\" direction=\"in\" />\n" + "<arg name=\"converterID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + "<method name=\"deregisterGateway\">\n" + "<arg name=\"gatewayID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ + "<method name=\"deregisterConverter\">\n" + "<arg name=\"converterID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + "<method name=\"peekSink\">\n" + "<arg name=\"name\" type=\"s\" direction=\"in\" />\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + "<method name=\"registerSink\">\n" + "<arg name=\"sinkData\" type=\"(qsqqnb(iq)ina(qn)aqa(qn)a(qin)a(qin))\" direction=\"in\" />\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * deregisters a sink. + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + "<method name=\"deregisterSink\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + "<method name=\"peekSource\">\n" + "<arg name=\"name\" type=\"s\" direction=\"in\" />\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation + (at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ + "<method name=\"registerSource\">\n" + "<arg name=\"sourceData\" type=\"(qqsqinb(iq)ia(qn)aqa(qn)a(qin)a(qin))\" direction=\"in\" />\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * deregisters a source + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + "<method name=\"deregisterSource\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * this function registers a crossfader. + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + "<method name=\"registerCrossfader\">\n" + "<arg name=\"crossfaderData\" type=\"(qsqqqi)\" direction=\"in\" />\n" + "<arg name=\"crossfaderID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + "<method name=\"deregisterCrossfader\">\n" + "<arg name=\"crossfaderID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + "<method name=\"peekSourceClassID\">\n" + "<arg name=\"name\" type=\"s\" direction=\"in\" />\n" + "<arg name=\"sourceClassID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + "<method name=\"peekSinkClassID\">\n" + "<arg name=\"name\" type=\"s\" direction=\"in\" />\n" + "<arg name=\"sinkClassID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * is called when a low level interrupt changes it status. + */ + "<method name=\"hookInterruptStatusChange\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"interruptState\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * 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 + */ + "<method name=\"hookDomainRegistrationComplete\">\n" + "<arg name=\"domainID\" type=\"q\" direction=\"in\" />\n" + "</method>\n" + /** + * is called when a sink changes its availability + */ + "<method name=\"hookSinkAvailablityStatusChange\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"availability\" type=\"(iq)\" direction=\"in\" />\n" + "</method>\n" + /** + * is called when a source changes its availability + */ + "<method name=\"hookSourceAvailablityStatusChange\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"availability\" type=\"(iq)\" direction=\"in\" />\n" + "</method>\n" + /** + * is called when a domain changes its status. This used for early domains only + */ + "<method name=\"hookDomainStateChange\">\n" + "<arg name=\"domainID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"domainState\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * is called when the timinginformation (delay) changed for a connection. + */ + "<method name=\"hookTimingInformationChanged\">\n" + "<arg name=\"connectionID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"delay\" type=\"n\" direction=\"in\" />\n" + "</method>\n" + /** + * this function is used to send out all data that has been changed in an early + * state. + (at)return E_OK on success, E_UNKNOWN on error + */ + "<method name=\"sendChangedData\">\n" + "<arg name=\"earlyData\" type=\"a(i(yv)(yv))\" direction=\"in\" />\n" + "</method>\n" + /** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ + "<method name=\"updateGateway\">\n" + "<arg name=\"gatewayID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listSourceFormats\" type=\"aq\" direction=\"in\" />\n" + "<arg name=\"listSinkFormats\" type=\"aq\" direction=\"in\" />\n" + "<arg name=\"convertionMatrix\" type=\"ab\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ + "<method name=\"updateConverter\">\n" + "<arg name=\"converterID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listSourceFormats\" type=\"aq\" direction=\"in\" />\n" + "<arg name=\"listSinkFormats\" type=\"aq\" direction=\"in\" />\n" + "<arg name=\"convertionMatrix\" type=\"ab\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ + "<method name=\"updateSink\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"sinkClassID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listSoundProperties\" type=\"a(qn)\" direction=\"in\" />\n" + "<arg name=\"listConnectionFormats\" type=\"aq\" direction=\"in\" />\n" + "<arg name=\"listMainSoundProperties\" type=\"a(qn)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * updates data of an source. (at)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 + */ + "<method name=\"updateSource\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"sourceClassID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listSoundProperties\" type=\"a(qn)\" direction=\"in\" />\n" + "<arg name=\"listConnectionFormats\" type=\"aq\" direction=\"in\" />\n" + "<arg name=\"listMainSoundProperties\" type=\"a(qn)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * acknowledges a asyncSetSinkVolumes + */ + "<method name=\"ackSetVolumes\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"listvolumes\" type=\"a(i(yv)nqn)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * The acknowledge of the SinkNotificationConfiguration + */ + "<method name=\"ackSinkNotificationConfiguration\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * The acknowledge of the SourceNotificationConfiguration + */ + "<method name=\"ackSourceNotificationConfiguration\">\n" + "<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"in\" />\n" + "</method>\n" + /** + * is called whenever a notified value needs to be send + */ + "<method name=\"hookSinkNotificationDataChange\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"payload\" type=\"(qn)\" direction=\"in\" />\n" + "</method>\n" + /** + * is called whenever a notified value needs to be send + */ + "<method name=\"hookSourceNotificationDataChange\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"payload\" type=\"(qn)\" direction=\"in\" />\n" + "</method>\n" + "<method name=\"confirmRoutingRundown\">\n" + "<arg name=\"domainName\" type=\"s\" direction=\"in\" />\n" + "</method>\n" + + ; + return introspectionData.c_str(); +} + +CommonAPI::DBus::DBusGetAttributeStubDispatcher< + RoutingControlObserverStub, + CommonAPI::Version + > RoutingControlObserverDBusStubAdapterInternal::getRoutingControlObserverInterfaceVersionStubDispatcher(&RoutingControlObserverStub::getInterfaceVersion, "uu"); + +/** + * This attribute signals to the clients the current routing state. +A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ +CommonAPI::DBus::DBusGetAttributeStubDispatcher< + RoutingControlObserverStub, + am_RoutingReady_e + > RoutingControlObserverDBusStubAdapterInternal::getRoutingReadyAttributeStubDispatcher(&RoutingControlObserverStub::getRoutingReadyAttribute, "i"); + + +/** + * acknowledges a asyncConnect + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_connectionID_t, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackConnectStubDispatcher(&RoutingControlObserverStub::ackConnect, ""); +/** + * acknowledges a asyncDisconnect + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_connectionID_t, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackDisconnectStubDispatcher(&RoutingControlObserverStub::ackDisconnect, ""); +/** + * acknowledges a asyncsetSinkVolume + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_volume_t, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSetSinkVolumeChangeStubDispatcher(&RoutingControlObserverStub::ackSetSinkVolumeChange, ""); +/** + * acknowledges a asyncsetSourceVolume + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_volume_t, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSetSourceVolumeChangeStubDispatcher(&RoutingControlObserverStub::ackSetSourceVolumeChange, ""); +/** + * acknowlegde for asyncSetSourceState + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSetSourceStateStubDispatcher(&RoutingControlObserverStub::ackSetSourceState, ""); +/** + * acknowledges asyncSetSinkSoundProperties + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSetSinkSoundPropertiesStubDispatcher(&RoutingControlObserverStub::ackSetSinkSoundProperties, ""); +/** + * acknowledges asyncSetSinkSoundProperty + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSetSinkSoundPropertyStubDispatcher(&RoutingControlObserverStub::ackSetSinkSoundProperty, ""); +/** + * acknowledges asyncSetSourceSoundProperties + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSetSourceSoundPropertiesStubDispatcher(&RoutingControlObserverStub::ackSetSourceSoundProperties, ""); +/** + * acknowledges asyncSetSourceSoundProperty + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSetSourceSoundPropertyStubDispatcher(&RoutingControlObserverStub::ackSetSourceSoundProperty, ""); +/** + * acknowledges asyncCrossFade + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_HotSink_e, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackCrossFadingStubDispatcher(&RoutingControlObserverStub::ackCrossFading, ""); +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_sourceID_t, am_volume_t>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSourceVolumeTickStubDispatcher(&RoutingControlObserverStub::ackSourceVolumeTick, ""); +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_sinkID_t, am_volume_t>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSinkVolumeTickStubDispatcher(&RoutingControlObserverStub::ackSinkVolumeTick, ""); +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_domainID_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::peekDomainStubDispatcher(&RoutingControlObserverStub::peekDomain, "qi"); +/** + * registers a domain +(at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Domain_s, std::string, std::string>, + std::tuple<am_domainID_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::registerDomainStubDispatcher(&RoutingControlObserverStub::registerDomain, "qi"); +/** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. +(at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_domainID_t>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::deregisterDomainStubDispatcher(&RoutingControlObserverStub::deregisterDomain, "i"); +/** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Gateway_s>, + std::tuple<am_gatewayID_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::registerGatewayStubDispatcher(&RoutingControlObserverStub::registerGateway, "qi"); +/** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Converter_s>, + std::tuple<am_converterID_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::registerConverterStubDispatcher(&RoutingControlObserverStub::registerConverter, "qi"); +/** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_gatewayID_t>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::deregisterGatewayStubDispatcher(&RoutingControlObserverStub::deregisterGateway, "i"); +/** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_converterID_t>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::deregisterConverterStubDispatcher(&RoutingControlObserverStub::deregisterConverter, "i"); +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_sinkID_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::peekSinkStubDispatcher(&RoutingControlObserverStub::peekSink, "qi"); +/** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Sink_s>, + std::tuple<am_sinkID_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::registerSinkStubDispatcher(&RoutingControlObserverStub::registerSink, "qi"); +/** + * deregisters a sink. +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sinkID_t>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::deregisterSinkStubDispatcher(&RoutingControlObserverStub::deregisterSink, "i"); +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_sourceID_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::peekSourceStubDispatcher(&RoutingControlObserverStub::peekSource, "qi"); +/** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation +(at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Source_s>, + std::tuple<am_sourceID_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::registerSourceStubDispatcher(&RoutingControlObserverStub::registerSource, "qi"); +/** + * deregisters a source +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::deregisterSourceStubDispatcher(&RoutingControlObserverStub::deregisterSource, "i"); +/** + * this function registers a crossfader. +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Crossfader_s>, + std::tuple<am_crossfaderID_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::registerCrossfaderStubDispatcher(&RoutingControlObserverStub::registerCrossfader, "qi"); +/** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_crossfaderID_t>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::deregisterCrossfaderStubDispatcher(&RoutingControlObserverStub::deregisterCrossfader, "i"); +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_sourceClass_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::peekSourceClassIDStubDispatcher(&RoutingControlObserverStub::peekSourceClassID, "qi"); +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_sinkClass_t, am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::peekSinkClassIDStubDispatcher(&RoutingControlObserverStub::peekSinkClassID, "qi"); +/** + * is called when a low level interrupt changes it status. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t, am_InterruptState_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::hookInterruptStatusChangeStubDispatcher(&RoutingControlObserverStub::hookInterruptStatusChange, ""); +/** + * 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 + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_domainID_t>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::hookDomainRegistrationCompleteStubDispatcher(&RoutingControlObserverStub::hookDomainRegistrationComplete, ""); +/** + * is called when a sink changes its availability + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sinkID_t, am_Availability_s>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::hookSinkAvailablityStatusChangeStubDispatcher(&RoutingControlObserverStub::hookSinkAvailablityStatusChange, ""); +/** + * is called when a source changes its availability + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t, am_Availability_s>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::hookSourceAvailablityStatusChangeStubDispatcher(&RoutingControlObserverStub::hookSourceAvailablityStatusChange, ""); +/** + * is called when a domain changes its status. This used for early domains only + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_domainID_t, am_DomainState_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::hookDomainStateChangeStubDispatcher(&RoutingControlObserverStub::hookDomainStateChange, ""); +/** + * is called when the timinginformation (delay) changed for a connection. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_connectionID_t, am_timeSync_t>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::hookTimingInformationChangedStubDispatcher(&RoutingControlObserverStub::hookTimingInformationChanged, ""); +/** + * this function is used to send out all data that has been changed in an early + * state. +(at)return E_OK on success, E_UNKNOWN on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_EarlyData_L>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::sendChangedDataStubDispatcher(&RoutingControlObserverStub::sendChangedData, ""); +/** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_gatewayID_t, am_ConnectionFormat_L, am_ConnectionFormat_L, am_Convertion_L>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::updateGatewayStubDispatcher(&RoutingControlObserverStub::updateGateway, "i"); +/** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_converterID_t, am_ConnectionFormat_L, am_ConnectionFormat_L, am_Convertion_L>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::updateConverterStubDispatcher(&RoutingControlObserverStub::updateConverter, "i"); +/** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sinkID_t, am_sinkClass_t, am_SoundProperty_L, am_ConnectionFormat_L, am_MainSoundProperty_L>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::updateSinkStubDispatcher(&RoutingControlObserverStub::updateSink, "i"); +/** + * updates data of an source. (at)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 + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t, am_sourceClass_t, am_SoundProperty_L, am_ConnectionFormat_L, am_MainSoundProperty_L>, + std::tuple<am_Error_e> + > RoutingControlObserverDBusStubAdapterInternal::updateSourceStubDispatcher(&RoutingControlObserverStub::updateSource, "i"); +/** + * acknowledges a asyncSetSinkVolumes + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Volumes_L, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSetVolumesStubDispatcher(&RoutingControlObserverStub::ackSetVolumes, ""); +/** + * The acknowledge of the SinkNotificationConfiguration + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSinkNotificationConfigurationStubDispatcher(&RoutingControlObserverStub::ackSinkNotificationConfiguration, ""); +/** + * The acknowledge of the SourceNotificationConfiguration + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::ackSourceNotificationConfigurationStubDispatcher(&RoutingControlObserverStub::ackSourceNotificationConfiguration, ""); +/** + * is called whenever a notified value needs to be send + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sinkID_t, am_NotificationPayload_s>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::hookSinkNotificationDataChangeStubDispatcher(&RoutingControlObserverStub::hookSinkNotificationDataChange, ""); +/** + * is called whenever a notified value needs to be send + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t, am_NotificationPayload_s>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::hookSourceNotificationDataChangeStubDispatcher(&RoutingControlObserverStub::hookSourceNotificationDataChange, ""); +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<> + > RoutingControlObserverDBusStubAdapterInternal::confirmRoutingRundownStubDispatcher(&RoutingControlObserverStub::confirmRoutingRundown, ""); + + +/** + * This attribute signals to the clients the current routing state. +A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ +void RoutingControlObserverDBusStubAdapterInternal::fireRoutingReadyAttributeChanged(const am_RoutingReady_e& value) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_RoutingReady_e>> + ::sendSignal( + *this, + "onRoutingReadyAttributeChanged", + "i", + value + ); +} + + + +const RoutingControlObserverDBusStubAdapterHelper::StubDispatcherTable& RoutingControlObserverDBusStubAdapterInternal::getStubDispatcherTable() { + return stubDispatcherTable_; +} + +const CommonAPI::DBus::StubAttributeTable& RoutingControlObserverDBusStubAdapterInternal::getStubAttributeTable() { + return stubAttributeTable_; +} + +RoutingControlObserverDBusStubAdapterInternal::RoutingControlObserverDBusStubAdapterInternal( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& dbusInterfaceName, + const std::string& dbusBusName, + const std::string& dbusObjectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection, + const std::shared_ptr<CommonAPI::StubBase>& stub): + CommonAPI::DBus::DBusStubAdapter( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + false), + RoutingControlObserverDBusStubAdapterHelper( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + std::dynamic_pointer_cast<RoutingControlObserverStub>(stub), + false), + stubDispatcherTable_({ + /** + * This attribute signals to the clients the current routing state. + A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ + { { "getRoutingReadyAttribute", "" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::getRoutingReadyAttributeStubDispatcher } + , + /** + * acknowledges a asyncConnect + */ + { { "ackConnect", "(iq)qi" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackConnectStubDispatcher }, + /** + * acknowledges a asyncDisconnect + */ + { { "ackDisconnect", "(iq)qi" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackDisconnectStubDispatcher }, + /** + * acknowledges a asyncsetSinkVolume + */ + { { "ackSetSinkVolumeChange", "(iq)ni" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSetSinkVolumeChangeStubDispatcher }, + /** + * acknowledges a asyncsetSourceVolume + */ + { { "ackSetSourceVolumeChange", "(iq)ni" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSetSourceVolumeChangeStubDispatcher }, + /** + * acknowlegde for asyncSetSourceState + */ + { { "ackSetSourceState", "(iq)i" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSetSourceStateStubDispatcher }, + /** + * acknowledges asyncSetSinkSoundProperties + */ + { { "ackSetSinkSoundProperties", "(iq)i" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSetSinkSoundPropertiesStubDispatcher }, + /** + * acknowledges asyncSetSinkSoundProperty + */ + { { "ackSetSinkSoundProperty", "(iq)i" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSetSinkSoundPropertyStubDispatcher }, + /** + * acknowledges asyncSetSourceSoundProperties + */ + { { "ackSetSourceSoundProperties", "(iq)i" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSetSourceSoundPropertiesStubDispatcher }, + /** + * acknowledges asyncSetSourceSoundProperty + */ + { { "ackSetSourceSoundProperty", "(iq)i" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSetSourceSoundPropertyStubDispatcher }, + /** + * acknowledges asyncCrossFade + */ + { { "ackCrossFading", "(iq)ii" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackCrossFadingStubDispatcher }, + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ + { { "ackSourceVolumeTick", "(iq)qn" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSourceVolumeTickStubDispatcher }, + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ + { { "ackSinkVolumeTick", "(iq)qn" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSinkVolumeTickStubDispatcher }, + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + { { "peekDomain", "s" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::peekDomainStubDispatcher }, + /** + * registers a domain + (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + { { "registerDomain", "(qsssbbi)ss" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::registerDomainStubDispatcher }, + /** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. + (at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ + { { "deregisterDomain", "q" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::deregisterDomainStubDispatcher }, + /** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + { { "registerGateway", "(qsqqqqqaqaqab)" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::registerGatewayStubDispatcher }, + /** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + { { "registerConverter", "(qsqqqaqaqab)" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::registerConverterStubDispatcher }, + /** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + { { "deregisterGateway", "q" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::deregisterGatewayStubDispatcher }, + /** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ + { { "deregisterConverter", "q" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::deregisterConverterStubDispatcher }, + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + { { "peekSink", "s" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::peekSinkStubDispatcher }, + /** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + { { "registerSink", "(qsqqnb(iq)ina(qn)aqa(qn)a(qin)a(qin))" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::registerSinkStubDispatcher }, + /** + * deregisters a sink. + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + { { "deregisterSink", "q" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::deregisterSinkStubDispatcher }, + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + { { "peekSource", "s" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::peekSourceStubDispatcher }, + /** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation + (at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ + { { "registerSource", "(qqsqinb(iq)ia(qn)aqa(qn)a(qin)a(qin))" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::registerSourceStubDispatcher }, + /** + * deregisters a source + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + { { "deregisterSource", "q" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::deregisterSourceStubDispatcher }, + /** + * this function registers a crossfader. + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + { { "registerCrossfader", "(qsqqqi)" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::registerCrossfaderStubDispatcher }, + /** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + { { "deregisterCrossfader", "q" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::deregisterCrossfaderStubDispatcher }, + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + { { "peekSourceClassID", "s" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::peekSourceClassIDStubDispatcher }, + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + { { "peekSinkClassID", "s" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::peekSinkClassIDStubDispatcher }, + /** + * is called when a low level interrupt changes it status. + */ + { { "hookInterruptStatusChange", "qi" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::hookInterruptStatusChangeStubDispatcher }, + /** + * 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 + */ + { { "hookDomainRegistrationComplete", "q" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::hookDomainRegistrationCompleteStubDispatcher }, + /** + * is called when a sink changes its availability + */ + { { "hookSinkAvailablityStatusChange", "q(iq)" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::hookSinkAvailablityStatusChangeStubDispatcher }, + /** + * is called when a source changes its availability + */ + { { "hookSourceAvailablityStatusChange", "q(iq)" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::hookSourceAvailablityStatusChangeStubDispatcher }, + /** + * is called when a domain changes its status. This used for early domains only + */ + { { "hookDomainStateChange", "qi" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::hookDomainStateChangeStubDispatcher }, + /** + * is called when the timinginformation (delay) changed for a connection. + */ + { { "hookTimingInformationChanged", "qn" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::hookTimingInformationChangedStubDispatcher }, + /** + * this function is used to send out all data that has been changed in an early + * state. + (at)return E_OK on success, E_UNKNOWN on error + */ + { { "sendChangedData", "a(i(yv)(yv))" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::sendChangedDataStubDispatcher }, + /** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ + { { "updateGateway", "qaqaqab" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::updateGatewayStubDispatcher }, + /** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ + { { "updateConverter", "qaqaqab" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::updateConverterStubDispatcher }, + /** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ + { { "updateSink", "qqa(qn)aqa(qn)" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::updateSinkStubDispatcher }, + /** + * updates data of an source. (at)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 + */ + { { "updateSource", "qqa(qn)aqa(qn)" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::updateSourceStubDispatcher }, + /** + * acknowledges a asyncSetSinkVolumes + */ + { { "ackSetVolumes", "(iq)a(i(yv)nqn)i" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSetVolumesStubDispatcher }, + /** + * The acknowledge of the SinkNotificationConfiguration + */ + { { "ackSinkNotificationConfiguration", "(iq)i" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSinkNotificationConfigurationStubDispatcher }, + /** + * The acknowledge of the SourceNotificationConfiguration + */ + { { "ackSourceNotificationConfiguration", "(iq)i" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::ackSourceNotificationConfigurationStubDispatcher }, + /** + * is called whenever a notified value needs to be send + */ + { { "hookSinkNotificationDataChange", "q(qn)" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::hookSinkNotificationDataChangeStubDispatcher }, + /** + * is called whenever a notified value needs to be send + */ + { { "hookSourceNotificationDataChange", "q(qn)" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::hookSourceNotificationDataChangeStubDispatcher }, + { { "confirmRoutingRundown", "s" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::confirmRoutingRundownStubDispatcher } + }), + stubAttributeTable_() { + + stubDispatcherTable_.insert({ { "getInterfaceVersion", "" }, &org::genivi::am::RoutingControlObserverDBusStubAdapterInternal::getRoutingControlObserverInterfaceVersionStubDispatcher }); +} + +const bool RoutingControlObserverDBusStubAdapterInternal::hasFreedesktopProperties() { + return false; +} + +} // namespace am +} // namespace genivi +} // namespace org diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.h new file mode 100644 index 0000000..874ee6c --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.h @@ -0,0 +1,557 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * Routing Receive sendInterface description. + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_Observer_DBUS_STUB_ADAPTER_H_ +#define ORG_GENIVI_AM_Routing_Control_Observer_DBUS_STUB_ADAPTER_H_ + +#include <org/genivi/am/RoutingControlObserverStub.h> + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/DBus/DBusStubAdapterHelper.h> +#include <CommonAPI/DBus/DBusStubAdapter.h> +#include <CommonAPI/DBus/DBusFactory.h> +#include <CommonAPI/DBus/DBusServicePublisher.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +typedef CommonAPI::DBus::DBusStubAdapterHelper<RoutingControlObserverStub> RoutingControlObserverDBusStubAdapterHelper; + +class RoutingControlObserverDBusStubAdapterInternal: public virtual RoutingControlObserverStubAdapter, public RoutingControlObserverDBusStubAdapterHelper { + public: + RoutingControlObserverDBusStubAdapterInternal( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& dbusInterfaceName, + const std::string& dbusBusName, + const std::string& dbusObjectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection, + const std::shared_ptr<CommonAPI::StubBase>& stub); + + ~RoutingControlObserverDBusStubAdapterInternal(); + + virtual const bool hasFreedesktopProperties(); + + /** + * This attribute signals to the clients the current routing state. + A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ + void fireRoutingReadyAttributeChanged(const am_RoutingReady_e& value); + + + + const RoutingControlObserverDBusStubAdapterHelper::StubDispatcherTable& getStubDispatcherTable(); + const CommonAPI::DBus::StubAttributeTable& getStubAttributeTable(); + + void deactivateManagedInstances(); + + +static CommonAPI::DBus::DBusGetAttributeStubDispatcher< + RoutingControlObserverStub, + CommonAPI::Version + > getRoutingControlObserverInterfaceVersionStubDispatcher; + +/** + * This attribute signals to the clients the current routing state. +A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ +static CommonAPI::DBus::DBusGetAttributeStubDispatcher< + RoutingControlObserverStub, + am_RoutingReady_e + > getRoutingReadyAttributeStubDispatcher; + + +/** + * acknowledges a asyncConnect + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_connectionID_t, am_Error_e>, + std::tuple<> + > ackConnectStubDispatcher; +/** + * acknowledges a asyncDisconnect + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_connectionID_t, am_Error_e>, + std::tuple<> + > ackDisconnectStubDispatcher; +/** + * acknowledges a asyncsetSinkVolume + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_volume_t, am_Error_e>, + std::tuple<> + > ackSetSinkVolumeChangeStubDispatcher; +/** + * acknowledges a asyncsetSourceVolume + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_volume_t, am_Error_e>, + std::tuple<> + > ackSetSourceVolumeChangeStubDispatcher; +/** + * acknowlegde for asyncSetSourceState + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > ackSetSourceStateStubDispatcher; +/** + * acknowledges asyncSetSinkSoundProperties + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > ackSetSinkSoundPropertiesStubDispatcher; +/** + * acknowledges asyncSetSinkSoundProperty + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > ackSetSinkSoundPropertyStubDispatcher; +/** + * acknowledges asyncSetSourceSoundProperties + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > ackSetSourceSoundPropertiesStubDispatcher; +/** + * acknowledges asyncSetSourceSoundProperty + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > ackSetSourceSoundPropertyStubDispatcher; +/** + * acknowledges asyncCrossFade + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_HotSink_e, am_Error_e>, + std::tuple<> + > ackCrossFadingStubDispatcher; +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_sourceID_t, am_volume_t>, + std::tuple<> + > ackSourceVolumeTickStubDispatcher; +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_sinkID_t, am_volume_t>, + std::tuple<> + > ackSinkVolumeTickStubDispatcher; +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_domainID_t, am_Error_e> + > peekDomainStubDispatcher; +/** + * registers a domain +(at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Domain_s, std::string, std::string>, + std::tuple<am_domainID_t, am_Error_e> + > registerDomainStubDispatcher; +/** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. +(at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_domainID_t>, + std::tuple<am_Error_e> + > deregisterDomainStubDispatcher; +/** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Gateway_s>, + std::tuple<am_gatewayID_t, am_Error_e> + > registerGatewayStubDispatcher; +/** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Converter_s>, + std::tuple<am_converterID_t, am_Error_e> + > registerConverterStubDispatcher; +/** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_gatewayID_t>, + std::tuple<am_Error_e> + > deregisterGatewayStubDispatcher; +/** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_converterID_t>, + std::tuple<am_Error_e> + > deregisterConverterStubDispatcher; +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_sinkID_t, am_Error_e> + > peekSinkStubDispatcher; +/** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Sink_s>, + std::tuple<am_sinkID_t, am_Error_e> + > registerSinkStubDispatcher; +/** + * deregisters a sink. +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sinkID_t>, + std::tuple<am_Error_e> + > deregisterSinkStubDispatcher; +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_sourceID_t, am_Error_e> + > peekSourceStubDispatcher; +/** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation +(at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Source_s>, + std::tuple<am_sourceID_t, am_Error_e> + > registerSourceStubDispatcher; +/** + * deregisters a source +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t>, + std::tuple<am_Error_e> + > deregisterSourceStubDispatcher; +/** + * this function registers a crossfader. +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Crossfader_s>, + std::tuple<am_crossfaderID_t, am_Error_e> + > registerCrossfaderStubDispatcher; +/** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_crossfaderID_t>, + std::tuple<am_Error_e> + > deregisterCrossfaderStubDispatcher; +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_sourceClass_t, am_Error_e> + > peekSourceClassIDStubDispatcher; +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<am_sinkClass_t, am_Error_e> + > peekSinkClassIDStubDispatcher; +/** + * is called when a low level interrupt changes it status. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t, am_InterruptState_e>, + std::tuple<> + > hookInterruptStatusChangeStubDispatcher; +/** + * 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 + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_domainID_t>, + std::tuple<> + > hookDomainRegistrationCompleteStubDispatcher; +/** + * is called when a sink changes its availability + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sinkID_t, am_Availability_s>, + std::tuple<> + > hookSinkAvailablityStatusChangeStubDispatcher; +/** + * is called when a source changes its availability + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t, am_Availability_s>, + std::tuple<> + > hookSourceAvailablityStatusChangeStubDispatcher; +/** + * is called when a domain changes its status. This used for early domains only + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_domainID_t, am_DomainState_e>, + std::tuple<> + > hookDomainStateChangeStubDispatcher; +/** + * is called when the timinginformation (delay) changed for a connection. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_connectionID_t, am_timeSync_t>, + std::tuple<> + > hookTimingInformationChangedStubDispatcher; +/** + * this function is used to send out all data that has been changed in an early + * state. +(at)return E_OK on success, E_UNKNOWN on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_EarlyData_L>, + std::tuple<> + > sendChangedDataStubDispatcher; +/** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_gatewayID_t, am_ConnectionFormat_L, am_ConnectionFormat_L, am_Convertion_L>, + std::tuple<am_Error_e> + > updateGatewayStubDispatcher; +/** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_converterID_t, am_ConnectionFormat_L, am_ConnectionFormat_L, am_Convertion_L>, + std::tuple<am_Error_e> + > updateConverterStubDispatcher; +/** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sinkID_t, am_sinkClass_t, am_SoundProperty_L, am_ConnectionFormat_L, am_MainSoundProperty_L>, + std::tuple<am_Error_e> + > updateSinkStubDispatcher; +/** + * updates data of an source. (at)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 + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t, am_sourceClass_t, am_SoundProperty_L, am_ConnectionFormat_L, am_MainSoundProperty_L>, + std::tuple<am_Error_e> + > updateSourceStubDispatcher; +/** + * acknowledges a asyncSetSinkVolumes + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Volumes_L, am_Error_e>, + std::tuple<> + > ackSetVolumesStubDispatcher; +/** + * The acknowledge of the SinkNotificationConfiguration + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > ackSinkNotificationConfigurationStubDispatcher; +/** + * The acknowledge of the SourceNotificationConfiguration + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_Handle_s, am_Error_e>, + std::tuple<> + > ackSourceNotificationConfigurationStubDispatcher; +/** + * is called whenever a notified value needs to be send + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sinkID_t, am_NotificationPayload_s>, + std::tuple<> + > hookSinkNotificationDataChangeStubDispatcher; +/** + * is called whenever a notified value needs to be send + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<am_sourceID_t, am_NotificationPayload_s>, + std::tuple<> + > hookSourceNotificationDataChangeStubDispatcher; +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + RoutingControlObserverStub, + std::tuple<std::string>, + std::tuple<> + > confirmRoutingRundownStubDispatcher; + + + + + protected: + virtual const char* getMethodsDBusIntrospectionXmlData() const; + + private: + RoutingControlObserverDBusStubAdapterHelper::StubDispatcherTable stubDispatcherTable_; + CommonAPI::DBus::StubAttributeTable stubAttributeTable_; +}; + +class RoutingControlObserverDBusStubAdapter: public RoutingControlObserverDBusStubAdapterInternal, public std::enable_shared_from_this<RoutingControlObserverDBusStubAdapter> { +public: + RoutingControlObserverDBusStubAdapter( + const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory, + const std::string& commonApiAddress, + const std::string& dbusInterfaceName, + const std::string& dbusBusName, + const std::string& dbusObjectPath, + const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection, + const std::shared_ptr<CommonAPI::StubBase>& stub) : + CommonAPI::DBus::DBusStubAdapter( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + false), + RoutingControlObserverDBusStubAdapterInternal( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + stub) { } +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Routing_Control_Observer_DBUS_STUB_ADAPTER_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxy.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxy.h new file mode 100644 index 0000000..813c9cc --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxy.h @@ -0,0 +1,1921 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * Routing Receive sendInterface description. + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_Observer_PROXY_H_ +#define ORG_GENIVI_AM_Routing_Control_Observer_PROXY_H_ + +#include "RoutingControlObserverProxyBase.h" + + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/AttributeExtension.h> +#include <CommonAPI/Factory.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +template <typename ... _AttributeExtensions> +class RoutingControlObserverProxy: virtual public RoutingControlObserver, virtual public RoutingControlObserverProxyBase +, public _AttributeExtensions... { +public: + RoutingControlObserverProxy(std::shared_ptr<CommonAPI::Proxy> delegate); + ~RoutingControlObserverProxy(); + + typedef RoutingControlObserver InterfaceType; + + + /** + * This attribute signals to the clients the current routing state. + A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ + /** + * Returns the wrapper class that provides access to the attribute RoutingReady. + */ + virtual RoutingReadyAttribute& getRoutingReadyAttribute() { + return delegate_->getRoutingReadyAttribute(); + } + + + /** + * acknowledges a asyncConnect + * + * Calls ackConnect with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackConnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackConnect with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackConnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckConnectAsyncCallback callback); + /** + * acknowledges a asyncDisconnect + * + * Calls ackDisconnect with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackDisconnect with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckDisconnectAsyncCallback callback); + /** + * acknowledges a asyncsetSinkVolume + * + * Calls ackSetSinkVolumeChange with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSetSinkVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSetSinkVolumeChange with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSetSinkVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSinkVolumeChangeAsyncCallback callback); + /** + * acknowledges a asyncsetSourceVolume + * + * Calls ackSetSourceVolumeChange with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSetSourceVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSetSourceVolumeChange with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSetSourceVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSourceVolumeChangeAsyncCallback callback); + /** + * acknowlegde for asyncSetSourceState + * + * Calls ackSetSourceState with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSetSourceState(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSetSourceState with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSetSourceStateAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceStateAsyncCallback callback); + /** + * acknowledges asyncSetSinkSoundProperties + * + * Calls ackSetSinkSoundProperties with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSetSinkSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSetSinkSoundProperties with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertiesAsyncCallback callback); + /** + * acknowledges asyncSetSinkSoundProperty + * + * Calls ackSetSinkSoundProperty with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSetSinkSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSetSinkSoundProperty with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertyAsyncCallback callback); + /** + * acknowledges asyncSetSourceSoundProperties + * + * Calls ackSetSourceSoundProperties with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSetSourceSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSetSourceSoundProperties with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertiesAsyncCallback callback); + /** + * acknowledges asyncSetSourceSoundProperty + * + * Calls ackSetSourceSoundProperty with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSetSourceSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSetSourceSoundProperty with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertyAsyncCallback callback); + /** + * acknowledges asyncCrossFade + * + * Calls ackCrossFading with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackCrossFading(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackCrossFading with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackCrossFadingAsync(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, AckCrossFadingAsyncCallback callback); + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + * + * Calls ackSourceVolumeTick with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSourceVolumeTick(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSourceVolumeTick with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSourceVolumeTickAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, AckSourceVolumeTickAsyncCallback callback); + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + * + * Calls ackSinkVolumeTick with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSinkVolumeTick(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSinkVolumeTick with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSinkVolumeTickAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, AckSinkVolumeTickAsyncCallback callback); + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + * + * Calls peekDomain with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void peekDomain(const std::string& name, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error); + /** + * Calls peekDomain with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> peekDomainAsync(const std::string& name, PeekDomainAsyncCallback callback); + /** + * registers a domain + (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + * + * Calls registerDomain with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void registerDomain(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error); + /** + * Calls registerDomain with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> registerDomainAsync(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, RegisterDomainAsyncCallback callback); + /** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. + (at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + * + * Calls deregisterDomain with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void deregisterDomain(const am_domainID_t& domainID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls deregisterDomain with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> deregisterDomainAsync(const am_domainID_t& domainID, DeregisterDomainAsyncCallback callback); + /** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + * + * Calls registerGateway with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void registerGateway(const am_Gateway_s& gatewayData, CommonAPI::CallStatus& callStatus, am_gatewayID_t& gatewayID, am_Error_e& error); + /** + * Calls registerGateway with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> registerGatewayAsync(const am_Gateway_s& gatewayData, RegisterGatewayAsyncCallback callback); + /** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + * + * Calls registerConverter with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void registerConverter(const am_Converter_s& converterData, CommonAPI::CallStatus& callStatus, am_converterID_t& converterID, am_Error_e& error); + /** + * Calls registerConverter with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> registerConverterAsync(const am_Converter_s& converterData, RegisterConverterAsyncCallback callback); + /** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + * + * Calls deregisterGateway with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void deregisterGateway(const am_gatewayID_t& gatewayID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls deregisterGateway with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> deregisterGatewayAsync(const am_gatewayID_t& gatewayID, DeregisterGatewayAsyncCallback callback); + /** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + * + * Calls deregisterConverter with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void deregisterConverter(const am_converterID_t& converterID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls deregisterConverter with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> deregisterConverterAsync(const am_converterID_t& converterID, DeregisterConverterAsyncCallback callback); + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + * + * Calls peekSink with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void peekSink(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error); + /** + * Calls peekSink with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> peekSinkAsync(const std::string& name, PeekSinkAsyncCallback callback); + /** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + * + * Calls registerSink with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void registerSink(const am_Sink_s& sinkData, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error); + /** + * Calls registerSink with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> registerSinkAsync(const am_Sink_s& sinkData, RegisterSinkAsyncCallback callback); + /** + * deregisters a sink. + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + * + * Calls deregisterSink with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void deregisterSink(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls deregisterSink with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> deregisterSinkAsync(const am_sinkID_t& sinkID, DeregisterSinkAsyncCallback callback); + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + * + * Calls peekSource with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void peekSource(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error); + /** + * Calls peekSource with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> peekSourceAsync(const std::string& name, PeekSourceAsyncCallback callback); + /** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation + (at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + * + * Calls registerSource with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void registerSource(const am_Source_s& sourceData, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error); + /** + * Calls registerSource with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> registerSourceAsync(const am_Source_s& sourceData, RegisterSourceAsyncCallback callback); + /** + * deregisters a source + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + * + * Calls deregisterSource with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void deregisterSource(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls deregisterSource with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> deregisterSourceAsync(const am_sourceID_t& sourceID, DeregisterSourceAsyncCallback callback); + /** + * this function registers a crossfader. + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + * + * Calls registerCrossfader with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void registerCrossfader(const am_Crossfader_s& crossfaderData, CommonAPI::CallStatus& callStatus, am_crossfaderID_t& crossfaderID, am_Error_e& error); + /** + * Calls registerCrossfader with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> registerCrossfaderAsync(const am_Crossfader_s& crossfaderData, RegisterCrossfaderAsyncCallback callback); + /** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + * + * Calls deregisterCrossfader with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void deregisterCrossfader(const am_crossfaderID_t& crossfaderID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls deregisterCrossfader with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> deregisterCrossfaderAsync(const am_crossfaderID_t& crossfaderID, DeregisterCrossfaderAsyncCallback callback); + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + * + * Calls peekSourceClassID with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void peekSourceClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceClass_t& sourceClassID, am_Error_e& error); + /** + * Calls peekSourceClassID with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> peekSourceClassIDAsync(const std::string& name, PeekSourceClassIDAsyncCallback callback); + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + * + * Calls peekSinkClassID with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void peekSinkClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkClass_t& sinkClassID, am_Error_e& error); + /** + * Calls peekSinkClassID with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> peekSinkClassIDAsync(const std::string& name, PeekSinkClassIDAsyncCallback callback); + /** + * is called when a low level interrupt changes it status. + * + * Calls hookInterruptStatusChange with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void hookInterruptStatusChange(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, CommonAPI::CallStatus& callStatus); + /** + * Calls hookInterruptStatusChange with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> hookInterruptStatusChangeAsync(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, HookInterruptStatusChangeAsyncCallback callback); + /** + * 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 + * + * Calls hookDomainRegistrationComplete with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void hookDomainRegistrationComplete(const am_domainID_t& domainID, CommonAPI::CallStatus& callStatus); + /** + * Calls hookDomainRegistrationComplete with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> hookDomainRegistrationCompleteAsync(const am_domainID_t& domainID, HookDomainRegistrationCompleteAsyncCallback callback); + /** + * is called when a sink changes its availability + * + * Calls hookSinkAvailablityStatusChange with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void hookSinkAvailablityStatusChange(const am_sinkID_t& sinkID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus); + /** + * Calls hookSinkAvailablityStatusChange with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> hookSinkAvailablityStatusChangeAsync(const am_sinkID_t& sinkID, const am_Availability_s& availability, HookSinkAvailablityStatusChangeAsyncCallback callback); + /** + * is called when a source changes its availability + * + * Calls hookSourceAvailablityStatusChange with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void hookSourceAvailablityStatusChange(const am_sourceID_t& sourceID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus); + /** + * Calls hookSourceAvailablityStatusChange with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> hookSourceAvailablityStatusChangeAsync(const am_sourceID_t& sourceID, const am_Availability_s& availability, HookSourceAvailablityStatusChangeAsyncCallback callback); + /** + * is called when a domain changes its status. This used for early domains only + * + * Calls hookDomainStateChange with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void hookDomainStateChange(const am_domainID_t& domainID, const am_DomainState_e& domainState, CommonAPI::CallStatus& callStatus); + /** + * Calls hookDomainStateChange with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> hookDomainStateChangeAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, HookDomainStateChangeAsyncCallback callback); + /** + * is called when the timinginformation (delay) changed for a connection. + * + * Calls hookTimingInformationChanged with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void hookTimingInformationChanged(const am_connectionID_t& connectionID, const am_timeSync_t& delay, CommonAPI::CallStatus& callStatus); + /** + * Calls hookTimingInformationChanged with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> hookTimingInformationChangedAsync(const am_connectionID_t& connectionID, const am_timeSync_t& delay, HookTimingInformationChangedAsyncCallback callback); + /** + * this function is used to send out all data that has been changed in an early + * state. + (at)return E_OK on success, E_UNKNOWN on error + * + * Calls sendChangedData with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void sendChangedData(const am_EarlyData_L& earlyData, CommonAPI::CallStatus& callStatus); + /** + * Calls sendChangedData with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> sendChangedDataAsync(const am_EarlyData_L& earlyData, SendChangedDataAsyncCallback callback); + /** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + * + * Calls updateGateway with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void updateGateway(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls updateGateway with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> updateGatewayAsync(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateGatewayAsyncCallback callback); + /** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + * + * Calls updateConverter with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void updateConverter(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls updateConverter with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> updateConverterAsync(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateConverterAsyncCallback callback); + /** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + * + * Calls updateSink with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void updateSink(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls updateSink with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> updateSinkAsync(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSinkAsyncCallback callback); + /** + * updates data of an source. (at)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 + * + * Calls updateSource with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void updateSource(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls updateSource with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> updateSourceAsync(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSourceAsyncCallback callback); + /** + * acknowledges a asyncSetSinkVolumes + * + * Calls ackSetVolumes with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSetVolumes(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSetVolumes with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, AckSetVolumesAsyncCallback callback); + /** + * The acknowledge of the SinkNotificationConfiguration + * + * Calls ackSinkNotificationConfiguration with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSinkNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSinkNotificationConfiguration with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSinkNotificationConfigurationAsyncCallback callback); + /** + * The acknowledge of the SourceNotificationConfiguration + * + * Calls ackSourceNotificationConfiguration with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void ackSourceNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus); + /** + * Calls ackSourceNotificationConfiguration with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> ackSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSourceNotificationConfigurationAsyncCallback callback); + /** + * is called whenever a notified value needs to be send + * + * Calls hookSinkNotificationDataChange with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void hookSinkNotificationDataChange(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus); + /** + * Calls hookSinkNotificationDataChange with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> hookSinkNotificationDataChangeAsync(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, HookSinkNotificationDataChangeAsyncCallback callback); + /** + * is called whenever a notified value needs to be send + * + * Calls hookSourceNotificationDataChange with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void hookSourceNotificationDataChange(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus); + /** + * Calls hookSourceNotificationDataChange with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> hookSourceNotificationDataChangeAsync(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, HookSourceNotificationDataChangeAsyncCallback callback); + /** + * Calls confirmRoutingRundown with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void confirmRoutingRundown(const std::string& domainName, CommonAPI::CallStatus& callStatus); + /** + * Calls confirmRoutingRundown with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> confirmRoutingRundownAsync(const std::string& domainName, ConfirmRoutingRundownAsyncCallback callback); + + + /** + * Returns the CommonAPI address of the remote partner this proxy communicates with. + */ + virtual std::string getAddress() const; + + /** + * Returns the domain of the remote partner this proxy communicates with. + */ + virtual const std::string& getDomain() const; + + /** + * Returns the service ID of the remote partner this proxy communicates with. + */ + virtual const std::string& getServiceId() const; + + /** + * Returns the instance ID of the remote partner this proxy communicates with. + */ + virtual const std::string& getInstanceId() const; + + /** + * Returns true if the remote partner for this proxy is currently known to be available. + */ + virtual bool isAvailable() const; + + /** + * Returns true if the remote partner for this proxy is available. + */ + virtual bool isAvailableBlocking() const; + + /** + * Returns the wrapper class that is used to (de-)register for notifications about + * the availability of the remote partner of this proxy. + */ + virtual CommonAPI::ProxyStatusEvent& getProxyStatusEvent(); + + /** + * Returns the wrapper class that is used to access version information of the remote + * partner of this proxy. + */ + virtual CommonAPI::InterfaceVersionAttribute& getInterfaceVersionAttribute(); + + private: + std::shared_ptr<RoutingControlObserverProxyBase> delegate_; +}; + +#ifdef WIN32 + typedef RoutingControlObserverProxy<CommonAPI::WINDummyAttributeExtension<CommonAPI::WINDummyAttribute>> RoutingControlObserverProxyDefault; +#else + typedef RoutingControlObserverProxy<> RoutingControlObserverProxyDefault; +#endif + +namespace RoutingControlObserverExtensions { + /** + * This attribute signals to the clients the current routing state. + A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ + template <template <typename > class _ExtensionType> + class RoutingReadyAttributeExtension { + public: + typedef _ExtensionType<RoutingControlObserverProxyBase::RoutingReadyAttribute> extension_type; + + static_assert(std::is_base_of<typename CommonAPI::AttributeExtension<RoutingControlObserverProxyBase::RoutingReadyAttribute>, extension_type>::value, + "Not CommonAPI Attribute Extension!"); + #ifdef WIN32 + RoutingReadyAttributeExtension() {} + #endif + + RoutingReadyAttributeExtension(RoutingControlObserverProxyBase& proxy): attributeExtension_(proxy.getRoutingReadyAttribute()) { + } + + inline extension_type& getRoutingReadyAttributeExtension() { + return attributeExtension_; + } + + private: + extension_type attributeExtension_; + }; + +} // namespace RoutingControlObserverExtensions + +// +// RoutingControlObserverProxy Implementation +// +template <typename ... _AttributeExtensions> +RoutingControlObserverProxy<_AttributeExtensions...>::RoutingControlObserverProxy(std::shared_ptr<CommonAPI::Proxy> delegate): + _AttributeExtensions(*(std::dynamic_pointer_cast<RoutingControlObserverProxyBase>(delegate)))..., + delegate_(std::dynamic_pointer_cast<RoutingControlObserverProxyBase>(delegate)) { +} + +template <typename ... _AttributeExtensions> +RoutingControlObserverProxy<_AttributeExtensions...>::~RoutingControlObserverProxy() { +} + +/** + * acknowledges a asyncConnect + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackConnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackConnect(handle, connectionID, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackConnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckConnectAsyncCallback callback) { + return delegate_->ackConnectAsync(handle, connectionID, error, callback); +} +/** + * acknowledges a asyncDisconnect + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackDisconnect(handle, connectionID, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckDisconnectAsyncCallback callback) { + return delegate_->ackDisconnectAsync(handle, connectionID, error, callback); +} +/** + * acknowledges a asyncsetSinkVolume + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSinkVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSetSinkVolumeChange(handle, volume, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSinkVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSinkVolumeChangeAsyncCallback callback) { + return delegate_->ackSetSinkVolumeChangeAsync(handle, volume, error, callback); +} +/** + * acknowledges a asyncsetSourceVolume + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSourceVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSetSourceVolumeChange(handle, volume, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSourceVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSourceVolumeChangeAsyncCallback callback) { + return delegate_->ackSetSourceVolumeChangeAsync(handle, volume, error, callback); +} +/** + * acknowlegde for asyncSetSourceState + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSourceState(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSetSourceState(handle, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSourceStateAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceStateAsyncCallback callback) { + return delegate_->ackSetSourceStateAsync(handle, error, callback); +} +/** + * acknowledges asyncSetSinkSoundProperties + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSinkSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSetSinkSoundProperties(handle, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertiesAsyncCallback callback) { + return delegate_->ackSetSinkSoundPropertiesAsync(handle, error, callback); +} +/** + * acknowledges asyncSetSinkSoundProperty + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSinkSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSetSinkSoundProperty(handle, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertyAsyncCallback callback) { + return delegate_->ackSetSinkSoundPropertyAsync(handle, error, callback); +} +/** + * acknowledges asyncSetSourceSoundProperties + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSourceSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSetSourceSoundProperties(handle, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertiesAsyncCallback callback) { + return delegate_->ackSetSourceSoundPropertiesAsync(handle, error, callback); +} +/** + * acknowledges asyncSetSourceSoundProperty + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSourceSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSetSourceSoundProperty(handle, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertyAsyncCallback callback) { + return delegate_->ackSetSourceSoundPropertyAsync(handle, error, callback); +} +/** + * acknowledges asyncCrossFade + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackCrossFading(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackCrossFading(handle, hotSink, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackCrossFadingAsync(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, AckCrossFadingAsyncCallback callback) { + return delegate_->ackCrossFadingAsync(handle, hotSink, error, callback); +} +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSourceVolumeTick(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, CommonAPI::CallStatus& callStatus) { + delegate_->ackSourceVolumeTick(handle, sourceID, volume, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSourceVolumeTickAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, AckSourceVolumeTickAsyncCallback callback) { + return delegate_->ackSourceVolumeTickAsync(handle, sourceID, volume, callback); +} +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSinkVolumeTick(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, CommonAPI::CallStatus& callStatus) { + delegate_->ackSinkVolumeTick(handle, sinkID, volume, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSinkVolumeTickAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, AckSinkVolumeTickAsyncCallback callback) { + return delegate_->ackSinkVolumeTickAsync(handle, sinkID, volume, callback); +} +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::peekDomain(const std::string& name, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error) { + delegate_->peekDomain(name, callStatus, domainID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::peekDomainAsync(const std::string& name, PeekDomainAsyncCallback callback) { + return delegate_->peekDomainAsync(name, callback); +} +/** + * registers a domain +(at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::registerDomain(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error) { + delegate_->registerDomain(domainData, returnBusname, returnInterface, callStatus, domainID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::registerDomainAsync(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, RegisterDomainAsyncCallback callback) { + return delegate_->registerDomainAsync(domainData, returnBusname, returnInterface, callback); +} +/** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. +(at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::deregisterDomain(const am_domainID_t& domainID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->deregisterDomain(domainID, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::deregisterDomainAsync(const am_domainID_t& domainID, DeregisterDomainAsyncCallback callback) { + return delegate_->deregisterDomainAsync(domainID, callback); +} +/** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::registerGateway(const am_Gateway_s& gatewayData, CommonAPI::CallStatus& callStatus, am_gatewayID_t& gatewayID, am_Error_e& error) { + delegate_->registerGateway(gatewayData, callStatus, gatewayID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::registerGatewayAsync(const am_Gateway_s& gatewayData, RegisterGatewayAsyncCallback callback) { + return delegate_->registerGatewayAsync(gatewayData, callback); +} +/** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::registerConverter(const am_Converter_s& converterData, CommonAPI::CallStatus& callStatus, am_converterID_t& converterID, am_Error_e& error) { + delegate_->registerConverter(converterData, callStatus, converterID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::registerConverterAsync(const am_Converter_s& converterData, RegisterConverterAsyncCallback callback) { + return delegate_->registerConverterAsync(converterData, callback); +} +/** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::deregisterGateway(const am_gatewayID_t& gatewayID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->deregisterGateway(gatewayID, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::deregisterGatewayAsync(const am_gatewayID_t& gatewayID, DeregisterGatewayAsyncCallback callback) { + return delegate_->deregisterGatewayAsync(gatewayID, callback); +} +/** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::deregisterConverter(const am_converterID_t& converterID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->deregisterConverter(converterID, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::deregisterConverterAsync(const am_converterID_t& converterID, DeregisterConverterAsyncCallback callback) { + return delegate_->deregisterConverterAsync(converterID, callback); +} +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::peekSink(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error) { + delegate_->peekSink(name, callStatus, sinkID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::peekSinkAsync(const std::string& name, PeekSinkAsyncCallback callback) { + return delegate_->peekSinkAsync(name, callback); +} +/** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::registerSink(const am_Sink_s& sinkData, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error) { + delegate_->registerSink(sinkData, callStatus, sinkID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::registerSinkAsync(const am_Sink_s& sinkData, RegisterSinkAsyncCallback callback) { + return delegate_->registerSinkAsync(sinkData, callback); +} +/** + * deregisters a sink. +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::deregisterSink(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->deregisterSink(sinkID, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::deregisterSinkAsync(const am_sinkID_t& sinkID, DeregisterSinkAsyncCallback callback) { + return delegate_->deregisterSinkAsync(sinkID, callback); +} +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::peekSource(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error) { + delegate_->peekSource(name, callStatus, sourceID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::peekSourceAsync(const std::string& name, PeekSourceAsyncCallback callback) { + return delegate_->peekSourceAsync(name, callback); +} +/** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation +(at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::registerSource(const am_Source_s& sourceData, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error) { + delegate_->registerSource(sourceData, callStatus, sourceID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::registerSourceAsync(const am_Source_s& sourceData, RegisterSourceAsyncCallback callback) { + return delegate_->registerSourceAsync(sourceData, callback); +} +/** + * deregisters a source +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::deregisterSource(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->deregisterSource(sourceID, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::deregisterSourceAsync(const am_sourceID_t& sourceID, DeregisterSourceAsyncCallback callback) { + return delegate_->deregisterSourceAsync(sourceID, callback); +} +/** + * this function registers a crossfader. +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::registerCrossfader(const am_Crossfader_s& crossfaderData, CommonAPI::CallStatus& callStatus, am_crossfaderID_t& crossfaderID, am_Error_e& error) { + delegate_->registerCrossfader(crossfaderData, callStatus, crossfaderID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::registerCrossfaderAsync(const am_Crossfader_s& crossfaderData, RegisterCrossfaderAsyncCallback callback) { + return delegate_->registerCrossfaderAsync(crossfaderData, callback); +} +/** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::deregisterCrossfader(const am_crossfaderID_t& crossfaderID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->deregisterCrossfader(crossfaderID, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::deregisterCrossfaderAsync(const am_crossfaderID_t& crossfaderID, DeregisterCrossfaderAsyncCallback callback) { + return delegate_->deregisterCrossfaderAsync(crossfaderID, callback); +} +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::peekSourceClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceClass_t& sourceClassID, am_Error_e& error) { + delegate_->peekSourceClassID(name, callStatus, sourceClassID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::peekSourceClassIDAsync(const std::string& name, PeekSourceClassIDAsyncCallback callback) { + return delegate_->peekSourceClassIDAsync(name, callback); +} +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::peekSinkClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkClass_t& sinkClassID, am_Error_e& error) { + delegate_->peekSinkClassID(name, callStatus, sinkClassID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::peekSinkClassIDAsync(const std::string& name, PeekSinkClassIDAsyncCallback callback) { + return delegate_->peekSinkClassIDAsync(name, callback); +} +/** + * is called when a low level interrupt changes it status. + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::hookInterruptStatusChange(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, CommonAPI::CallStatus& callStatus) { + delegate_->hookInterruptStatusChange(sourceID, interruptState, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::hookInterruptStatusChangeAsync(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, HookInterruptStatusChangeAsyncCallback callback) { + return delegate_->hookInterruptStatusChangeAsync(sourceID, interruptState, callback); +} +/** + * 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 + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::hookDomainRegistrationComplete(const am_domainID_t& domainID, CommonAPI::CallStatus& callStatus) { + delegate_->hookDomainRegistrationComplete(domainID, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::hookDomainRegistrationCompleteAsync(const am_domainID_t& domainID, HookDomainRegistrationCompleteAsyncCallback callback) { + return delegate_->hookDomainRegistrationCompleteAsync(domainID, callback); +} +/** + * is called when a sink changes its availability + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::hookSinkAvailablityStatusChange(const am_sinkID_t& sinkID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus) { + delegate_->hookSinkAvailablityStatusChange(sinkID, availability, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::hookSinkAvailablityStatusChangeAsync(const am_sinkID_t& sinkID, const am_Availability_s& availability, HookSinkAvailablityStatusChangeAsyncCallback callback) { + return delegate_->hookSinkAvailablityStatusChangeAsync(sinkID, availability, callback); +} +/** + * is called when a source changes its availability + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::hookSourceAvailablityStatusChange(const am_sourceID_t& sourceID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus) { + delegate_->hookSourceAvailablityStatusChange(sourceID, availability, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::hookSourceAvailablityStatusChangeAsync(const am_sourceID_t& sourceID, const am_Availability_s& availability, HookSourceAvailablityStatusChangeAsyncCallback callback) { + return delegate_->hookSourceAvailablityStatusChangeAsync(sourceID, availability, callback); +} +/** + * is called when a domain changes its status. This used for early domains only + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::hookDomainStateChange(const am_domainID_t& domainID, const am_DomainState_e& domainState, CommonAPI::CallStatus& callStatus) { + delegate_->hookDomainStateChange(domainID, domainState, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::hookDomainStateChangeAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, HookDomainStateChangeAsyncCallback callback) { + return delegate_->hookDomainStateChangeAsync(domainID, domainState, callback); +} +/** + * is called when the timinginformation (delay) changed for a connection. + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::hookTimingInformationChanged(const am_connectionID_t& connectionID, const am_timeSync_t& delay, CommonAPI::CallStatus& callStatus) { + delegate_->hookTimingInformationChanged(connectionID, delay, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::hookTimingInformationChangedAsync(const am_connectionID_t& connectionID, const am_timeSync_t& delay, HookTimingInformationChangedAsyncCallback callback) { + return delegate_->hookTimingInformationChangedAsync(connectionID, delay, callback); +} +/** + * this function is used to send out all data that has been changed in an early + * state. +(at)return E_OK on success, E_UNKNOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::sendChangedData(const am_EarlyData_L& earlyData, CommonAPI::CallStatus& callStatus) { + delegate_->sendChangedData(earlyData, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::sendChangedDataAsync(const am_EarlyData_L& earlyData, SendChangedDataAsyncCallback callback) { + return delegate_->sendChangedDataAsync(earlyData, callback); +} +/** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::updateGateway(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->updateGateway(gatewayID, listSourceFormats, listSinkFormats, convertionMatrix, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::updateGatewayAsync(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateGatewayAsyncCallback callback) { + return delegate_->updateGatewayAsync(gatewayID, listSourceFormats, listSinkFormats, convertionMatrix, callback); +} +/** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::updateConverter(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->updateConverter(converterID, listSourceFormats, listSinkFormats, convertionMatrix, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::updateConverterAsync(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateConverterAsyncCallback callback) { + return delegate_->updateConverterAsync(converterID, listSourceFormats, listSinkFormats, convertionMatrix, callback); +} +/** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::updateSink(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->updateSink(sinkID, sinkClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::updateSinkAsync(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSinkAsyncCallback callback) { + return delegate_->updateSinkAsync(sinkID, sinkClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, callback); +} +/** + * updates data of an source. (at)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 + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::updateSource(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->updateSource(sourceID, sourceClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::updateSourceAsync(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSourceAsyncCallback callback) { + return delegate_->updateSourceAsync(sourceID, sourceClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, callback); +} +/** + * acknowledges a asyncSetSinkVolumes + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSetVolumes(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSetVolumes(handle, listvolumes, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, AckSetVolumesAsyncCallback callback) { + return delegate_->ackSetVolumesAsync(handle, listvolumes, error, callback); +} +/** + * The acknowledge of the SinkNotificationConfiguration + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSinkNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSinkNotificationConfiguration(handle, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSinkNotificationConfigurationAsyncCallback callback) { + return delegate_->ackSinkNotificationConfigurationAsync(handle, error, callback); +} +/** + * The acknowledge of the SourceNotificationConfiguration + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::ackSourceNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) { + delegate_->ackSourceNotificationConfiguration(handle, error, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::ackSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSourceNotificationConfigurationAsyncCallback callback) { + return delegate_->ackSourceNotificationConfigurationAsync(handle, error, callback); +} +/** + * is called whenever a notified value needs to be send + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::hookSinkNotificationDataChange(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus) { + delegate_->hookSinkNotificationDataChange(sinkID, payload, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::hookSinkNotificationDataChangeAsync(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, HookSinkNotificationDataChangeAsyncCallback callback) { + return delegate_->hookSinkNotificationDataChangeAsync(sinkID, payload, callback); +} +/** + * is called whenever a notified value needs to be send + */ +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::hookSourceNotificationDataChange(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus) { + delegate_->hookSourceNotificationDataChange(sourceID, payload, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::hookSourceNotificationDataChangeAsync(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, HookSourceNotificationDataChangeAsyncCallback callback) { + return delegate_->hookSourceNotificationDataChangeAsync(sourceID, payload, callback); +} +template <typename ... _AttributeExtensions> +void RoutingControlObserverProxy<_AttributeExtensions...>::confirmRoutingRundown(const std::string& domainName, CommonAPI::CallStatus& callStatus) { + delegate_->confirmRoutingRundown(domainName, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlObserverProxy<_AttributeExtensions...>::confirmRoutingRundownAsync(const std::string& domainName, ConfirmRoutingRundownAsyncCallback callback) { + return delegate_->confirmRoutingRundownAsync(domainName, callback); +} + +template <typename ... _AttributeExtensions> +std::string RoutingControlObserverProxy<_AttributeExtensions...>::getAddress() const { + return delegate_->getAddress(); +} + +template <typename ... _AttributeExtensions> +const std::string& RoutingControlObserverProxy<_AttributeExtensions...>::getDomain() const { + return delegate_->getDomain(); +} + +template <typename ... _AttributeExtensions> +const std::string& RoutingControlObserverProxy<_AttributeExtensions...>::getServiceId() const { + return delegate_->getServiceId(); +} + +template <typename ... _AttributeExtensions> +const std::string& RoutingControlObserverProxy<_AttributeExtensions...>::getInstanceId() const { + return delegate_->getInstanceId(); +} + +template <typename ... _AttributeExtensions> +bool RoutingControlObserverProxy<_AttributeExtensions...>::isAvailable() const { + return delegate_->isAvailable(); +} + +template <typename ... _AttributeExtensions> +bool RoutingControlObserverProxy<_AttributeExtensions...>::isAvailableBlocking() const { + return delegate_->isAvailableBlocking(); +} + +template <typename ... _AttributeExtensions> +CommonAPI::ProxyStatusEvent& RoutingControlObserverProxy<_AttributeExtensions...>::getProxyStatusEvent() { + return delegate_->getProxyStatusEvent(); +} + +template <typename ... _AttributeExtensions> +CommonAPI::InterfaceVersionAttribute& RoutingControlObserverProxy<_AttributeExtensions...>::getInterfaceVersionAttribute() { + return delegate_->getInterfaceVersionAttribute(); +} + + +} // namespace am +} // namespace genivi +} // namespace org + +namespace CommonAPI { +template<template<typename > class _AttributeExtension> +struct DefaultAttributeProxyFactoryHelper<org::genivi::am::RoutingControlObserverProxy, + _AttributeExtension> { + typedef typename org::genivi::am::RoutingControlObserverProxy< + org::genivi::am::RoutingControlObserverExtensions::RoutingReadyAttributeExtension<_AttributeExtension> + > class_t; +}; +} + +#endif // ORG_GENIVI_AM_Routing_Control_Observer_PROXY_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxyBase.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxyBase.h new file mode 100644 index 0000000..a1ba9d4 --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxyBase.h @@ -0,0 +1,401 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * Routing Receive sendInterface description. + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_Observer_PROXY_BASE_H_ +#define ORG_GENIVI_AM_Routing_Control_Observer_PROXY_BASE_H_ + +#include "RoutingControlObserver.h" + + +#include <org/genivi/am.h> + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/InputStream.h> +#include <CommonAPI/OutputStream.h> +#include <CommonAPI/SerializableStruct.h> +#include <cstdint> +#include <string> +#include <vector> + +#include <CommonAPI/Attribute.h> +#include <CommonAPI/Proxy.h> +#include <functional> +#include <future> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +class RoutingControlObserverProxyBase: virtual public CommonAPI::Proxy { + public: + typedef CommonAPI::ObservableReadonlyAttribute<am_RoutingReady_e> RoutingReadyAttribute; + + typedef std::function<void(const CommonAPI::CallStatus&)> AckConnectAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckDisconnectAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSetSinkVolumeChangeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSetSourceVolumeChangeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSetSourceStateAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSetSinkSoundPropertiesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSetSinkSoundPropertyAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSetSourceSoundPropertiesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSetSourceSoundPropertyAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckCrossFadingAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSourceVolumeTickAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSinkVolumeTickAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_domainID_t&, const am_Error_e&)> PeekDomainAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_domainID_t&, const am_Error_e&)> RegisterDomainAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> DeregisterDomainAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_gatewayID_t&, const am_Error_e&)> RegisterGatewayAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_converterID_t&, const am_Error_e&)> RegisterConverterAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> DeregisterGatewayAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> DeregisterConverterAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_sinkID_t&, const am_Error_e&)> PeekSinkAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_sinkID_t&, const am_Error_e&)> RegisterSinkAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> DeregisterSinkAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_sourceID_t&, const am_Error_e&)> PeekSourceAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_sourceID_t&, const am_Error_e&)> RegisterSourceAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> DeregisterSourceAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_crossfaderID_t&, const am_Error_e&)> RegisterCrossfaderAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> DeregisterCrossfaderAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_sourceClass_t&, const am_Error_e&)> PeekSourceClassIDAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_sinkClass_t&, const am_Error_e&)> PeekSinkClassIDAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> HookInterruptStatusChangeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> HookDomainRegistrationCompleteAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> HookSinkAvailablityStatusChangeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> HookSourceAvailablityStatusChangeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> HookDomainStateChangeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> HookTimingInformationChangedAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> SendChangedDataAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> UpdateGatewayAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> UpdateConverterAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> UpdateSinkAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> UpdateSourceAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSetVolumesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSinkNotificationConfigurationAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AckSourceNotificationConfigurationAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> HookSinkNotificationDataChangeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> HookSourceNotificationDataChangeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> ConfirmRoutingRundownAsyncCallback; + + /** + * This attribute signals to the clients the current routing state. + A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ + virtual RoutingReadyAttribute& getRoutingReadyAttribute() = 0; + + + /** + * acknowledges a asyncConnect + */ + virtual void ackConnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackConnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckConnectAsyncCallback callback) = 0; + /** + * acknowledges a asyncDisconnect + */ + virtual void ackDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, AckDisconnectAsyncCallback callback) = 0; + /** + * acknowledges a asyncsetSinkVolume + */ + virtual void ackSetSinkVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSetSinkVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSinkVolumeChangeAsyncCallback callback) = 0; + /** + * acknowledges a asyncsetSourceVolume + */ + virtual void ackSetSourceVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSetSourceVolumeChangeAsync(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, AckSetSourceVolumeChangeAsyncCallback callback) = 0; + /** + * acknowlegde for asyncSetSourceState + */ + virtual void ackSetSourceState(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSetSourceStateAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceStateAsyncCallback callback) = 0; + /** + * acknowledges asyncSetSinkSoundProperties + */ + virtual void ackSetSinkSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertiesAsyncCallback callback) = 0; + /** + * acknowledges asyncSetSinkSoundProperty + */ + virtual void ackSetSinkSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSinkSoundPropertyAsyncCallback callback) = 0; + /** + * acknowledges asyncSetSourceSoundProperties + */ + virtual void ackSetSourceSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertiesAsyncCallback callback) = 0; + /** + * acknowledges asyncSetSourceSoundProperty + */ + virtual void ackSetSourceSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_Error_e& error, AckSetSourceSoundPropertyAsyncCallback callback) = 0; + /** + * acknowledges asyncCrossFade + */ + virtual void ackCrossFading(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackCrossFadingAsync(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, AckCrossFadingAsyncCallback callback) = 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, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSourceVolumeTickAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, AckSourceVolumeTickAsyncCallback callback) = 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, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSinkVolumeTickAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, AckSinkVolumeTickAsyncCallback callback) = 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + virtual void peekDomain(const std::string& name, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> peekDomainAsync(const std::string& name, PeekDomainAsyncCallback callback) = 0; + /** + * registers a domain + (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + virtual void registerDomain(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> registerDomainAsync(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, RegisterDomainAsyncCallback callback) = 0; + /** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. + (at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ + virtual void deregisterDomain(const am_domainID_t& domainID, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> deregisterDomainAsync(const am_domainID_t& domainID, DeregisterDomainAsyncCallback callback) = 0; + /** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + virtual void registerGateway(const am_Gateway_s& gatewayData, CommonAPI::CallStatus& callStatus, am_gatewayID_t& gatewayID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> registerGatewayAsync(const am_Gateway_s& gatewayData, RegisterGatewayAsyncCallback callback) = 0; + /** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + virtual void registerConverter(const am_Converter_s& converterData, CommonAPI::CallStatus& callStatus, am_converterID_t& converterID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> registerConverterAsync(const am_Converter_s& converterData, RegisterConverterAsyncCallback callback) = 0; + /** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + virtual void deregisterGateway(const am_gatewayID_t& gatewayID, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> deregisterGatewayAsync(const am_gatewayID_t& gatewayID, DeregisterGatewayAsyncCallback callback) = 0; + /** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ + virtual void deregisterConverter(const am_converterID_t& converterID, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> deregisterConverterAsync(const am_converterID_t& converterID, DeregisterConverterAsyncCallback callback) = 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + virtual void peekSink(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> peekSinkAsync(const std::string& name, PeekSinkAsyncCallback callback) = 0; + /** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + virtual void registerSink(const am_Sink_s& sinkData, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> registerSinkAsync(const am_Sink_s& sinkData, RegisterSinkAsyncCallback callback) = 0; + /** + * deregisters a sink. + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + virtual void deregisterSink(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> deregisterSinkAsync(const am_sinkID_t& sinkID, DeregisterSinkAsyncCallback callback) = 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + virtual void peekSource(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> peekSourceAsync(const std::string& name, PeekSourceAsyncCallback callback) = 0; + /** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation + (at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ + virtual void registerSource(const am_Source_s& sourceData, CommonAPI::CallStatus& callStatus, am_sourceID_t& sourceID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> registerSourceAsync(const am_Source_s& sourceData, RegisterSourceAsyncCallback callback) = 0; + /** + * deregisters a source + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + virtual void deregisterSource(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> deregisterSourceAsync(const am_sourceID_t& sourceID, DeregisterSourceAsyncCallback callback) = 0; + /** + * this function registers a crossfader. + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + virtual void registerCrossfader(const am_Crossfader_s& crossfaderData, CommonAPI::CallStatus& callStatus, am_crossfaderID_t& crossfaderID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> registerCrossfaderAsync(const am_Crossfader_s& crossfaderData, RegisterCrossfaderAsyncCallback callback) = 0; + /** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + virtual void deregisterCrossfader(const am_crossfaderID_t& crossfaderID, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> deregisterCrossfaderAsync(const am_crossfaderID_t& crossfaderID, DeregisterCrossfaderAsyncCallback callback) = 0; + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + virtual void peekSourceClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sourceClass_t& sourceClassID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> peekSourceClassIDAsync(const std::string& name, PeekSourceClassIDAsyncCallback callback) = 0; + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + virtual void peekSinkClassID(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkClass_t& sinkClassID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> peekSinkClassIDAsync(const std::string& name, PeekSinkClassIDAsyncCallback callback) = 0; + /** + * is called when a low level interrupt changes it status. + */ + virtual void hookInterruptStatusChange(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> hookInterruptStatusChangeAsync(const am_sourceID_t& sourceID, const am_InterruptState_e& interruptState, HookInterruptStatusChangeAsyncCallback callback) = 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, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> hookDomainRegistrationCompleteAsync(const am_domainID_t& domainID, HookDomainRegistrationCompleteAsyncCallback callback) = 0; + /** + * is called when a sink changes its availability + */ + virtual void hookSinkAvailablityStatusChange(const am_sinkID_t& sinkID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> hookSinkAvailablityStatusChangeAsync(const am_sinkID_t& sinkID, const am_Availability_s& availability, HookSinkAvailablityStatusChangeAsyncCallback callback) = 0; + /** + * is called when a source changes its availability + */ + virtual void hookSourceAvailablityStatusChange(const am_sourceID_t& sourceID, const am_Availability_s& availability, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> hookSourceAvailablityStatusChangeAsync(const am_sourceID_t& sourceID, const am_Availability_s& availability, HookSourceAvailablityStatusChangeAsyncCallback callback) = 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, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> hookDomainStateChangeAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, HookDomainStateChangeAsyncCallback callback) = 0; + /** + * is called when the timinginformation (delay) changed for a connection. + */ + virtual void hookTimingInformationChanged(const am_connectionID_t& connectionID, const am_timeSync_t& delay, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> hookTimingInformationChangedAsync(const am_connectionID_t& connectionID, const am_timeSync_t& delay, HookTimingInformationChangedAsyncCallback callback) = 0; + /** + * this function is used to send out all data that has been changed in an early + * state. + (at)return E_OK on success, E_UNKNOWN on error + */ + virtual void sendChangedData(const am_EarlyData_L& earlyData, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> sendChangedDataAsync(const am_EarlyData_L& earlyData, SendChangedDataAsyncCallback callback) = 0; + /** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ + virtual void updateGateway(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> updateGatewayAsync(const am_gatewayID_t& gatewayID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateGatewayAsyncCallback callback) = 0; + /** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ + virtual void updateConverter(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> updateConverterAsync(const am_converterID_t& converterID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix, UpdateConverterAsyncCallback callback) = 0; + /** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ + virtual void updateSink(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> updateSinkAsync(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSinkAsyncCallback callback) = 0; + /** + * updates data of an source. (at)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 void updateSource(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> updateSourceAsync(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, UpdateSourceAsyncCallback callback) = 0; + /** + * acknowledges a asyncSetSinkVolumes + */ + virtual void ackSetVolumes(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& listvolumes, const am_Error_e& error, AckSetVolumesAsyncCallback callback) = 0; + /** + * The acknowledge of the SinkNotificationConfiguration + */ + virtual void ackSinkNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSinkNotificationConfigurationAsyncCallback callback) = 0; + /** + * The acknowledge of the SourceNotificationConfiguration + */ + virtual void ackSourceNotificationConfiguration(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> ackSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_Error_e& error, AckSourceNotificationConfigurationAsyncCallback callback) = 0; + /** + * is called whenever a notified value needs to be send + */ + virtual void hookSinkNotificationDataChange(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> hookSinkNotificationDataChangeAsync(const am_sinkID_t& sinkID, const am_NotificationPayload_s& payload, HookSinkNotificationDataChangeAsyncCallback callback) = 0; + /** + * is called whenever a notified value needs to be send + */ + virtual void hookSourceNotificationDataChange(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> hookSourceNotificationDataChangeAsync(const am_sourceID_t& sourceID, const am_NotificationPayload_s& payload, HookSourceNotificationDataChangeAsyncCallback callback) = 0; + virtual void confirmRoutingRundown(const std::string& domainName, CommonAPI::CallStatus& callStatus) = 0; + virtual std::future<CommonAPI::CallStatus> confirmRoutingRundownAsync(const std::string& domainName, ConfirmRoutingRundownAsyncCallback callback) = 0; +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Routing_Control_Observer_PROXY_BASE_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStub.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStub.h new file mode 100644 index 0000000..0f2f3ee --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStub.h @@ -0,0 +1,407 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * Routing Receive sendInterface description. + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_Observer_STUB_H_ +#define ORG_GENIVI_AM_Routing_Control_Observer_STUB_H_ + + + +#include <org/genivi/am.h> + +#include "RoutingControlObserver.h" + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/InputStream.h> +#include <CommonAPI/OutputStream.h> +#include <CommonAPI/SerializableStruct.h> +#include <cstdint> +#include <string> +#include <vector> + +#include <CommonAPI/Stub.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +/** + * Receives messages from remote and handles all dispatching of deserialized calls + * to a stub for the service RoutingControlObserver. Also provides means to send broadcasts + * and attribute-changed-notifications of observable attributes as defined by this service. + * An application developer should not need to bother with this class. + */ +class RoutingControlObserverStubAdapter: virtual public CommonAPI::StubAdapter, public RoutingControlObserver { + public: + ///Notifies all remote listeners about a change of value of the attribute RoutingReady. + virtual void fireRoutingReadyAttributeChanged(const am_RoutingReady_e& RoutingReady) = 0; + + + + virtual void deactivateManagedInstances() = 0; +protected: + /** + * Defines properties for storing the ClientIds of clients / proxies that have + * subscribed to the selective broadcasts + */ +}; + + +/** + * Defines the necessary callbacks to handle remote set events related to the attributes + * defined in the IDL description for RoutingControlObserver. + * For each attribute two callbacks are defined: + * - a verification callback that allows to verify the requested value and to prevent setting + * e.g. an invalid value ("onRemoteSet<AttributeName>"). + * - an action callback to do local work after the attribute value has been changed + * ("onRemote<AttributeName>Changed"). + * + * This class and the one below are the ones an application developer needs to have + * a look at if he wants to implement a service. + */ +class RoutingControlObserverStubRemoteEvent { + public: + virtual ~RoutingControlObserverStubRemoteEvent() { } + + +}; + + +/** + * Defines the interface that must be implemented by any class that should provide + * the service RoutingControlObserver to remote clients. + * This class and the one above are the ones an application developer needs to have + * a look at if he wants to implement a service. + */ +class RoutingControlObserverStub: public virtual CommonAPI::Stub<RoutingControlObserverStubAdapter, RoutingControlObserverStubRemoteEvent> { +public: + virtual ~RoutingControlObserverStub() { } + virtual const CommonAPI::Version& getInterfaceVersion(std::shared_ptr<CommonAPI::ClientId> clientId) = 0; + + /** + * This attribute signals to the clients the current routing state. + A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ + /// Provides getter access to the attribute RoutingReady + virtual const am_RoutingReady_e& getRoutingReadyAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) = 0; + + /** + * acknowledges a asyncConnect + */ + /// This is the method that will be called on remote calls on the method ackConnect. + virtual void ackConnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error) = 0; + /** + * acknowledges a asyncDisconnect + */ + /// This is the method that will be called on remote calls on the method ackDisconnect. + virtual void ackDisconnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error) = 0; + /** + * acknowledges a asyncsetSinkVolume + */ + /// This is the method that will be called on remote calls on the method ackSetSinkVolumeChange. + virtual void ackSetSinkVolumeChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_volume_t volume, am_Error_e error) = 0; + /** + * acknowledges a asyncsetSourceVolume + */ + /// This is the method that will be called on remote calls on the method ackSetSourceVolumeChange. + virtual void ackSetSourceVolumeChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_volume_t volume, am_Error_e error) = 0; + /** + * acknowlegde for asyncSetSourceState + */ + /// This is the method that will be called on remote calls on the method ackSetSourceState. + virtual void ackSetSourceState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) = 0; + /** + * acknowledges asyncSetSinkSoundProperties + */ + /// This is the method that will be called on remote calls on the method ackSetSinkSoundProperties. + virtual void ackSetSinkSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) = 0; + /** + * acknowledges asyncSetSinkSoundProperty + */ + /// This is the method that will be called on remote calls on the method ackSetSinkSoundProperty. + virtual void ackSetSinkSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) = 0; + /** + * acknowledges asyncSetSourceSoundProperties + */ + /// This is the method that will be called on remote calls on the method ackSetSourceSoundProperties. + virtual void ackSetSourceSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) = 0; + /** + * acknowledges asyncSetSourceSoundProperty + */ + /// This is the method that will be called on remote calls on the method ackSetSourceSoundProperty. + virtual void ackSetSourceSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) = 0; + /** + * acknowledges asyncCrossFade + */ + /// This is the method that will be called on remote calls on the method ackCrossFading. + virtual void ackCrossFading(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_HotSink_e hotSink, am_Error_e error) = 0; + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ + /// This is the method that will be called on remote calls on the method ackSourceVolumeTick. + virtual void ackSourceVolumeTick(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume) = 0; + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ + /// This is the method that will be called on remote calls on the method ackSinkVolumeTick. + virtual void ackSinkVolumeTick(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + /// This is the method that will be called on remote calls on the method peekDomain. + virtual void peekDomain(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_domainID_t& domainID, am_Error_e& error) = 0; + /** + * registers a domain + (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + /// This is the method that will be called on remote calls on the method registerDomain. + virtual void registerDomain(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Domain_s domainData, std::string returnBusname, std::string returnInterface, am_domainID_t& domainID, am_Error_e& error) = 0; + /** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. + (at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ + /// This is the method that will be called on remote calls on the method deregisterDomain. + virtual void deregisterDomain(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID, am_Error_e& error) = 0; + /** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + /// This is the method that will be called on remote calls on the method registerGateway. + virtual void registerGateway(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Gateway_s gatewayData, am_gatewayID_t& gatewayID, am_Error_e& error) = 0; + /** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + /// This is the method that will be called on remote calls on the method registerConverter. + virtual void registerConverter(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Converter_s converterData, am_converterID_t& converterID, am_Error_e& error) = 0; + /** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + /// This is the method that will be called on remote calls on the method deregisterGateway. + virtual void deregisterGateway(const std::shared_ptr<CommonAPI::ClientId> clientId, am_gatewayID_t gatewayID, am_Error_e& error) = 0; + /** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ + /// This is the method that will be called on remote calls on the method deregisterConverter. + virtual void deregisterConverter(const std::shared_ptr<CommonAPI::ClientId> clientId, am_converterID_t converterID, am_Error_e& error) = 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + /// This is the method that will be called on remote calls on the method peekSink. + virtual void peekSink(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sinkID_t& sinkID, am_Error_e& error) = 0; + /** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + /// This is the method that will be called on remote calls on the method registerSink. + virtual void registerSink(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Sink_s sinkData, am_sinkID_t& sinkID, am_Error_e& error) = 0; + /** + * deregisters a sink. + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + /// This is the method that will be called on remote calls on the method deregisterSink. + virtual void deregisterSink(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_Error_e& error) = 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + /// This is the method that will be called on remote calls on the method peekSource. + virtual void peekSource(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sourceID_t& sourceID, am_Error_e& error) = 0; + /** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation + (at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ + /// This is the method that will be called on remote calls on the method registerSource. + virtual void registerSource(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Source_s sourceData, am_sourceID_t& sourceID, am_Error_e& error) = 0; + /** + * deregisters a source + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + /// This is the method that will be called on remote calls on the method deregisterSource. + virtual void deregisterSource(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_Error_e& error) = 0; + /** + * this function registers a crossfader. + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + /// This is the method that will be called on remote calls on the method registerCrossfader. + virtual void registerCrossfader(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Crossfader_s crossfaderData, am_crossfaderID_t& crossfaderID, am_Error_e& error) = 0; + /** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + /// This is the method that will be called on remote calls on the method deregisterCrossfader. + virtual void deregisterCrossfader(const std::shared_ptr<CommonAPI::ClientId> clientId, am_crossfaderID_t crossfaderID, am_Error_e& error) = 0; + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method peekSourceClassID. + virtual void peekSourceClassID(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sourceClass_t& sourceClassID, am_Error_e& error) = 0; + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method peekSinkClassID. + virtual void peekSinkClassID(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sinkClass_t& sinkClassID, am_Error_e& error) = 0; + /** + * is called when a low level interrupt changes it status. + */ + /// This is the method that will be called on remote calls on the method hookInterruptStatusChange. + virtual void hookInterruptStatusChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, 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 + */ + /// This is the method that will be called on remote calls on the method hookDomainRegistrationComplete. + virtual void hookDomainRegistrationComplete(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID) = 0; + /** + * is called when a sink changes its availability + */ + /// This is the method that will be called on remote calls on the method hookSinkAvailablityStatusChange. + virtual void hookSinkAvailablityStatusChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_Availability_s availability) = 0; + /** + * is called when a source changes its availability + */ + /// This is the method that will be called on remote calls on the method hookSourceAvailablityStatusChange. + virtual void hookSourceAvailablityStatusChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_Availability_s availability) = 0; + /** + * is called when a domain changes its status. This used for early domains only + */ + /// This is the method that will be called on remote calls on the method hookDomainStateChange. + virtual void hookDomainStateChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID, am_DomainState_e domainState) = 0; + /** + * is called when the timinginformation (delay) changed for a connection. + */ + /// This is the method that will be called on remote calls on the method hookTimingInformationChanged. + virtual void hookTimingInformationChanged(const std::shared_ptr<CommonAPI::ClientId> clientId, am_connectionID_t connectionID, am_timeSync_t delay) = 0; + /** + * this function is used to send out all data that has been changed in an early + * state. + (at)return E_OK on success, E_UNKNOWN on error + */ + /// This is the method that will be called on remote calls on the method sendChangedData. + virtual void sendChangedData(const std::shared_ptr<CommonAPI::ClientId> clientId, am_EarlyData_L earlyData) = 0; + /** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ + /// This is the method that will be called on remote calls on the method updateGateway. + virtual void updateGateway(const std::shared_ptr<CommonAPI::ClientId> clientId, am_gatewayID_t gatewayID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error) = 0; + /** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ + /// This is the method that will be called on remote calls on the method updateConverter. + virtual void updateConverter(const std::shared_ptr<CommonAPI::ClientId> clientId, am_converterID_t converterID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error) = 0; + /** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ + /// This is the method that will be called on remote calls on the method updateSink. + virtual void updateSink(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_sinkClass_t sinkClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error) = 0; + /** + * updates data of an source. (at)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 + */ + /// This is the method that will be called on remote calls on the method updateSource. + virtual void updateSource(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_sourceClass_t sourceClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error) = 0; + /** + * acknowledges a asyncSetSinkVolumes + */ + /// This is the method that will be called on remote calls on the method ackSetVolumes. + virtual void ackSetVolumes(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Volumes_L listvolumes, am_Error_e error) = 0; + /** + * The acknowledge of the SinkNotificationConfiguration + */ + /// This is the method that will be called on remote calls on the method ackSinkNotificationConfiguration. + virtual void ackSinkNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) = 0; + /** + * The acknowledge of the SourceNotificationConfiguration + */ + /// This is the method that will be called on remote calls on the method ackSourceNotificationConfiguration. + virtual void ackSourceNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) = 0; + /** + * is called whenever a notified value needs to be send + */ + /// This is the method that will be called on remote calls on the method hookSinkNotificationDataChange. + virtual void hookSinkNotificationDataChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_NotificationPayload_s payload) = 0; + /** + * is called whenever a notified value needs to be send + */ + /// This is the method that will be called on remote calls on the method hookSourceNotificationDataChange. + virtual void hookSourceNotificationDataChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_NotificationPayload_s payload) = 0; + /// This is the method that will be called on remote calls on the method confirmRoutingRundown. + virtual void confirmRoutingRundown(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string domainName) = 0; + + using CommonAPI::Stub<RoutingControlObserverStubAdapter, RoutingControlObserverStubRemoteEvent>::initStubAdapter; + typedef CommonAPI::Stub<RoutingControlObserverStubAdapter, RoutingControlObserverStubRemoteEvent>::StubAdapterType StubAdapterType; + typedef CommonAPI::Stub<RoutingControlObserverStubAdapter, RoutingControlObserverStubRemoteEvent>::RemoteEventHandlerType RemoteEventHandlerType; + typedef RoutingControlObserverStubRemoteEvent RemoteEventType; + typedef RoutingControlObserver StubInterface; +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Routing_Control_Observer_STUB_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.cpp new file mode 100644 index 0000000..250809f --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.cpp @@ -0,0 +1,636 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +#include <org/genivi/am/RoutingControlObserverStubDefault.h> + +namespace org { +namespace genivi { +namespace am { + +RoutingControlObserverStubDefault::RoutingControlObserverStubDefault(): + remoteEventHandler_(this), + interfaceVersion_(RoutingControlObserver::getInterfaceVersion()) { +} + +const CommonAPI::Version& RoutingControlObserverStubDefault::getInterfaceVersion(std::shared_ptr<CommonAPI::ClientId> clientId) { + return interfaceVersion_; +} + +RoutingControlObserverStubRemoteEvent* RoutingControlObserverStubDefault::initStubAdapter(const std::shared_ptr<RoutingControlObserverStubAdapter>& stubAdapter) { + CommonAPI::Stub<RoutingControlObserverStubAdapter, RoutingControlObserverStubRemoteEvent>::stubAdapter_ = stubAdapter; + return &remoteEventHandler_; +} + +const am_RoutingReady_e& RoutingControlObserverStubDefault::getRoutingReadyAttribute() { + return routingReadyAttributeValue_; +} + +const am_RoutingReady_e& RoutingControlObserverStubDefault::getRoutingReadyAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) { + return getRoutingReadyAttribute(); +} + +void RoutingControlObserverStubDefault::setRoutingReadyAttribute(am_RoutingReady_e value) { + const bool valueChanged = trySetRoutingReadyAttribute(std::move(value)); + if (valueChanged && stubAdapter_ != NULL) { + stubAdapter_->fireRoutingReadyAttributeChanged(routingReadyAttributeValue_); + } +} + +bool RoutingControlObserverStubDefault::trySetRoutingReadyAttribute(am_RoutingReady_e value) { + if (!validateRoutingReadyAttributeRequestedValue(value)) + return false; + + const bool valueChanged = (routingReadyAttributeValue_ != value); + routingReadyAttributeValue_ = std::move(value); + return valueChanged; +} + +bool RoutingControlObserverStubDefault::validateRoutingReadyAttributeRequestedValue(const am_RoutingReady_e& value) { + return true; +} + + + +/** + * acknowledges a asyncConnect + */ +void RoutingControlObserverStubDefault::ackConnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error) { + // Call old style methods in default + ackConnect(handle, connectionID, error); +} +void RoutingControlObserverStubDefault::ackConnect(am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error) { + // No operation in default +} + +/** + * acknowledges a asyncDisconnect + */ +void RoutingControlObserverStubDefault::ackDisconnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error) { + // Call old style methods in default + ackDisconnect(handle, connectionID, error); +} +void RoutingControlObserverStubDefault::ackDisconnect(am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error) { + // No operation in default +} + +/** + * acknowledges a asyncsetSinkVolume + */ +void RoutingControlObserverStubDefault::ackSetSinkVolumeChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_volume_t volume, am_Error_e error) { + // Call old style methods in default + ackSetSinkVolumeChange(handle, volume, error); +} +void RoutingControlObserverStubDefault::ackSetSinkVolumeChange(am_Handle_s handle, am_volume_t volume, am_Error_e error) { + // No operation in default +} + +/** + * acknowledges a asyncsetSourceVolume + */ +void RoutingControlObserverStubDefault::ackSetSourceVolumeChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_volume_t volume, am_Error_e error) { + // Call old style methods in default + ackSetSourceVolumeChange(handle, volume, error); +} +void RoutingControlObserverStubDefault::ackSetSourceVolumeChange(am_Handle_s handle, am_volume_t volume, am_Error_e error) { + // No operation in default +} + +/** + * acknowlegde for asyncSetSourceState + */ +void RoutingControlObserverStubDefault::ackSetSourceState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) { + // Call old style methods in default + ackSetSourceState(handle, error); +} +void RoutingControlObserverStubDefault::ackSetSourceState(am_Handle_s handle, am_Error_e error) { + // No operation in default +} + +/** + * acknowledges asyncSetSinkSoundProperties + */ +void RoutingControlObserverStubDefault::ackSetSinkSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) { + // Call old style methods in default + ackSetSinkSoundProperties(handle, error); +} +void RoutingControlObserverStubDefault::ackSetSinkSoundProperties(am_Handle_s handle, am_Error_e error) { + // No operation in default +} + +/** + * acknowledges asyncSetSinkSoundProperty + */ +void RoutingControlObserverStubDefault::ackSetSinkSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) { + // Call old style methods in default + ackSetSinkSoundProperty(handle, error); +} +void RoutingControlObserverStubDefault::ackSetSinkSoundProperty(am_Handle_s handle, am_Error_e error) { + // No operation in default +} + +/** + * acknowledges asyncSetSourceSoundProperties + */ +void RoutingControlObserverStubDefault::ackSetSourceSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) { + // Call old style methods in default + ackSetSourceSoundProperties(handle, error); +} +void RoutingControlObserverStubDefault::ackSetSourceSoundProperties(am_Handle_s handle, am_Error_e error) { + // No operation in default +} + +/** + * acknowledges asyncSetSourceSoundProperty + */ +void RoutingControlObserverStubDefault::ackSetSourceSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) { + // Call old style methods in default + ackSetSourceSoundProperty(handle, error); +} +void RoutingControlObserverStubDefault::ackSetSourceSoundProperty(am_Handle_s handle, am_Error_e error) { + // No operation in default +} + +/** + * acknowledges asyncCrossFade + */ +void RoutingControlObserverStubDefault::ackCrossFading(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_HotSink_e hotSink, am_Error_e error) { + // Call old style methods in default + ackCrossFading(handle, hotSink, error); +} +void RoutingControlObserverStubDefault::ackCrossFading(am_Handle_s handle, am_HotSink_e hotSink, am_Error_e error) { + // No operation in default +} + +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +void RoutingControlObserverStubDefault::ackSourceVolumeTick(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume) { + // Call old style methods in default + ackSourceVolumeTick(handle, sourceID, volume); +} +void RoutingControlObserverStubDefault::ackSourceVolumeTick(am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume) { + // No operation in default +} + +/** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ +void RoutingControlObserverStubDefault::ackSinkVolumeTick(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume) { + // Call old style methods in default + ackSinkVolumeTick(handle, sinkID, volume); +} +void RoutingControlObserverStubDefault::ackSinkVolumeTick(am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume) { + // No operation in default +} + +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +void RoutingControlObserverStubDefault::peekDomain(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_domainID_t& domainID, am_Error_e& error) { + // Call old style methods in default + peekDomain(name, domainID, error); +} +void RoutingControlObserverStubDefault::peekDomain(std::string name, am_domainID_t& domainID, am_Error_e& error) { + // No operation in default +} + +/** + * registers a domain +(at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +void RoutingControlObserverStubDefault::registerDomain(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Domain_s domainData, std::string returnBusname, std::string returnInterface, am_domainID_t& domainID, am_Error_e& error) { + // Call old style methods in default + registerDomain(domainData, returnBusname, returnInterface, domainID, error); +} +void RoutingControlObserverStubDefault::registerDomain(am_Domain_s domainData, std::string returnBusname, std::string returnInterface, am_domainID_t& domainID, am_Error_e& error) { + // No operation in default +} + +/** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. +(at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ +void RoutingControlObserverStubDefault::deregisterDomain(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID, am_Error_e& error) { + // Call old style methods in default + deregisterDomain(domainID, error); +} +void RoutingControlObserverStubDefault::deregisterDomain(am_domainID_t domainID, am_Error_e& error) { + // No operation in default +} + +/** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +void RoutingControlObserverStubDefault::registerGateway(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Gateway_s gatewayData, am_gatewayID_t& gatewayID, am_Error_e& error) { + // Call old style methods in default + registerGateway(gatewayData, gatewayID, error); +} +void RoutingControlObserverStubDefault::registerGateway(am_Gateway_s gatewayData, am_gatewayID_t& gatewayID, am_Error_e& error) { + // No operation in default +} + +/** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ +void RoutingControlObserverStubDefault::registerConverter(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Converter_s converterData, am_converterID_t& converterID, am_Error_e& error) { + // Call old style methods in default + registerConverter(converterData, converterID, error); +} +void RoutingControlObserverStubDefault::registerConverter(am_Converter_s converterData, am_converterID_t& converterID, am_Error_e& error) { + // No operation in default +} + +/** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +void RoutingControlObserverStubDefault::deregisterGateway(const std::shared_ptr<CommonAPI::ClientId> clientId, am_gatewayID_t gatewayID, am_Error_e& error) { + // Call old style methods in default + deregisterGateway(gatewayID, error); +} +void RoutingControlObserverStubDefault::deregisterGateway(am_gatewayID_t gatewayID, am_Error_e& error) { + // No operation in default +} + +/** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ +void RoutingControlObserverStubDefault::deregisterConverter(const std::shared_ptr<CommonAPI::ClientId> clientId, am_converterID_t converterID, am_Error_e& error) { + // Call old style methods in default + deregisterConverter(converterID, error); +} +void RoutingControlObserverStubDefault::deregisterConverter(am_converterID_t converterID, am_Error_e& error) { + // No operation in default +} + +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +void RoutingControlObserverStubDefault::peekSink(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sinkID_t& sinkID, am_Error_e& error) { + // Call old style methods in default + peekSink(name, sinkID, error); +} +void RoutingControlObserverStubDefault::peekSink(std::string name, am_sinkID_t& sinkID, am_Error_e& error) { + // No operation in default +} + +/** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +void RoutingControlObserverStubDefault::registerSink(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Sink_s sinkData, am_sinkID_t& sinkID, am_Error_e& error) { + // Call old style methods in default + registerSink(sinkData, sinkID, error); +} +void RoutingControlObserverStubDefault::registerSink(am_Sink_s sinkData, am_sinkID_t& sinkID, am_Error_e& error) { + // No operation in default +} + +/** + * deregisters a sink. +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +void RoutingControlObserverStubDefault::deregisterSink(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_Error_e& error) { + // Call old style methods in default + deregisterSink(sinkID, error); +} +void RoutingControlObserverStubDefault::deregisterSink(am_sinkID_t sinkID, am_Error_e& error) { + // No operation in default +} + +/** + * 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. +(at)return E_OK on success, + * E_UNKNOWN on error + */ +void RoutingControlObserverStubDefault::peekSource(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sourceID_t& sourceID, am_Error_e& error) { + // Call old style methods in default + peekSource(name, sourceID, error); +} +void RoutingControlObserverStubDefault::peekSource(std::string name, am_sourceID_t& sourceID, am_Error_e& error) { + // No operation in default +} + +/** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation +(at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ +void RoutingControlObserverStubDefault::registerSource(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Source_s sourceData, am_sourceID_t& sourceID, am_Error_e& error) { + // Call old style methods in default + registerSource(sourceData, sourceID, error); +} +void RoutingControlObserverStubDefault::registerSource(am_Source_s sourceData, am_sourceID_t& sourceID, am_Error_e& error) { + // No operation in default +} + +/** + * deregisters a source +(at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ +void RoutingControlObserverStubDefault::deregisterSource(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_Error_e& error) { + // Call old style methods in default + deregisterSource(sourceID, error); +} +void RoutingControlObserverStubDefault::deregisterSource(am_sourceID_t sourceID, am_Error_e& error) { + // No operation in default +} + +/** + * this function registers a crossfader. +(at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ +void RoutingControlObserverStubDefault::registerCrossfader(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Crossfader_s crossfaderData, am_crossfaderID_t& crossfaderID, am_Error_e& error) { + // Call old style methods in default + registerCrossfader(crossfaderData, crossfaderID, error); +} +void RoutingControlObserverStubDefault::registerCrossfader(am_Crossfader_s crossfaderData, am_crossfaderID_t& crossfaderID, am_Error_e& error) { + // No operation in default +} + +/** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. +(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ +void RoutingControlObserverStubDefault::deregisterCrossfader(const std::shared_ptr<CommonAPI::ClientId> clientId, am_crossfaderID_t crossfaderID, am_Error_e& error) { + // Call old style methods in default + deregisterCrossfader(crossfaderID, error); +} +void RoutingControlObserverStubDefault::deregisterCrossfader(am_crossfaderID_t crossfaderID, am_Error_e& error) { + // No operation in default +} + +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +void RoutingControlObserverStubDefault::peekSourceClassID(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sourceClass_t& sourceClassID, am_Error_e& error) { + // Call old style methods in default + peekSourceClassID(name, sourceClassID, error); +} +void RoutingControlObserverStubDefault::peekSourceClassID(std::string name, am_sourceClass_t& sourceClassID, am_Error_e& error) { + // No operation in default +} + +/** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. +(at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ +void RoutingControlObserverStubDefault::peekSinkClassID(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sinkClass_t& sinkClassID, am_Error_e& error) { + // Call old style methods in default + peekSinkClassID(name, sinkClassID, error); +} +void RoutingControlObserverStubDefault::peekSinkClassID(std::string name, am_sinkClass_t& sinkClassID, am_Error_e& error) { + // No operation in default +} + +/** + * is called when a low level interrupt changes it status. + */ +void RoutingControlObserverStubDefault::hookInterruptStatusChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_InterruptState_e interruptState) { + // Call old style methods in default + hookInterruptStatusChange(sourceID, interruptState); +} +void RoutingControlObserverStubDefault::hookInterruptStatusChange(am_sourceID_t sourceID, am_InterruptState_e interruptState) { + // No operation in default +} + +/** + * 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 + */ +void RoutingControlObserverStubDefault::hookDomainRegistrationComplete(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID) { + // Call old style methods in default + hookDomainRegistrationComplete(domainID); +} +void RoutingControlObserverStubDefault::hookDomainRegistrationComplete(am_domainID_t domainID) { + // No operation in default +} + +/** + * is called when a sink changes its availability + */ +void RoutingControlObserverStubDefault::hookSinkAvailablityStatusChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_Availability_s availability) { + // Call old style methods in default + hookSinkAvailablityStatusChange(sinkID, availability); +} +void RoutingControlObserverStubDefault::hookSinkAvailablityStatusChange(am_sinkID_t sinkID, am_Availability_s availability) { + // No operation in default +} + +/** + * is called when a source changes its availability + */ +void RoutingControlObserverStubDefault::hookSourceAvailablityStatusChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_Availability_s availability) { + // Call old style methods in default + hookSourceAvailablityStatusChange(sourceID, availability); +} +void RoutingControlObserverStubDefault::hookSourceAvailablityStatusChange(am_sourceID_t sourceID, am_Availability_s availability) { + // No operation in default +} + +/** + * is called when a domain changes its status. This used for early domains only + */ +void RoutingControlObserverStubDefault::hookDomainStateChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID, am_DomainState_e domainState) { + // Call old style methods in default + hookDomainStateChange(domainID, domainState); +} +void RoutingControlObserverStubDefault::hookDomainStateChange(am_domainID_t domainID, am_DomainState_e domainState) { + // No operation in default +} + +/** + * is called when the timinginformation (delay) changed for a connection. + */ +void RoutingControlObserverStubDefault::hookTimingInformationChanged(const std::shared_ptr<CommonAPI::ClientId> clientId, am_connectionID_t connectionID, am_timeSync_t delay) { + // Call old style methods in default + hookTimingInformationChanged(connectionID, delay); +} +void RoutingControlObserverStubDefault::hookTimingInformationChanged(am_connectionID_t connectionID, am_timeSync_t delay) { + // No operation in default +} + +/** + * this function is used to send out all data that has been changed in an early + * state. +(at)return E_OK on success, E_UNKNOWN on error + */ +void RoutingControlObserverStubDefault::sendChangedData(const std::shared_ptr<CommonAPI::ClientId> clientId, am_EarlyData_L earlyData) { + // Call old style methods in default + sendChangedData(earlyData); +} +void RoutingControlObserverStubDefault::sendChangedData(am_EarlyData_L earlyData) { + // No operation in default +} + +/** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ +void RoutingControlObserverStubDefault::updateGateway(const std::shared_ptr<CommonAPI::ClientId> clientId, am_gatewayID_t gatewayID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error) { + // Call old style methods in default + updateGateway(gatewayID, listSourceFormats, listSinkFormats, convertionMatrix, error); +} +void RoutingControlObserverStubDefault::updateGateway(am_gatewayID_t gatewayID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error) { + // No operation in default +} + +/** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ +void RoutingControlObserverStubDefault::updateConverter(const std::shared_ptr<CommonAPI::ClientId> clientId, am_converterID_t converterID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error) { + // Call old style methods in default + updateConverter(converterID, listSourceFormats, listSinkFormats, convertionMatrix, error); +} +void RoutingControlObserverStubDefault::updateConverter(am_converterID_t converterID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error) { + // No operation in default +} + +/** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ +void RoutingControlObserverStubDefault::updateSink(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_sinkClass_t sinkClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error) { + // Call old style methods in default + updateSink(sinkID, sinkClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, error); +} +void RoutingControlObserverStubDefault::updateSink(am_sinkID_t sinkID, am_sinkClass_t sinkClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error) { + // No operation in default +} + +/** + * updates data of an source. (at)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 + */ +void RoutingControlObserverStubDefault::updateSource(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_sourceClass_t sourceClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error) { + // Call old style methods in default + updateSource(sourceID, sourceClassID, listSoundProperties, listConnectionFormats, listMainSoundProperties, error); +} +void RoutingControlObserverStubDefault::updateSource(am_sourceID_t sourceID, am_sourceClass_t sourceClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error) { + // No operation in default +} + +/** + * acknowledges a asyncSetSinkVolumes + */ +void RoutingControlObserverStubDefault::ackSetVolumes(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Volumes_L listvolumes, am_Error_e error) { + // Call old style methods in default + ackSetVolumes(handle, listvolumes, error); +} +void RoutingControlObserverStubDefault::ackSetVolumes(am_Handle_s handle, am_Volumes_L listvolumes, am_Error_e error) { + // No operation in default +} + +/** + * The acknowledge of the SinkNotificationConfiguration + */ +void RoutingControlObserverStubDefault::ackSinkNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) { + // Call old style methods in default + ackSinkNotificationConfiguration(handle, error); +} +void RoutingControlObserverStubDefault::ackSinkNotificationConfiguration(am_Handle_s handle, am_Error_e error) { + // No operation in default +} + +/** + * The acknowledge of the SourceNotificationConfiguration + */ +void RoutingControlObserverStubDefault::ackSourceNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error) { + // Call old style methods in default + ackSourceNotificationConfiguration(handle, error); +} +void RoutingControlObserverStubDefault::ackSourceNotificationConfiguration(am_Handle_s handle, am_Error_e error) { + // No operation in default +} + +/** + * is called whenever a notified value needs to be send + */ +void RoutingControlObserverStubDefault::hookSinkNotificationDataChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_NotificationPayload_s payload) { + // Call old style methods in default + hookSinkNotificationDataChange(sinkID, payload); +} +void RoutingControlObserverStubDefault::hookSinkNotificationDataChange(am_sinkID_t sinkID, am_NotificationPayload_s payload) { + // No operation in default +} + +/** + * is called whenever a notified value needs to be send + */ +void RoutingControlObserverStubDefault::hookSourceNotificationDataChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_NotificationPayload_s payload) { + // Call old style methods in default + hookSourceNotificationDataChange(sourceID, payload); +} +void RoutingControlObserverStubDefault::hookSourceNotificationDataChange(am_sourceID_t sourceID, am_NotificationPayload_s payload) { + // No operation in default +} + +void RoutingControlObserverStubDefault::confirmRoutingRundown(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string domainName) { + // Call old style methods in default + confirmRoutingRundown(domainName); +} +void RoutingControlObserverStubDefault::confirmRoutingRundown(std::string domainName) { + // No operation in default +} + + + + +RoutingControlObserverStubDefault::RemoteEventHandler::RemoteEventHandler(RoutingControlObserverStubDefault* defaultStub): + defaultStub_(defaultStub) { +} + +} // namespace am +} // namespace genivi +} // namespace org diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.h new file mode 100644 index 0000000..df6f15b --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.h @@ -0,0 +1,429 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * Routing Receive sendInterface description. + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_Observer_STUB_DEFAULT_H_ +#define ORG_GENIVI_AM_Routing_Control_Observer_STUB_DEFAULT_H_ + + +#include <org/genivi/am/RoutingControlObserverStub.h> +#include <sstream> + +namespace org { +namespace genivi { +namespace am { + +/** + * Provides a default implementation for RoutingControlObserverStubRemoteEvent and + * RoutingControlObserverStub. Method callbacks have an empty implementation, + * remote set calls on attributes will always change the value of the attribute + * to the one received. + * + * Override this stub if you only want to provide a subset of the functionality + * that would be defined for this service, and/or if you do not need any non-default + * behaviour. + */ +class RoutingControlObserverStubDefault : public virtual RoutingControlObserverStub { +public: + RoutingControlObserverStubDefault(); + + RoutingControlObserverStubRemoteEvent* initStubAdapter(const std::shared_ptr<RoutingControlObserverStubAdapter>& stubAdapter); + + const CommonAPI::Version& getInterfaceVersion(std::shared_ptr<CommonAPI::ClientId> clientId); + + virtual const am_RoutingReady_e& getRoutingReadyAttribute(); + virtual const am_RoutingReady_e& getRoutingReadyAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId); + virtual void setRoutingReadyAttribute(am_RoutingReady_e value); + + /** + * acknowledges a asyncConnect + */ + virtual void ackConnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error); + virtual void ackConnect(am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error); + + /** + * acknowledges a asyncDisconnect + */ + virtual void ackDisconnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error); + virtual void ackDisconnect(am_Handle_s handle, am_connectionID_t connectionID, am_Error_e error); + + /** + * acknowledges a asyncsetSinkVolume + */ + virtual void ackSetSinkVolumeChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_volume_t volume, am_Error_e error); + virtual void ackSetSinkVolumeChange(am_Handle_s handle, am_volume_t volume, am_Error_e error); + + /** + * acknowledges a asyncsetSourceVolume + */ + virtual void ackSetSourceVolumeChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_volume_t volume, am_Error_e error); + virtual void ackSetSourceVolumeChange(am_Handle_s handle, am_volume_t volume, am_Error_e error); + + /** + * acknowlegde for asyncSetSourceState + */ + virtual void ackSetSourceState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error); + virtual void ackSetSourceState(am_Handle_s handle, am_Error_e error); + + /** + * acknowledges asyncSetSinkSoundProperties + */ + virtual void ackSetSinkSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error); + virtual void ackSetSinkSoundProperties(am_Handle_s handle, am_Error_e error); + + /** + * acknowledges asyncSetSinkSoundProperty + */ + virtual void ackSetSinkSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error); + virtual void ackSetSinkSoundProperty(am_Handle_s handle, am_Error_e error); + + /** + * acknowledges asyncSetSourceSoundProperties + */ + virtual void ackSetSourceSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error); + virtual void ackSetSourceSoundProperties(am_Handle_s handle, am_Error_e error); + + /** + * acknowledges asyncSetSourceSoundProperty + */ + virtual void ackSetSourceSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error); + virtual void ackSetSourceSoundProperty(am_Handle_s handle, am_Error_e error); + + /** + * acknowledges asyncCrossFade + */ + virtual void ackCrossFading(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_HotSink_e hotSink, am_Error_e error); + virtual void ackCrossFading(am_Handle_s handle, am_HotSink_e hotSink, am_Error_e error); + + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ + virtual void ackSourceVolumeTick(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume); + virtual void ackSourceVolumeTick(am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume); + + /** + * acknowledges a volume tick. This can be used to display volumechanges during + * ramps + */ + virtual void ackSinkVolumeTick(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume); + virtual void ackSinkVolumeTick(am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume); + + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + virtual void peekDomain(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_domainID_t& domainID, am_Error_e& error); + virtual void peekDomain(std::string name, am_domainID_t& domainID, am_Error_e& error); + + /** + * registers a domain + (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + virtual void registerDomain(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Domain_s domainData, std::string returnBusname, std::string returnInterface, am_domainID_t& domainID, am_Error_e& error); + virtual void registerDomain(am_Domain_s domainData, std::string returnBusname, std::string returnInterface, am_domainID_t& domainID, am_Error_e& error); + + /** + * deregisters a domain. All sources, sinks, gateways and crossfaders from that + * domain will be removed as well. + (at)return E_OK on succes, E_NON_EXISTENT if + * not found E_UNKOWN on error + */ + virtual void deregisterDomain(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID, am_Error_e& error); + virtual void deregisterDomain(am_domainID_t domainID, am_Error_e& error); + + /** + * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + virtual void registerGateway(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Gateway_s gatewayData, am_gatewayID_t& gatewayID, am_Error_e& error); + virtual void registerGateway(am_Gateway_s gatewayData, am_gatewayID_t& gatewayID, am_Error_e& error); + + /** + * registers a converter. (at)return E_OK on succes, E_ALREADY_EXISTENT if already + * registered E_UNKOWN on error + */ + virtual void registerConverter(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Converter_s converterData, am_converterID_t& converterID, am_Error_e& error); + virtual void registerConverter(am_Converter_s converterData, am_converterID_t& converterID, am_Error_e& error); + + /** + * deregisters a gateway. Also removes all sinks and sources of the controlling + * domain. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + virtual void deregisterGateway(const std::shared_ptr<CommonAPI::ClientId> clientId, am_gatewayID_t gatewayID, am_Error_e& error); + virtual void deregisterGateway(am_gatewayID_t gatewayID, am_Error_e& error); + + /** + * deregisters a converter. Also removes all sinks and sources of the controlling + * domain. + */ + virtual void deregisterConverter(const std::shared_ptr<CommonAPI::ClientId> clientId, am_converterID_t converterID, am_Error_e& error); + virtual void deregisterConverter(am_converterID_t converterID, am_Error_e& error); + + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + virtual void peekSink(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sinkID_t& sinkID, am_Error_e& error); + virtual void peekSink(std::string name, am_sinkID_t& sinkID, am_Error_e& error); + + /** + * Registers a sink. If the sink is part of a gateway, the listconnectionFormats + * is copied to the gatewayInformation + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + virtual void registerSink(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Sink_s sinkData, am_sinkID_t& sinkID, am_Error_e& error); + virtual void registerSink(am_Sink_s sinkData, am_sinkID_t& sinkID, am_Error_e& error); + + /** + * deregisters a sink. + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + virtual void deregisterSink(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_Error_e& error); + virtual void deregisterSink(am_sinkID_t sinkID, am_Error_e& error); + + /** + * 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. + (at)return E_OK on success, + * E_UNKNOWN on error + */ + virtual void peekSource(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sourceID_t& sourceID, am_Error_e& error); + virtual void peekSource(std::string name, am_sourceID_t& sourceID, am_Error_e& error); + + /** + * registers a source. If the source is part of a gateway, the + * listconnectionFormats is copied to the gatewayInformation + (at)return E_OK on + * success, E_UNKNOWN on error, E_ALREADY_EXIST if either name or sourceID + * already exists + */ + virtual void registerSource(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Source_s sourceData, am_sourceID_t& sourceID, am_Error_e& error); + virtual void registerSource(am_Source_s sourceData, am_sourceID_t& sourceID, am_Error_e& error); + + /** + * deregisters a source + (at)return E_OK on succes, E_NON_EXISTENT if not found + * E_UNKOWN on error + */ + virtual void deregisterSource(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_Error_e& error); + virtual void deregisterSource(am_sourceID_t sourceID, am_Error_e& error); + + /** + * this function registers a crossfader. + (at)return E_OK on succes, + * E_ALREADY_EXISTENT if already registered E_UNKOWN on error + */ + virtual void registerCrossfader(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Crossfader_s crossfaderData, am_crossfaderID_t& crossfaderID, am_Error_e& error); + virtual void registerCrossfader(am_Crossfader_s crossfaderData, am_crossfaderID_t& crossfaderID, am_Error_e& error); + + /** + * this function deregisters a crossfader. removes all sources and sinks assiated + * as well. + (at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on + * error + */ + virtual void deregisterCrossfader(const std::shared_ptr<CommonAPI::ClientId> clientId, am_crossfaderID_t crossfaderID, am_Error_e& error); + virtual void deregisterCrossfader(am_crossfaderID_t crossfaderID, am_Error_e& error); + + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + virtual void peekSourceClassID(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sourceClass_t& sourceClassID, am_Error_e& error); + virtual void peekSourceClassID(std::string name, am_sourceClass_t& sourceClassID, am_Error_e& error); + + /** + * this function peeks a sourceclassID. It is used by the RoutingPlugins to + * determine the SinkClassIDs of a sinkClass. + (at)return E_OK on succes, + * E_DATABASE_ERROR on error + */ + virtual void peekSinkClassID(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string name, am_sinkClass_t& sinkClassID, am_Error_e& error); + virtual void peekSinkClassID(std::string name, am_sinkClass_t& sinkClassID, am_Error_e& error); + + /** + * is called when a low level interrupt changes it status. + */ + virtual void hookInterruptStatusChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_InterruptState_e interruptState); + virtual void hookInterruptStatusChange(am_sourceID_t sourceID, am_InterruptState_e interruptState); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID); + virtual void hookDomainRegistrationComplete(am_domainID_t domainID); + + /** + * is called when a sink changes its availability + */ + virtual void hookSinkAvailablityStatusChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_Availability_s availability); + virtual void hookSinkAvailablityStatusChange(am_sinkID_t sinkID, am_Availability_s availability); + + /** + * is called when a source changes its availability + */ + virtual void hookSourceAvailablityStatusChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_Availability_s availability); + virtual void hookSourceAvailablityStatusChange(am_sourceID_t sourceID, am_Availability_s availability); + + /** + * is called when a domain changes its status. This used for early domains only + */ + virtual void hookDomainStateChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID, am_DomainState_e domainState); + virtual void hookDomainStateChange(am_domainID_t domainID, am_DomainState_e domainState); + + /** + * is called when the timinginformation (delay) changed for a connection. + */ + virtual void hookTimingInformationChanged(const std::shared_ptr<CommonAPI::ClientId> clientId, am_connectionID_t connectionID, am_timeSync_t delay); + virtual void hookTimingInformationChanged(am_connectionID_t connectionID, am_timeSync_t delay); + + /** + * this function is used to send out all data that has been changed in an early + * state. + (at)return E_OK on success, E_UNKNOWN on error + */ + virtual void sendChangedData(const std::shared_ptr<CommonAPI::ClientId> clientId, am_EarlyData_L earlyData); + virtual void sendChangedData(am_EarlyData_L earlyData); + + /** + * updates data of an gateway. (at)return E_OK on success, E_NON_EXISTENT if the + * gatewayID is not valid. + */ + virtual void updateGateway(const std::shared_ptr<CommonAPI::ClientId> clientId, am_gatewayID_t gatewayID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error); + virtual void updateGateway(am_gatewayID_t gatewayID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error); + + /** + * updates data of an converter. (at)return E_OK on success, E_NON_EXISTENT if the + * converterID is not valid. + */ + virtual void updateConverter(const std::shared_ptr<CommonAPI::ClientId> clientId, am_converterID_t converterID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error); + virtual void updateConverter(am_converterID_t converterID, am_ConnectionFormat_L listSourceFormats, am_ConnectionFormat_L listSinkFormats, am_Convertion_L convertionMatrix, am_Error_e& error); + + /** + * updates data of an sink. (at)return E_OK on success, E_NON_EXISTENT if the + * sinkID is not valid. + */ + virtual void updateSink(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_sinkClass_t sinkClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error); + virtual void updateSink(am_sinkID_t sinkID, am_sinkClass_t sinkClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error); + + /** + * updates data of an source. (at)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 void updateSource(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_sourceClass_t sourceClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error); + virtual void updateSource(am_sourceID_t sourceID, am_sourceClass_t sourceClassID, am_SoundProperty_L listSoundProperties, am_ConnectionFormat_L listConnectionFormats, am_MainSoundProperty_L listMainSoundProperties, am_Error_e& error); + + /** + * acknowledges a asyncSetSinkVolumes + */ + virtual void ackSetVolumes(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Volumes_L listvolumes, am_Error_e error); + virtual void ackSetVolumes(am_Handle_s handle, am_Volumes_L listvolumes, am_Error_e error); + + /** + * The acknowledge of the SinkNotificationConfiguration + */ + virtual void ackSinkNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error); + virtual void ackSinkNotificationConfiguration(am_Handle_s handle, am_Error_e error); + + /** + * The acknowledge of the SourceNotificationConfiguration + */ + virtual void ackSourceNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Error_e error); + virtual void ackSourceNotificationConfiguration(am_Handle_s handle, am_Error_e error); + + /** + * is called whenever a notified value needs to be send + */ + virtual void hookSinkNotificationDataChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_NotificationPayload_s payload); + virtual void hookSinkNotificationDataChange(am_sinkID_t sinkID, am_NotificationPayload_s payload); + + /** + * is called whenever a notified value needs to be send + */ + virtual void hookSourceNotificationDataChange(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_NotificationPayload_s payload); + virtual void hookSourceNotificationDataChange(am_sourceID_t sourceID, am_NotificationPayload_s payload); + + virtual void confirmRoutingRundown(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string domainName); + virtual void confirmRoutingRundown(std::string domainName); + + + + +protected: + /** + * This attribute signals to the clients the current routing state. + A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ + virtual bool trySetRoutingReadyAttribute(am_RoutingReady_e value); + virtual bool validateRoutingReadyAttributeRequestedValue(const am_RoutingReady_e& value); + class RemoteEventHandler: public virtual RoutingControlObserverStubRemoteEvent { + public: + RemoteEventHandler(RoutingControlObserverStubDefault* defaultStub); + + /** + * This attribute signals to the clients the current routing state. + A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ + + + private: + RoutingControlObserverStubDefault* defaultStub_; + }; +private: + RoutingControlObserverStubDefault::RemoteEventHandler remoteEventHandler_; + + /** + * This attribute signals to the clients the current routing state. + A client + * should notify himself to this attribute in order to know the current state and + * act accordingly. + */ + am_RoutingReady_e routingReadyAttributeValue_; + + CommonAPI::Version interfaceVersion_; +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Routing_Control_Observer_STUB_DEFAULT_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxy.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxy.h new file mode 100644 index 0000000..76f5a8e --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxy.h @@ -0,0 +1,712 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * This class implements everything from Audiomanager -> RoutingAdapter + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_PROXY_H_ +#define ORG_GENIVI_AM_Routing_Control_PROXY_H_ + +#include "RoutingControlProxyBase.h" + + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +template <typename ... _AttributeExtensions> +class RoutingControlProxy: virtual public RoutingControl, virtual public RoutingControlProxyBase +, public _AttributeExtensions... { +public: + RoutingControlProxy(std::shared_ptr<CommonAPI::Proxy> delegate); + ~RoutingControlProxy(); + + typedef RoutingControl InterfaceType; + + + + + /** + * aborts an asynchronous action. + (at)return E_OK on success, E_UNKNOWN on error, + * E_NON_EXISTENT if handle was not found + * + * Calls asyncAbort with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncAbort(const am_Handle_s& handle, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncAbort with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncAbortAsync(const am_Handle_s& handle, AsyncAbortAsyncCallback callback); + /** + * connects a source to a sink + (at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + * + * Calls asyncConnect with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + 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); + /** + * Calls asyncConnect with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> 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); + /** + * disconnect a connection with given connectionID + (at)return E_OK on success, + * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found + * + * Calls asyncDisconnect with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncDisconnect with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, AsyncDisconnectAsyncCallback callback); + /** + * 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 + * + * Calls asyncSetSinkVolume with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + 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); + /** + * Calls asyncSetSinkVolume with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> 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); + /** + * 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 + * + * Calls asyncSetSourceVolume with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + 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); + /** + * Calls asyncSetSourceVolume with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> 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); + /** + * This function is used to set the source state of a particular + * source. + (at)return E_OK on success, E_UNKNOWN on error + * + * Calls asyncSetSourceState with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncSetSourceState(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncSetSourceState with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncSetSourceStateAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, AsyncSetSourceStateAsyncCallback callback); + /** + * 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 + * + * Calls asyncSetSinkSoundProperties with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncSetSinkSoundProperties(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncSetSinkSoundProperties with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, AsyncSetSinkSoundPropertiesAsyncCallback callback); + /** + * 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 + * + * Calls asyncSetSinkSoundProperty with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncSetSinkSoundProperty(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncSetSinkSoundProperty with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, AsyncSetSinkSoundPropertyAsyncCallback callback); + /** + * 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 + * + * Calls asyncSetSourceSoundProperties with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncSetSourceSoundProperties(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncSetSourceSoundProperties with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, AsyncSetSourceSoundPropertiesAsyncCallback callback); + /** + * 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 + * + * Calls asyncSetSourceSoundProperty with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncSetSourceSoundProperty(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncSetSourceSoundProperty with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, AsyncSetSourceSoundPropertyAsyncCallback callback); + /** + * this function triggers crossfading. + (at)return E_OK on success, E_UNKNOWN on + * error + * + * Calls asyncCrossFade with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + 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); + /** + * Calls asyncCrossFade with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> 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); + /** + * 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 + * + * Calls setDomainState with synchronous semantics. + * + * All const parameters are input parameters to this method. + * All non-const parameters will be filled with the returned values. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void setDomainState(const am_domainID_t& domainID, const am_DomainState_e& domainState, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls setDomainState with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> setDomainStateAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, SetDomainStateAsyncCallback callback); + /** + * Calls asyncSetVolumes with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncSetVolumes(const am_Handle_s& handle, const am_Volumes_L& volumes, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncSetVolumes with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& volumes, AsyncSetVolumesAsyncCallback callback); + /** + * Calls asyncSetSinkNotificationConfiguration with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncSetSinkNotificationConfiguration(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncSetSinkNotificationConfiguration with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncSetSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSinkNotificationConfigurationAsyncCallback callback); + /** + * Calls asyncSetSourceNotificationConfiguration with synchronous semantics. + * + * All const parameters are input parameters to this method. + * The CallStatus will be filled when the method returns and indicate either + * "SUCCESS" or which type of error has occurred. In case of an error, ONLY the CallStatus + * will be set. + */ + virtual void asyncSetSourceNotificationConfiguration(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus); + /** + * Calls asyncSetSourceNotificationConfiguration with asynchronous semantics. + * + * The provided callback will be called when the reply to this call arrives or + * an error occurs during the call. The CallStatus will indicate either "SUCCESS" + * or which type of error has occurred. In case of any error, ONLY the CallStatus + * will have a defined value. + * The std::future returned by this method will be fulfilled at arrival of the reply. + * It will provide the same value for CallStatus as will be handed to the callback. + */ + virtual std::future<CommonAPI::CallStatus> asyncSetSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSourceNotificationConfigurationAsyncCallback callback); + + + /** + * Returns the CommonAPI address of the remote partner this proxy communicates with. + */ + virtual std::string getAddress() const; + + /** + * Returns the domain of the remote partner this proxy communicates with. + */ + virtual const std::string& getDomain() const; + + /** + * Returns the service ID of the remote partner this proxy communicates with. + */ + virtual const std::string& getServiceId() const; + + /** + * Returns the instance ID of the remote partner this proxy communicates with. + */ + virtual const std::string& getInstanceId() const; + + /** + * Returns true if the remote partner for this proxy is currently known to be available. + */ + virtual bool isAvailable() const; + + /** + * Returns true if the remote partner for this proxy is available. + */ + virtual bool isAvailableBlocking() const; + + /** + * Returns the wrapper class that is used to (de-)register for notifications about + * the availability of the remote partner of this proxy. + */ + virtual CommonAPI::ProxyStatusEvent& getProxyStatusEvent(); + + /** + * Returns the wrapper class that is used to access version information of the remote + * partner of this proxy. + */ + virtual CommonAPI::InterfaceVersionAttribute& getInterfaceVersionAttribute(); + + private: + std::shared_ptr<RoutingControlProxyBase> delegate_; +}; + +#ifdef WIN32 + typedef RoutingControlProxy<CommonAPI::WINDummyAttributeExtension<CommonAPI::WINDummyAttribute>> RoutingControlProxyDefault; +#else + typedef RoutingControlProxy<> RoutingControlProxyDefault; +#endif + + +// +// RoutingControlProxy Implementation +// +template <typename ... _AttributeExtensions> +RoutingControlProxy<_AttributeExtensions...>::RoutingControlProxy(std::shared_ptr<CommonAPI::Proxy> delegate): + _AttributeExtensions(*(std::dynamic_pointer_cast<RoutingControlProxyBase>(delegate)))..., + delegate_(std::dynamic_pointer_cast<RoutingControlProxyBase>(delegate)) { +} + +template <typename ... _AttributeExtensions> +RoutingControlProxy<_AttributeExtensions...>::~RoutingControlProxy() { +} + +/** + * aborts an asynchronous action. +(at)return E_OK on success, E_UNKNOWN on error, + * E_NON_EXISTENT if handle was not found + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncAbort(const am_Handle_s& handle, CommonAPI::CallStatus& callStatus) { + delegate_->asyncAbort(handle, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncAbortAsync(const am_Handle_s& handle, AsyncAbortAsyncCallback callback) { + return delegate_->asyncAbortAsync(handle, callback); +} +/** + * connects a source to a sink +(at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::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) { + delegate_->asyncConnect(handle, connectionID, sourceID, sinkID, connectionFormat, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::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) { + return delegate_->asyncConnectAsync(handle, connectionID, sourceID, sinkID, connectionFormat, callback); +} +/** + * disconnect a connection with given connectionID +(at)return E_OK on success, + * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, CommonAPI::CallStatus& callStatus) { + delegate_->asyncDisconnect(handle, connectionID, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, AsyncDisconnectAsyncCallback callback) { + return delegate_->asyncDisconnectAsync(handle, connectionID, callback); +} +/** + * 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 + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::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) { + delegate_->asyncSetSinkVolume(handle, sinkID, volume, ramp, time, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::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) { + return delegate_->asyncSetSinkVolumeAsync(handle, sinkID, volume, ramp, time, callback); +} +/** + * 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 + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::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) { + delegate_->asyncSetSourceVolume(handle, sourceID, volume, ramp, time, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::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) { + return delegate_->asyncSetSourceVolumeAsync(handle, sourceID, volume, ramp, time, callback); +} +/** + * This function is used to set the source state of a particular + * source. +(at)return E_OK on success, E_UNKNOWN on error + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncSetSourceState(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, CommonAPI::CallStatus& callStatus) { + delegate_->asyncSetSourceState(handle, sourceID, state, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncSetSourceStateAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, AsyncSetSourceStateAsyncCallback callback) { + return delegate_->asyncSetSourceStateAsync(handle, sourceID, state, callback); +} +/** + * 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 + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncSetSinkSoundProperties(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus) { + delegate_->asyncSetSinkSoundProperties(handle, sinkID, listSoundProperties, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, AsyncSetSinkSoundPropertiesAsyncCallback callback) { + return delegate_->asyncSetSinkSoundPropertiesAsync(handle, sinkID, listSoundProperties, callback); +} +/** + * 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 + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncSetSinkSoundProperty(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus) { + delegate_->asyncSetSinkSoundProperty(handle, sinkID, soundProperty, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, AsyncSetSinkSoundPropertyAsyncCallback callback) { + return delegate_->asyncSetSinkSoundPropertyAsync(handle, sinkID, soundProperty, callback); +} +/** + * 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 + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncSetSourceSoundProperties(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus) { + delegate_->asyncSetSourceSoundProperties(handle, sourceID, listSoundProperties, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, AsyncSetSourceSoundPropertiesAsyncCallback callback) { + return delegate_->asyncSetSourceSoundPropertiesAsync(handle, sourceID, listSoundProperties, callback); +} +/** + * 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 + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncSetSourceSoundProperty(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus) { + delegate_->asyncSetSourceSoundProperty(handle, sourceID, soundProperty, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, AsyncSetSourceSoundPropertyAsyncCallback callback) { + return delegate_->asyncSetSourceSoundPropertyAsync(handle, sourceID, soundProperty, callback); +} +/** + * this function triggers crossfading. +(at)return E_OK on success, E_UNKNOWN on + * error + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::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) { + delegate_->asyncCrossFade(handle, crossfaderID, hotSink, rampType, time, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::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) { + return delegate_->asyncCrossFadeAsync(handle, crossfaderID, hotSink, rampType, time, callback); +} +/** + * 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 + */ +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::setDomainState(const am_domainID_t& domainID, const am_DomainState_e& domainState, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->setDomainState(domainID, domainState, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::setDomainStateAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, SetDomainStateAsyncCallback callback) { + return delegate_->setDomainStateAsync(domainID, domainState, callback); +} +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncSetVolumes(const am_Handle_s& handle, const am_Volumes_L& volumes, CommonAPI::CallStatus& callStatus) { + delegate_->asyncSetVolumes(handle, volumes, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& volumes, AsyncSetVolumesAsyncCallback callback) { + return delegate_->asyncSetVolumesAsync(handle, volumes, callback); +} +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncSetSinkNotificationConfiguration(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus) { + delegate_->asyncSetSinkNotificationConfiguration(handle, sinkID, notificationConfiguration, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncSetSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSinkNotificationConfigurationAsyncCallback callback) { + return delegate_->asyncSetSinkNotificationConfigurationAsync(handle, sinkID, notificationConfiguration, callback); +} +template <typename ... _AttributeExtensions> +void RoutingControlProxy<_AttributeExtensions...>::asyncSetSourceNotificationConfiguration(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus) { + delegate_->asyncSetSourceNotificationConfiguration(handle, sourceID, notificationConfiguration, callStatus); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> RoutingControlProxy<_AttributeExtensions...>::asyncSetSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSourceNotificationConfigurationAsyncCallback callback) { + return delegate_->asyncSetSourceNotificationConfigurationAsync(handle, sourceID, notificationConfiguration, callback); +} + +template <typename ... _AttributeExtensions> +std::string RoutingControlProxy<_AttributeExtensions...>::getAddress() const { + return delegate_->getAddress(); +} + +template <typename ... _AttributeExtensions> +const std::string& RoutingControlProxy<_AttributeExtensions...>::getDomain() const { + return delegate_->getDomain(); +} + +template <typename ... _AttributeExtensions> +const std::string& RoutingControlProxy<_AttributeExtensions...>::getServiceId() const { + return delegate_->getServiceId(); +} + +template <typename ... _AttributeExtensions> +const std::string& RoutingControlProxy<_AttributeExtensions...>::getInstanceId() const { + return delegate_->getInstanceId(); +} + +template <typename ... _AttributeExtensions> +bool RoutingControlProxy<_AttributeExtensions...>::isAvailable() const { + return delegate_->isAvailable(); +} + +template <typename ... _AttributeExtensions> +bool RoutingControlProxy<_AttributeExtensions...>::isAvailableBlocking() const { + return delegate_->isAvailableBlocking(); +} + +template <typename ... _AttributeExtensions> +CommonAPI::ProxyStatusEvent& RoutingControlProxy<_AttributeExtensions...>::getProxyStatusEvent() { + return delegate_->getProxyStatusEvent(); +} + +template <typename ... _AttributeExtensions> +CommonAPI::InterfaceVersionAttribute& RoutingControlProxy<_AttributeExtensions...>::getInterfaceVersionAttribute() { + return delegate_->getInterfaceVersionAttribute(); +} + + +} // namespace am +} // namespace genivi +} // namespace org + + +#endif // ORG_GENIVI_AM_Routing_Control_PROXY_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxyBase.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxyBase.h new file mode 100644 index 0000000..dd14bde --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxyBase.h @@ -0,0 +1,163 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * 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 <org/genivi/am.h> + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/InputStream.h> +#include <CommonAPI/OutputStream.h> +#include <CommonAPI/SerializableStruct.h> +#include <cstdint> +#include <vector> + +#include <CommonAPI/Proxy.h> +#include <functional> +#include <future> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +class RoutingControlProxyBase: virtual public CommonAPI::Proxy { + public: + + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncAbortAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncConnectAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncDisconnectAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncSetSinkVolumeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncSetSourceVolumeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncSetSourceStateAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncSetSinkSoundPropertiesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncSetSinkSoundPropertyAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncSetSourceSoundPropertiesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncSetSourceSoundPropertyAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncCrossFadeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> SetDomainStateAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncSetVolumesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> AsyncSetSinkNotificationConfigurationAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&)> 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<CommonAPI::CallStatus> 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_ConnectionFormat_e 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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<CommonAPI::CallStatus> 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_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStub.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStub.h new file mode 100644 index 0000000..069fa88 --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStub.h @@ -0,0 +1,198 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * This class implements everything from Audiomanager -> RoutingAdapter + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_STUB_H_ +#define ORG_GENIVI_AM_Routing_Control_STUB_H_ + + + +#include <org/genivi/am.h> + +#include "RoutingControl.h" + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/InputStream.h> +#include <CommonAPI/OutputStream.h> +#include <CommonAPI/SerializableStruct.h> +#include <cstdint> +#include <vector> + +#include <CommonAPI/Stub.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +/** + * Receives messages from remote and handles all dispatching of deserialized calls + * to a stub for the service RoutingControl. Also provides means to send broadcasts + * and attribute-changed-notifications of observable attributes as defined by this service. + * An application developer should not need to bother with this class. + */ +class RoutingControlStubAdapter: virtual public CommonAPI::StubAdapter, public RoutingControl { + public: + + + + virtual void deactivateManagedInstances() = 0; +protected: + /** + * Defines properties for storing the ClientIds of clients / proxies that have + * subscribed to the selective broadcasts + */ +}; + + +/** + * Defines the necessary callbacks to handle remote set events related to the attributes + * defined in the IDL description for RoutingControl. + * For each attribute two callbacks are defined: + * - a verification callback that allows to verify the requested value and to prevent setting + * e.g. an invalid value ("onRemoteSet<AttributeName>"). + * - an action callback to do local work after the attribute value has been changed + * ("onRemote<AttributeName>Changed"). + * + * This class and the one below are the ones an application developer needs to have + * a look at if he wants to implement a service. + */ +class RoutingControlStubRemoteEvent { + public: + virtual ~RoutingControlStubRemoteEvent() { } + +}; + + +/** + * Defines the interface that must be implemented by any class that should provide + * the service RoutingControl to remote clients. + * This class and the one above are the ones an application developer needs to have + * a look at if he wants to implement a service. + */ +class RoutingControlStub: public virtual CommonAPI::Stub<RoutingControlStubAdapter, RoutingControlStubRemoteEvent> { +public: + virtual ~RoutingControlStub() { } + virtual const CommonAPI::Version& getInterfaceVersion(std::shared_ptr<CommonAPI::ClientId> clientId) = 0; + + + /** + * aborts an asynchronous action. + (at)return E_OK on success, E_UNKNOWN on error, + * E_NON_EXISTENT if handle was not found + */ + /// This is the method that will be called on remote calls on the method asyncAbort. + virtual void asyncAbort(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle) = 0; + /** + * connects a source to a sink + (at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + */ + /// This is the method that will be called on remote calls on the method asyncConnect. + virtual void asyncConnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID, am_sourceID_t sourceID, am_sinkID_t sinkID, am_CustomConnectionFormat_t connectionFormat) = 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 + */ + /// This is the method that will be called on remote calls on the method asyncDisconnect. + virtual void asyncDisconnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID) = 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 + */ + /// This is the method that will be called on remote calls on the method asyncSetSinkVolume. + virtual void asyncSetSinkVolume(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time) = 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 + */ + /// This is the method that will be called on remote calls on the method asyncSetSourceVolume. + virtual void asyncSetSourceVolume(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time) = 0; + /** + * This function is used to set the source state of a particular + * source. + (at)return E_OK on success, E_UNKNOWN on error + */ + /// This is the method that will be called on remote calls on the method asyncSetSourceState. + virtual void asyncSetSourceState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_SourceState_e state) = 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 + */ + /// This is the method that will be called on remote calls on the method asyncSetSinkSoundProperties. + virtual void asyncSetSinkSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_L listSoundProperties) = 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 + */ + /// This is the method that will be called on remote calls on the method asyncSetSinkSoundProperty. + virtual void asyncSetSinkSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_s soundProperty) = 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 + */ + /// This is the method that will be called on remote calls on the method asyncSetSourceSoundProperties. + virtual void asyncSetSourceSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_L listSoundProperties) = 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 + */ + /// This is the method that will be called on remote calls on the method asyncSetSourceSoundProperty. + virtual void asyncSetSourceSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_s soundProperty) = 0; + /** + * this function triggers crossfading. + (at)return E_OK on success, E_UNKNOWN on + * error + */ + /// This is the method that will be called on remote calls on the method asyncCrossFade. + virtual void asyncCrossFade(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_crossfaderID_t crossfaderID, am_HotSink_e hotSink, am_CustomRampType_t rampType, am_time_t time) = 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 + */ + /// This is the method that will be called on remote calls on the method setDomainState. + virtual void setDomainState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID, am_DomainState_e domainState, am_Error_e& error) = 0; + /// This is the method that will be called on remote calls on the method asyncSetVolumes. + virtual void asyncSetVolumes(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Volumes_L volumes) = 0; + /// This is the method that will be called on remote calls on the method asyncSetSinkNotificationConfiguration. + virtual void asyncSetSinkNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_NotificationConfiguration_s notificationConfiguration) = 0; + /// This is the method that will be called on remote calls on the method asyncSetSourceNotificationConfiguration. + virtual void asyncSetSourceNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_NotificationConfiguration_s notificationConfiguration) = 0; + + using CommonAPI::Stub<RoutingControlStubAdapter, RoutingControlStubRemoteEvent>::initStubAdapter; + typedef CommonAPI::Stub<RoutingControlStubAdapter, RoutingControlStubRemoteEvent>::StubAdapterType StubAdapterType; + typedef CommonAPI::Stub<RoutingControlStubAdapter, RoutingControlStubRemoteEvent>::RemoteEventHandlerType RemoteEventHandlerType; + typedef RoutingControlStubRemoteEvent RemoteEventType; + typedef RoutingControl StubInterface; +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Routing_Control_STUB_H_ diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.cpp new file mode 100644 index 0000000..64423a9 --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.cpp @@ -0,0 +1,224 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +#include <org/genivi/am/RoutingControlStubDefault.h> + +namespace org { +namespace genivi { +namespace am { + +RoutingControlStubDefault::RoutingControlStubDefault(): + remoteEventHandler_(this), + interfaceVersion_(RoutingControl::getInterfaceVersion()) { +} + +const CommonAPI::Version& RoutingControlStubDefault::getInterfaceVersion(std::shared_ptr<CommonAPI::ClientId> clientId) { + return interfaceVersion_; +} + +RoutingControlStubRemoteEvent* RoutingControlStubDefault::initStubAdapter(const std::shared_ptr<RoutingControlStubAdapter>& stubAdapter) { + CommonAPI::Stub<RoutingControlStubAdapter, RoutingControlStubRemoteEvent>::stubAdapter_ = stubAdapter; + return &remoteEventHandler_; +} + + +/** + * aborts an asynchronous action. +(at)return E_OK on success, E_UNKNOWN on error, + * E_NON_EXISTENT if handle was not found + */ +void RoutingControlStubDefault::asyncAbort(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle) { + // Call old style methods in default + asyncAbort(handle); +} +void RoutingControlStubDefault::asyncAbort(am_Handle_s handle) { + // No operation in default +} + +/** + * connects a source to a sink +(at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + */ +void RoutingControlStubDefault::asyncConnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID, am_sourceID_t sourceID, am_sinkID_t sinkID, am_CustomConnectionFormat_t connectionFormat) { + // Call old style methods in default + asyncConnect(handle, connectionID, sourceID, sinkID, connectionFormat); +} +void RoutingControlStubDefault::asyncConnect(am_Handle_s handle, am_connectionID_t connectionID, am_sourceID_t sourceID, am_sinkID_t sinkID, am_CustomConnectionFormat_t connectionFormat) { + // No operation in default +} + +/** + * disconnect a connection with given connectionID +(at)return E_OK on success, + * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found + */ +void RoutingControlStubDefault::asyncDisconnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID) { + // Call old style methods in default + asyncDisconnect(handle, connectionID); +} +void RoutingControlStubDefault::asyncDisconnect(am_Handle_s handle, am_connectionID_t connectionID) { + // No operation in default +} + +/** + * 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 + */ +void RoutingControlStubDefault::asyncSetSinkVolume(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time) { + // Call old style methods in default + asyncSetSinkVolume(handle, sinkID, volume, ramp, time); +} +void RoutingControlStubDefault::asyncSetSinkVolume(am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time) { + // No operation in default +} + +/** + * 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 + */ +void RoutingControlStubDefault::asyncSetSourceVolume(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time) { + // Call old style methods in default + asyncSetSourceVolume(handle, sourceID, volume, ramp, time); +} +void RoutingControlStubDefault::asyncSetSourceVolume(am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time) { + // No operation in default +} + +/** + * This function is used to set the source state of a particular + * source. +(at)return E_OK on success, E_UNKNOWN on error + */ +void RoutingControlStubDefault::asyncSetSourceState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_SourceState_e state) { + // Call old style methods in default + asyncSetSourceState(handle, sourceID, state); +} +void RoutingControlStubDefault::asyncSetSourceState(am_Handle_s handle, am_sourceID_t sourceID, am_SourceState_e state) { + // No operation in default +} + +/** + * 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 + */ +void RoutingControlStubDefault::asyncSetSinkSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_L listSoundProperties) { + // Call old style methods in default + asyncSetSinkSoundProperties(handle, sinkID, listSoundProperties); +} +void RoutingControlStubDefault::asyncSetSinkSoundProperties(am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_L listSoundProperties) { + // No operation in default +} + +/** + * 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 + */ +void RoutingControlStubDefault::asyncSetSinkSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_s soundProperty) { + // Call old style methods in default + asyncSetSinkSoundProperty(handle, sinkID, soundProperty); +} +void RoutingControlStubDefault::asyncSetSinkSoundProperty(am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_s soundProperty) { + // No operation in default +} + +/** + * 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 + */ +void RoutingControlStubDefault::asyncSetSourceSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_L listSoundProperties) { + // Call old style methods in default + asyncSetSourceSoundProperties(handle, sourceID, listSoundProperties); +} +void RoutingControlStubDefault::asyncSetSourceSoundProperties(am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_L listSoundProperties) { + // No operation in default +} + +/** + * 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 + */ +void RoutingControlStubDefault::asyncSetSourceSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_s soundProperty) { + // Call old style methods in default + asyncSetSourceSoundProperty(handle, sourceID, soundProperty); +} +void RoutingControlStubDefault::asyncSetSourceSoundProperty(am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_s soundProperty) { + // No operation in default +} + +/** + * this function triggers crossfading. +(at)return E_OK on success, E_UNKNOWN on + * error + */ +void RoutingControlStubDefault::asyncCrossFade(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_crossfaderID_t crossfaderID, am_HotSink_e hotSink, am_CustomRampType_t rampType, am_time_t time) { + // Call old style methods in default + asyncCrossFade(handle, crossfaderID, hotSink, rampType, time); +} +void RoutingControlStubDefault::asyncCrossFade(am_Handle_s handle, am_crossfaderID_t crossfaderID, am_HotSink_e hotSink, am_CustomRampType_t rampType, am_time_t time) { + // No operation in default +} + +/** + * 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 + */ +void RoutingControlStubDefault::setDomainState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID, am_DomainState_e domainState, am_Error_e& error) { + // Call old style methods in default + setDomainState(domainID, domainState, error); +} +void RoutingControlStubDefault::setDomainState(am_domainID_t domainID, am_DomainState_e domainState, am_Error_e& error) { + // No operation in default +} + +void RoutingControlStubDefault::asyncSetVolumes(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Volumes_L volumes) { + // Call old style methods in default + asyncSetVolumes(handle, volumes); +} +void RoutingControlStubDefault::asyncSetVolumes(am_Handle_s handle, am_Volumes_L volumes) { + // No operation in default +} + +void RoutingControlStubDefault::asyncSetSinkNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_NotificationConfiguration_s notificationConfiguration) { + // Call old style methods in default + asyncSetSinkNotificationConfiguration(handle, sinkID, notificationConfiguration); +} +void RoutingControlStubDefault::asyncSetSinkNotificationConfiguration(am_Handle_s handle, am_sinkID_t sinkID, am_NotificationConfiguration_s notificationConfiguration) { + // No operation in default +} + +void RoutingControlStubDefault::asyncSetSourceNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_NotificationConfiguration_s notificationConfiguration) { + // Call old style methods in default + asyncSetSourceNotificationConfiguration(handle, sourceID, notificationConfiguration); +} +void RoutingControlStubDefault::asyncSetSourceNotificationConfiguration(am_Handle_s handle, am_sourceID_t sourceID, am_NotificationConfiguration_s notificationConfiguration) { + // No operation in default +} + + + + +RoutingControlStubDefault::RemoteEventHandler::RemoteEventHandler(RoutingControlStubDefault* defaultStub): + defaultStub_(defaultStub) { +} + +} // namespace am +} // namespace genivi +} // namespace org diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.h new file mode 100644 index 0000000..f92a46f --- /dev/null +++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.h @@ -0,0 +1,176 @@ +/* +* This file was generated by the CommonAPI Generators. +* Used org.genivi.commonapi.core 2.1.6.v20150127. +* Used org.franca.core 0.8.10.201309262002. +* +* +*/ +/** + * This class implements everything from Audiomanager -> RoutingAdapter + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Routing_Control_STUB_DEFAULT_H_ +#define ORG_GENIVI_AM_Routing_Control_STUB_DEFAULT_H_ + + +#include <org/genivi/am/RoutingControlStub.h> +#include <sstream> + +namespace org { +namespace genivi { +namespace am { + +/** + * Provides a default implementation for RoutingControlStubRemoteEvent and + * RoutingControlStub. Method callbacks have an empty implementation, + * remote set calls on attributes will always change the value of the attribute + * to the one received. + * + * Override this stub if you only want to provide a subset of the functionality + * that would be defined for this service, and/or if you do not need any non-default + * behaviour. + */ +class RoutingControlStubDefault : public virtual RoutingControlStub { +public: + RoutingControlStubDefault(); + + RoutingControlStubRemoteEvent* initStubAdapter(const std::shared_ptr<RoutingControlStubAdapter>& stubAdapter); + + const CommonAPI::Version& getInterfaceVersion(std::shared_ptr<CommonAPI::ClientId> clientId); + + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle); + virtual void asyncAbort(am_Handle_s handle); + + /** + * connects a source to a sink + (at)return E_OK on success, E_UNKNOWN on error, + * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match + */ + virtual void asyncConnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID, am_sourceID_t sourceID, am_sinkID_t sinkID, am_CustomConnectionFormat_t connectionFormat); + virtual void asyncConnect(am_Handle_s handle, am_connectionID_t connectionID, am_sourceID_t sourceID, am_sinkID_t sinkID, am_CustomConnectionFormat_t connectionFormat); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_connectionID_t connectionID); + virtual void asyncDisconnect(am_Handle_s handle, am_connectionID_t connectionID); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time); + virtual void asyncSetSinkVolume(am_Handle_s handle, am_sinkID_t sinkID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time); + virtual void asyncSetSourceVolume(am_Handle_s handle, am_sourceID_t sourceID, am_volume_t volume, am_CustomRampType_t ramp, am_time_t time); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_SourceState_e state); + virtual void asyncSetSourceState(am_Handle_s handle, am_sourceID_t sourceID, am_SourceState_e state); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_L listSoundProperties); + virtual void asyncSetSinkSoundProperties(am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_L listSoundProperties); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_s soundProperty); + virtual void asyncSetSinkSoundProperty(am_Handle_s handle, am_sinkID_t sinkID, am_SoundProperty_s soundProperty); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_L listSoundProperties); + virtual void asyncSetSourceSoundProperties(am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_L listSoundProperties); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_s soundProperty); + virtual void asyncSetSourceSoundProperty(am_Handle_s handle, am_sourceID_t sourceID, am_SoundProperty_s soundProperty); + + /** + * this function triggers crossfading. + (at)return E_OK on success, E_UNKNOWN on + * error + */ + virtual void asyncCrossFade(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_crossfaderID_t crossfaderID, am_HotSink_e hotSink, am_CustomRampType_t rampType, am_time_t time); + virtual void asyncCrossFade(am_Handle_s handle, am_crossfaderID_t crossfaderID, am_HotSink_e hotSink, am_CustomRampType_t rampType, am_time_t time); + + /** + * 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 std::shared_ptr<CommonAPI::ClientId> clientId, am_domainID_t domainID, am_DomainState_e domainState, am_Error_e& error); + virtual void setDomainState(am_domainID_t domainID, am_DomainState_e domainState, am_Error_e& error); + + virtual void asyncSetVolumes(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_Volumes_L volumes); + virtual void asyncSetVolumes(am_Handle_s handle, am_Volumes_L volumes); + + virtual void asyncSetSinkNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sinkID_t sinkID, am_NotificationConfiguration_s notificationConfiguration); + virtual void asyncSetSinkNotificationConfiguration(am_Handle_s handle, am_sinkID_t sinkID, am_NotificationConfiguration_s notificationConfiguration); + + virtual void asyncSetSourceNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_Handle_s handle, am_sourceID_t sourceID, am_NotificationConfiguration_s notificationConfiguration); + virtual void asyncSetSourceNotificationConfiguration(am_Handle_s handle, am_sourceID_t sourceID, am_NotificationConfiguration_s notificationConfiguration); + + + + +protected: + class RemoteEventHandler: public virtual RoutingControlStubRemoteEvent { + public: + RemoteEventHandler(RoutingControlStubDefault* defaultStub); + + + private: + RoutingControlStubDefault* defaultStub_; + }; +private: + RoutingControlStubDefault::RemoteEventHandler remoteEventHandler_; + + + CommonAPI::Version interfaceVersion_; +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Routing_Control_STUB_DEFAULT_H_ |