summaryrefslogtreecommitdiff
path: root/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am
diff options
context:
space:
mode:
Diffstat (limited to 'PluginRoutingInterfaceCAPI/src-gen/org/genivi/am')
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControl.h63
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.cpp407
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.h157
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.cpp477
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.h250
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserver.h63
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.cpp1135
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.h357
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.cpp1244
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.h557
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxy.h1921
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxyBase.h401
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStub.h407
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.cpp636
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.h429
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxy.h712
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxyBase.h163
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStub.h198
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.cpp224
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.h176
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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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_