diff options
Diffstat (limited to 'PluginCommandInterfaceCAPI/src-gen/org/genivi/am')
10 files changed, 5328 insertions, 0 deletions
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControl.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControl.h new file mode 100644 index 0000000..106e5ad --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControl.h @@ -0,0 +1,67 @@ +/* +* 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. +* +* +*/ +/** + * The interface towards the Controlling Instance (e.g HMI). It handles the + * communication towards the HMI and other system components who need to interact + * with the audiomanagement. +There are two rules that have to be kept in mind + * when implementing against this interface: + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Command_Control_H_ +#define ORG_GENIVI_AM_Command_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 CommandControl { + public: + virtual ~CommandControl() { } + + static inline const char* getInterfaceId(); + static inline CommonAPI::Version getInterfaceVersion(); +}; + +const char* CommandControl::getInterfaceId() { + static const char* interfaceId = "org.genivi.am.CommandControl"; + return interfaceId; +} + +CommonAPI::Version CommandControl::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_Command_Control_H_ diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.cpp b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.cpp new file mode 100644 index 0000000..bf46af3 --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.cpp @@ -0,0 +1,651 @@ +/* +* 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. +* +* +*/ +/** + * The interface towards the Controlling Instance (e.g HMI). It handles the + * communication towards the HMI and other system components who need to interact + * with the audiomanagement. +There are two rules that have to be kept in mind + * when implementing against this interface: + * @author Christian Mueller + */ +#include "CommandControlDBusProxy.h" + +namespace org { +namespace genivi { +namespace am { + +std::shared_ptr<CommonAPI::DBus::DBusProxy> createCommandControlDBusProxy( + 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<CommandControlDBusProxy>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection); +} + +INITIALIZER(registerCommandControlDBusProxy) { + CommonAPI::DBus::DBusFactory::registerProxyFactoryMethod(CommandControl::getInterfaceId(), + &createCommandControlDBusProxy); +} + +CommandControlDBusProxy::CommandControlDBusProxy( + 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) +, newMainConnection_(*this, "newMainConnection", "(qqqni)"), + removedMainConnection_(*this, "removedMainConnection", "q"), + newSink_(*this, "newSink", "(qs(iq)niq)"), + removedSink_(*this, "removedSink", "q"), + newSource_(*this, "newSource", "(qs(iq)q)"), + removedSource_(*this, "removedSource", "q"), + numberOfSinkClassesChanged_(*this, "numberOfSinkClassesChanged", ""), + numberOfSourceClassesChanged_(*this, "numberOfSourceClassesChanged", ""), + mainConnectionStateChanged_(*this, "mainConnectionStateChanged", "qi"), + mainSinkSoundPropertyChanged_(*this, "mainSinkSoundPropertyChanged", "q(qn)"), + mainSourceSoundPropertyChanged_(*this, "mainSourceSoundPropertyChanged", "q(qn)"), + sinkAvailabilityChanged_(*this, "sinkAvailabilityChanged", "q(iq)"), + sourceAvailabilityChanged_(*this, "sourceAvailabilityChanged", "q(iq)"), + volumeChanged_(*this, "volumeChanged", "qn"), + sinkMuteStateChanged_(*this, "sinkMuteStateChanged", "qi"), + systemPropertyChanged_(*this, "systemPropertyChanged", "(qn)"), + timingInformationChanged_(*this, "timingInformationChanged", "qn"), + sinkUpdated_(*this, "sinkUpdated", "qqa(qn)"), + sourceUpdated_(*this, "sourceUpdated", "qqa(qn)"), + sinkNotification_(*this, "sinkNotification", "q(qn)"), + sourceNotification_(*this, "sourceNotification", "q(qn)"), + mainSinkNotificationConfigurationChanged_(*this, "mainSinkNotificationConfigurationChanged", "q(qin)"), + mainSourceNotificationConfigurationChanged_(*this, "mainSourceNotificationConfigurationChanged", "q(qin)") + { + } + + +CommandControlDBusProxy::NewMainConnectionEvent& CommandControlDBusProxy::getNewMainConnectionEvent() { + return newMainConnection_; +} +CommandControlDBusProxy::RemovedMainConnectionEvent& CommandControlDBusProxy::getRemovedMainConnectionEvent() { + return removedMainConnection_; +} +CommandControlDBusProxy::NewSinkEvent& CommandControlDBusProxy::getNewSinkEvent() { + return newSink_; +} +CommandControlDBusProxy::RemovedSinkEvent& CommandControlDBusProxy::getRemovedSinkEvent() { + return removedSink_; +} +CommandControlDBusProxy::NewSourceEvent& CommandControlDBusProxy::getNewSourceEvent() { + return newSource_; +} +CommandControlDBusProxy::RemovedSourceEvent& CommandControlDBusProxy::getRemovedSourceEvent() { + return removedSource_; +} +CommandControlDBusProxy::NumberOfSinkClassesChangedEvent& CommandControlDBusProxy::getNumberOfSinkClassesChangedEvent() { + return numberOfSinkClassesChanged_; +} +CommandControlDBusProxy::NumberOfSourceClassesChangedEvent& CommandControlDBusProxy::getNumberOfSourceClassesChangedEvent() { + return numberOfSourceClassesChanged_; +} +CommandControlDBusProxy::MainConnectionStateChangedEvent& CommandControlDBusProxy::getMainConnectionStateChangedEvent() { + return mainConnectionStateChanged_; +} +CommandControlDBusProxy::MainSinkSoundPropertyChangedEvent& CommandControlDBusProxy::getMainSinkSoundPropertyChangedEvent() { + return mainSinkSoundPropertyChanged_; +} +CommandControlDBusProxy::MainSourceSoundPropertyChangedEvent& CommandControlDBusProxy::getMainSourceSoundPropertyChangedEvent() { + return mainSourceSoundPropertyChanged_; +} +CommandControlDBusProxy::SinkAvailabilityChangedEvent& CommandControlDBusProxy::getSinkAvailabilityChangedEvent() { + return sinkAvailabilityChanged_; +} +CommandControlDBusProxy::SourceAvailabilityChangedEvent& CommandControlDBusProxy::getSourceAvailabilityChangedEvent() { + return sourceAvailabilityChanged_; +} +CommandControlDBusProxy::VolumeChangedEvent& CommandControlDBusProxy::getVolumeChangedEvent() { + return volumeChanged_; +} +CommandControlDBusProxy::SinkMuteStateChangedEvent& CommandControlDBusProxy::getSinkMuteStateChangedEvent() { + return sinkMuteStateChanged_; +} +CommandControlDBusProxy::SystemPropertyChangedEvent& CommandControlDBusProxy::getSystemPropertyChangedEvent() { + return systemPropertyChanged_; +} +CommandControlDBusProxy::TimingInformationChangedEvent& CommandControlDBusProxy::getTimingInformationChangedEvent() { + return timingInformationChanged_; +} +CommandControlDBusProxy::SinkUpdatedEvent& CommandControlDBusProxy::getSinkUpdatedEvent() { + return sinkUpdated_; +} +CommandControlDBusProxy::SourceUpdatedEvent& CommandControlDBusProxy::getSourceUpdatedEvent() { + return sourceUpdated_; +} +CommandControlDBusProxy::SinkNotificationEvent& CommandControlDBusProxy::getSinkNotificationEvent() { + return sinkNotification_; +} +CommandControlDBusProxy::SourceNotificationEvent& CommandControlDBusProxy::getSourceNotificationEvent() { + return sourceNotification_; +} +CommandControlDBusProxy::MainSinkNotificationConfigurationChangedEvent& CommandControlDBusProxy::getMainSinkNotificationConfigurationChangedEvent() { + return mainSinkNotificationConfigurationChanged_; +} +CommandControlDBusProxy::MainSourceNotificationConfigurationChangedEvent& CommandControlDBusProxy::getMainSourceNotificationConfigurationChangedEvent() { + return mainSourceNotificationConfigurationChanged_; +} + +/** + * connects a source to sink +(at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ +void CommandControlDBusProxy::connect(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_mainConnectionID_t& mainConnectionID, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_sinkID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t, am_Error_e> >::callMethodWithReply( + *this, + "connect", + "qq", + sourceID, sinkID, + callStatus + , mainConnectionID, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::connectAsync(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, ConnectAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_sinkID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t, am_Error_e> >::callMethodAsync( + *this, + "connect", + "qq", + sourceID, sinkID, + std::move(callback)); +} +/** + * disconnects a mainConnection +(at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ +void CommandControlDBusProxy::disconnect(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "disconnect", + "q", + mainConnectionID, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::disconnectAsync(const am_mainConnectionID_t& mainConnectionID, DisconnectAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "disconnect", + "q", + mainConnectionID, + std::move(callback)); +} +/** + * sets the volume for a sink +(at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ +void CommandControlDBusProxy::setVolume(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_mainVolume_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "setVolume", + "qn", + sinkID, volume, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setVolumeAsync(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, SetVolumeAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_mainVolume_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "setVolume", + "qn", + sinkID, volume, + std::move(callback)); +} +/** + * This function is used to increment or decrement the current volume for a + * sink. +(at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ +void CommandControlDBusProxy::volumeStep(const am_sinkID_t& sinkID, const int16_t& volStep, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, int16_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "volumeStep", + "qn", + sinkID, volStep, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volStep, VolumeStepAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, int16_t>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "volumeStep", + "qn", + sinkID, volStep, + std::move(callback)); +} +/** + * sets the mute state of a sink +(at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ +void CommandControlDBusProxy::setSinkMuteState(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_MuteState_e>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "setSinkMuteState", + "qi", + sinkID, muteState, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setSinkMuteStateAsync(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, SetSinkMuteStateAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_MuteState_e>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "setSinkMuteState", + "qi", + sinkID, muteState, + std::move(callback)); +} +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +void CommandControlDBusProxy::setMainSinkSoundProperty(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_MainSoundProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "setMainSinkSoundProperty", + "q(qn)", + sinkID, soundProperty, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setMainSinkSoundPropertyAsync(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, SetMainSinkSoundPropertyAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_MainSoundProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "setMainSinkSoundProperty", + "q(qn)", + sinkID, soundProperty, + std::move(callback)); +} +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +void CommandControlDBusProxy::setMainSourceSoundProperty(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_MainSoundProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "setMainSourceSoundProperty", + "q(qn)", + sourceID, soundProperty, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setMainSourceSoundPropertyAsync(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, SetMainSourceSoundPropertyAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_MainSoundProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "setMainSourceSoundProperty", + "q(qn)", + sourceID, soundProperty, + std::move(callback)); +} +/** + * is used to set a specific system property. +(at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ +void CommandControlDBusProxy::setSystemProperty(const am_SystemProperty_s& property, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_SystemProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "setSystemProperty", + "(qn)", + property, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setSystemPropertyAsync(const am_SystemProperty_s& property, SetSystemPropertyAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_SystemProperty_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "setSystemProperty", + "(qn)", + property, + std::move(callback)); +} +/** + * returns the actual list of MainConnections +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +void CommandControlDBusProxy::getListMainConnections(CommonAPI::CallStatus& callStatus, am_MainConnection_L& listConnections, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_MainConnection_L, am_Error_e> >::callMethodWithReply( + *this, + "getListMainConnections", + "", + callStatus + , listConnections, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainConnectionsAsync(GetListMainConnectionsAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_MainConnection_L, am_Error_e> >::callMethodAsync( + *this, + "getListMainConnections", + "", + std::move(callback)); +} +/** + * returns the actual list of Sinks +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +void CommandControlDBusProxy::getListMainSinks(CommonAPI::CallStatus& callStatus, am_SinkType_L& listMainSinks, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SinkType_L, am_Error_e> >::callMethodWithReply( + *this, + "getListMainSinks", + "", + callStatus + , listMainSinks, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSinksAsync(GetListMainSinksAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SinkType_L, am_Error_e> >::callMethodAsync( + *this, + "getListMainSinks", + "", + std::move(callback)); +} +/** + * returns the actual list of Sources +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +void CommandControlDBusProxy::getListMainSources(CommonAPI::CallStatus& callStatus, am_SourceType_L& listMainSources, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SourceType_L, am_Error_e> >::callMethodWithReply( + *this, + "getListMainSources", + "", + callStatus + , listMainSources, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSourcesAsync(GetListMainSourcesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SourceType_L, am_Error_e> >::callMethodAsync( + *this, + "getListMainSources", + "", + std::move(callback)); +} +/** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair +(at)return E_OK on + * success, E_DATABASE_ERROR on error + */ +void CommandControlDBusProxy::getListMainSinkSoundProperties(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_MainSoundProperty_L, am_Error_e> >::callMethodWithReply( + *this, + "getListMainSinkSoundProperties", + "q", + sinkID, + callStatus + , listSoundProperties, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSinkSoundPropertiesAsync(const am_sinkID_t& sinkID, GetListMainSinkSoundPropertiesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_MainSoundProperty_L, am_Error_e> >::callMethodAsync( + *this, + "getListMainSinkSoundProperties", + "q", + sinkID, + std::move(callback)); +} +/** + * This is used to retrieve all source sound properties related to a + * source. +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +void CommandControlDBusProxy::getListMainSourceSoundProperties(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_MainSoundProperty_L, am_Error_e> >::callMethodWithReply( + *this, + "getListMainSourceSoundProperties", + "q", + sourceID, + callStatus + , listSourceProperties, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSourceSoundPropertiesAsync(const am_sourceID_t& sourceID, GetListMainSourceSoundPropertiesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_MainSoundProperty_L, am_Error_e> >::callMethodAsync( + *this, + "getListMainSourceSoundProperties", + "q", + sourceID, + std::move(callback)); +} +/** + * This is used to retrieve SourceClass Information of all source classes + * +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +void CommandControlDBusProxy::getListSourceClasses(CommonAPI::CallStatus& callStatus, am_SourceClass_L& listSourceClasses, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SourceClass_L, am_Error_e> >::callMethodWithReply( + *this, + "getListSourceClasses", + "", + callStatus + , listSourceClasses, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListSourceClassesAsync(GetListSourceClassesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SourceClass_L, am_Error_e> >::callMethodAsync( + *this, + "getListSourceClasses", + "", + std::move(callback)); +} +/** + * This is used to retrieve SinkClass Information of all sink classes +(at)return + * E_OK on success, E_DATABASE_ERROR on error + */ +void CommandControlDBusProxy::getListSinkClasses(CommonAPI::CallStatus& callStatus, am_SinkClass_L& listSinkClasses, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SinkClass_L, am_Error_e> >::callMethodWithReply( + *this, + "getListSinkClasses", + "", + callStatus + , listSinkClasses, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListSinkClassesAsync(GetListSinkClassesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SinkClass_L, am_Error_e> >::callMethodAsync( + *this, + "getListSinkClasses", + "", + std::move(callback)); +} +/** + * Retrieves a complete list of all systemProperties. +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +void CommandControlDBusProxy::getListSystemProperties(CommonAPI::CallStatus& callStatus, am_SystemProperty_L& listSystemProperties, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SystemProperty_L, am_Error_e> >::callMethodWithReply( + *this, + "getListSystemProperties", + "", + callStatus + , listSystemProperties, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListSystemPropertiesAsync(GetListSystemPropertiesAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<>, + CommonAPI::DBus::DBusSerializableArguments<am_SystemProperty_L, am_Error_e> >::callMethodAsync( + *this, + "getListSystemProperties", + "", + std::move(callback)); +} +/** + * returns the delay in ms that the audiopath for the given mainConnection + * has +(at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ +void CommandControlDBusProxy::getTimingInformation(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_timeSync_t& delay, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_timeSync_t, am_Error_e> >::callMethodWithReply( + *this, + "getTimingInformation", + "q", + mainConnectionID, + callStatus + , delay, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getTimingInformationAsync(const am_mainConnectionID_t& mainConnectionID, GetTimingInformationAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_timeSync_t, am_Error_e> >::callMethodAsync( + *this, + "getTimingInformation", + "q", + mainConnectionID, + std::move(callback)); +} +/** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ +void CommandControlDBusProxy::getListMainSinkNotificationConfigurations(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_NotificationConfiguration_L, am_Error_e> >::callMethodWithReply( + *this, + "getListMainSinkNotificationConfigurations", + "q", + sinkID, + callStatus + , listMainNotificationConfigurations, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSinkNotificationConfigurationsAsync(const am_sinkID_t& sinkID, GetListMainSinkNotificationConfigurationsAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_NotificationConfiguration_L, am_Error_e> >::callMethodAsync( + *this, + "getListMainSinkNotificationConfigurations", + "q", + sinkID, + std::move(callback)); +} +/** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ +void CommandControlDBusProxy::getListMainSourceNotificationConfigurations(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_NotificationConfiguration_L, am_Error_e> >::callMethodWithReply( + *this, + "getListMainSourceNotificationConfigurations", + "q", + sourceID, + callStatus + , listMainNotificationConfigurations, error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSourceNotificationConfigurationsAsync(const am_sourceID_t& sourceID, GetListMainSourceNotificationConfigurationsAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t>, + CommonAPI::DBus::DBusSerializableArguments<am_NotificationConfiguration_L, am_Error_e> >::callMethodAsync( + *this, + "getListMainSourceNotificationConfigurations", + "q", + sourceID, + std::move(callback)); +} +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ +void CommandControlDBusProxy::setMainSinkNotificationConfiguration(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_NotificationConfiguration_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "setMainSinkNotificationConfiguration", + "q(qin)", + sinkID, mainNotificationConfiguration, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setMainSinkNotificationConfigurationAsync(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSinkNotificationConfigurationAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_NotificationConfiguration_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "setMainSinkNotificationConfiguration", + "q(qin)", + sinkID, mainNotificationConfiguration, + std::move(callback)); +} +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ +void CommandControlDBusProxy::setMainSourceNotificationConfiguration(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_NotificationConfiguration_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply( + *this, + "setMainSourceNotificationConfiguration", + "q(qin)", + sourceID, mainNotificationConfiguration, + callStatus + , error); +} +std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setMainSourceNotificationConfigurationAsync(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSourceNotificationConfigurationAsyncCallback callback) { + return CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_NotificationConfiguration_s>, + CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodAsync( + *this, + "setMainSourceNotificationConfiguration", + "q(qin)", + sourceID, mainNotificationConfiguration, + std::move(callback)); +} + + + +void CommandControlDBusProxy::getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const { + ownVersionMajor = 2; + ownVersionMinor = 0; +} + +} // namespace am +} // namespace genivi +} // namespace org diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.h new file mode 100644 index 0000000..c2a53ca --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.h @@ -0,0 +1,266 @@ +/* +* 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. +* +* +*/ +/** + * The interface towards the Controlling Instance (e.g HMI). It handles the + * communication towards the HMI and other system components who need to interact + * with the audiomanagement. +There are two rules that have to be kept in mind + * when implementing against this interface: + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Command_Control_DBUS_PROXY_H_ +#define ORG_GENIVI_AM_Command_Control_DBUS_PROXY_H_ + +#include <org/genivi/am/CommandControlProxyBase.h> + +#if !defined (COMMONAPI_INTERNAL_COMPILATION) +#define COMMONAPI_INTERNAL_COMPILATION +#endif + +#include <CommonAPI/DBus/DBusFactory.h> +#include <CommonAPI/DBus/DBusProxy.h> +#include <CommonAPI/DBus/DBusEvent.h> + +#undef COMMONAPI_INTERNAL_COMPILATION + +#include <string> + +namespace org { +namespace genivi { +namespace am { + +class CommandControlDBusProxy: virtual public CommandControlProxyBase, virtual public CommonAPI::DBus::DBusProxy { + public: + CommandControlDBusProxy( + 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 ~CommandControlDBusProxy() { } + + + virtual NewMainConnectionEvent& getNewMainConnectionEvent(); + virtual RemovedMainConnectionEvent& getRemovedMainConnectionEvent(); + virtual NewSinkEvent& getNewSinkEvent(); + virtual RemovedSinkEvent& getRemovedSinkEvent(); + virtual NewSourceEvent& getNewSourceEvent(); + virtual RemovedSourceEvent& getRemovedSourceEvent(); + virtual NumberOfSinkClassesChangedEvent& getNumberOfSinkClassesChangedEvent(); + virtual NumberOfSourceClassesChangedEvent& getNumberOfSourceClassesChangedEvent(); + virtual MainConnectionStateChangedEvent& getMainConnectionStateChangedEvent(); + virtual MainSinkSoundPropertyChangedEvent& getMainSinkSoundPropertyChangedEvent(); + virtual MainSourceSoundPropertyChangedEvent& getMainSourceSoundPropertyChangedEvent(); + virtual SinkAvailabilityChangedEvent& getSinkAvailabilityChangedEvent(); + virtual SourceAvailabilityChangedEvent& getSourceAvailabilityChangedEvent(); + virtual VolumeChangedEvent& getVolumeChangedEvent(); + virtual SinkMuteStateChangedEvent& getSinkMuteStateChangedEvent(); + virtual SystemPropertyChangedEvent& getSystemPropertyChangedEvent(); + virtual TimingInformationChangedEvent& getTimingInformationChangedEvent(); + virtual SinkUpdatedEvent& getSinkUpdatedEvent(); + virtual SourceUpdatedEvent& getSourceUpdatedEvent(); + virtual SinkNotificationEvent& getSinkNotificationEvent(); + virtual SourceNotificationEvent& getSourceNotificationEvent(); + virtual MainSinkNotificationConfigurationChangedEvent& getMainSinkNotificationConfigurationChangedEvent(); + virtual MainSourceNotificationConfigurationChangedEvent& getMainSourceNotificationConfigurationChangedEvent(); + + /** + * connects a source to sink + (at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ + virtual void connect(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_mainConnectionID_t& mainConnectionID, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> connectAsync(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, ConnectAsyncCallback callback); + /** + * disconnects a mainConnection + (at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ + virtual void disconnect(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> disconnectAsync(const am_mainConnectionID_t& mainConnectionID, DisconnectAsyncCallback callback); + /** + * sets the volume for a sink + (at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ + virtual void setVolume(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> setVolumeAsync(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, SetVolumeAsyncCallback callback); + /** + * This function is used to increment or decrement the current volume for a + * sink. + (at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ + virtual void volumeStep(const am_sinkID_t& sinkID, const int16_t& volStep, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volStep, VolumeStepAsyncCallback callback); + /** + * sets the mute state of a sink + (at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ + virtual void setSinkMuteState(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> setSinkMuteStateAsync(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, SetSinkMuteStateAsyncCallback callback); + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + virtual void setMainSinkSoundProperty(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> setMainSinkSoundPropertyAsync(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, SetMainSinkSoundPropertyAsyncCallback callback); + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + virtual void setMainSourceSoundProperty(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> setMainSourceSoundPropertyAsync(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, SetMainSourceSoundPropertyAsyncCallback callback); + /** + * is used to set a specific system property. + (at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ + virtual void setSystemProperty(const am_SystemProperty_s& property, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> setSystemPropertyAsync(const am_SystemProperty_s& property, SetSystemPropertyAsyncCallback callback); + /** + * returns the actual list of MainConnections + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + virtual void getListMainConnections(CommonAPI::CallStatus& callStatus, am_MainConnection_L& listConnections, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListMainConnectionsAsync(GetListMainConnectionsAsyncCallback callback); + /** + * returns the actual list of Sinks + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + virtual void getListMainSinks(CommonAPI::CallStatus& callStatus, am_SinkType_L& listMainSinks, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListMainSinksAsync(GetListMainSinksAsyncCallback callback); + /** + * returns the actual list of Sources + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + virtual void getListMainSources(CommonAPI::CallStatus& callStatus, am_SourceType_L& listMainSources, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListMainSourcesAsync(GetListMainSourcesAsyncCallback callback); + /** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair + (at)return E_OK on + * success, E_DATABASE_ERROR on error + */ + virtual void getListMainSinkSoundProperties(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListMainSinkSoundPropertiesAsync(const am_sinkID_t& sinkID, GetListMainSinkSoundPropertiesAsyncCallback callback); + /** + * This is used to retrieve all source sound properties related to a + * source. + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + virtual void getListMainSourceSoundProperties(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListMainSourceSoundPropertiesAsync(const am_sourceID_t& sourceID, GetListMainSourceSoundPropertiesAsyncCallback callback); + /** + * This is used to retrieve SourceClass Information of all source classes + * + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + virtual void getListSourceClasses(CommonAPI::CallStatus& callStatus, am_SourceClass_L& listSourceClasses, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListSourceClassesAsync(GetListSourceClassesAsyncCallback callback); + /** + * This is used to retrieve SinkClass Information of all sink classes + (at)return + * E_OK on success, E_DATABASE_ERROR on error + */ + virtual void getListSinkClasses(CommonAPI::CallStatus& callStatus, am_SinkClass_L& listSinkClasses, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListSinkClassesAsync(GetListSinkClassesAsyncCallback callback); + /** + * Retrieves a complete list of all systemProperties. + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + virtual void getListSystemProperties(CommonAPI::CallStatus& callStatus, am_SystemProperty_L& listSystemProperties, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListSystemPropertiesAsync(GetListSystemPropertiesAsyncCallback callback); + /** + * returns the delay in ms that the audiopath for the given mainConnection + * has + (at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ + virtual void getTimingInformation(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_timeSync_t& delay, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getTimingInformationAsync(const am_mainConnectionID_t& mainConnectionID, GetTimingInformationAsyncCallback callback); + /** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ + virtual void getListMainSinkNotificationConfigurations(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListMainSinkNotificationConfigurationsAsync(const am_sinkID_t& sinkID, GetListMainSinkNotificationConfigurationsAsyncCallback callback); + /** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ + virtual void getListMainSourceNotificationConfigurations(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> getListMainSourceNotificationConfigurationsAsync(const am_sourceID_t& sourceID, GetListMainSourceNotificationConfigurationsAsyncCallback callback); + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ + virtual void setMainSinkNotificationConfiguration(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> setMainSinkNotificationConfigurationAsync(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSinkNotificationConfigurationAsyncCallback callback); + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ + virtual void setMainSourceNotificationConfiguration(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error); + virtual std::future<CommonAPI::CallStatus> setMainSourceNotificationConfigurationAsync(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSourceNotificationConfigurationAsyncCallback callback); + + + virtual void getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const; + + private: + + CommonAPI::DBus::DBusEvent<NewMainConnectionEvent> newMainConnection_; + CommonAPI::DBus::DBusEvent<RemovedMainConnectionEvent> removedMainConnection_; + CommonAPI::DBus::DBusEvent<NewSinkEvent> newSink_; + CommonAPI::DBus::DBusEvent<RemovedSinkEvent> removedSink_; + CommonAPI::DBus::DBusEvent<NewSourceEvent> newSource_; + CommonAPI::DBus::DBusEvent<RemovedSourceEvent> removedSource_; + CommonAPI::DBus::DBusEvent<NumberOfSinkClassesChangedEvent> numberOfSinkClassesChanged_; + CommonAPI::DBus::DBusEvent<NumberOfSourceClassesChangedEvent> numberOfSourceClassesChanged_; + CommonAPI::DBus::DBusEvent<MainConnectionStateChangedEvent> mainConnectionStateChanged_; + CommonAPI::DBus::DBusEvent<MainSinkSoundPropertyChangedEvent> mainSinkSoundPropertyChanged_; + CommonAPI::DBus::DBusEvent<MainSourceSoundPropertyChangedEvent> mainSourceSoundPropertyChanged_; + CommonAPI::DBus::DBusEvent<SinkAvailabilityChangedEvent> sinkAvailabilityChanged_; + CommonAPI::DBus::DBusEvent<SourceAvailabilityChangedEvent> sourceAvailabilityChanged_; + CommonAPI::DBus::DBusEvent<VolumeChangedEvent> volumeChanged_; + CommonAPI::DBus::DBusEvent<SinkMuteStateChangedEvent> sinkMuteStateChanged_; + CommonAPI::DBus::DBusEvent<SystemPropertyChangedEvent> systemPropertyChanged_; + CommonAPI::DBus::DBusEvent<TimingInformationChangedEvent> timingInformationChanged_; + CommonAPI::DBus::DBusEvent<SinkUpdatedEvent> sinkUpdated_; + CommonAPI::DBus::DBusEvent<SourceUpdatedEvent> sourceUpdated_; + CommonAPI::DBus::DBusEvent<SinkNotificationEvent> sinkNotification_; + CommonAPI::DBus::DBusEvent<SourceNotificationEvent> sourceNotification_; + CommonAPI::DBus::DBusEvent<MainSinkNotificationConfigurationChangedEvent> mainSinkNotificationConfigurationChanged_; + CommonAPI::DBus::DBusEvent<MainSourceNotificationConfigurationChangedEvent> mainSourceNotificationConfigurationChanged_; + +}; + + + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Command_Control_DBUS_PROXY_H_ diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.cpp b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.cpp new file mode 100644 index 0000000..6da5cfd --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.cpp @@ -0,0 +1,1096 @@ +/* +* 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 "CommandControlDBusStubAdapter.h" +#include <org/genivi/am/CommandControl.h> + +namespace org { +namespace genivi { +namespace am { + +std::shared_ptr<CommonAPI::DBus::DBusStubAdapter> createCommandControlDBusStubAdapter( + 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<CommandControlDBusStubAdapter>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection, stubBase); +} + +INITIALIZER(registerCommandControlDBusStubAdapter) { + CommonAPI::DBus::DBusFactory::registerAdapterFactoryMethod(CommandControl::getInterfaceId(), + &createCommandControlDBusStubAdapter); +} + + + +CommandControlDBusStubAdapterInternal::~CommandControlDBusStubAdapterInternal() { + deactivateManagedInstances(); + CommandControlDBusStubAdapterHelper::deinit(); +} + +void CommandControlDBusStubAdapterInternal::deactivateManagedInstances() { + +} + +const char* CommandControlDBusStubAdapterInternal::getMethodsDBusIntrospectionXmlData() const { + static const std::string introspectionData = + "<method name=\"getInterfaceVersion\">\n" + "<arg name=\"value\" type=\"uu\" direction=\"out\" />" + "</method>\n" + /** + * Callback that is called when the number of connections change + */ + "<signal name=\"newMainConnection\">\n" + "<arg name=\"mainConnection\" type=\"(qqqni)\" />\n" + "</signal>\n" + /** + * Callback that is called when the number of connections change + */ + "<signal name=\"removedMainConnection\">\n" + "<arg name=\"mainConnection\" type=\"q\" />\n" + "</signal>\n" + /** + * Callback that is called when the number of sinks change + */ + "<signal name=\"newSink\">\n" + "<arg name=\"sink\" type=\"(qs(iq)niq)\" />\n" + "</signal>\n" + /** + * Callback that is called when the number of sinks change + */ + "<signal name=\"removedSink\">\n" + "<arg name=\"sinkID\" type=\"q\" />\n" + "</signal>\n" + /** + * Callback that is called when the number of sources change + */ + "<signal name=\"newSource\">\n" + "<arg name=\"source\" type=\"(qs(iq)q)\" />\n" + "</signal>\n" + /** + * Callback that is called when the number of sources change + */ + "<signal name=\"removedSource\">\n" + "<arg name=\"source\" type=\"q\" />\n" + "</signal>\n" + /** + * this callback is fired if the number of sink classes changed + */ + "<signal name=\"numberOfSinkClassesChanged\">\n" + "</signal>\n" + /** + * this callback is fired if the number of source classes changed + */ + "<signal name=\"numberOfSourceClassesChanged\">\n" + "</signal>\n" + /** + * This callback is called when the ConnectionState of a connection changed. + */ + "<signal name=\"mainConnectionStateChanged\">\n" + "<arg name=\"connectionID\" type=\"q\" />\n" + "<arg name=\"connectionState\" type=\"i\" />\n" + "</signal>\n" + /** + * this callback indicates that a sinkSoundProperty has changed. + */ + "<signal name=\"mainSinkSoundPropertyChanged\">\n" + "<arg name=\"sinkID\" type=\"q\" />\n" + "<arg name=\"soundProperty\" type=\"(qn)\" />\n" + "</signal>\n" + /** + * this callback indicates that a sourceSoundProperty has changed. + */ + "<signal name=\"mainSourceSoundPropertyChanged\">\n" + "<arg name=\"sourceID\" type=\"q\" />\n" + "<arg name=\"soundProperty\" type=\"(qn)\" />\n" + "</signal>\n" + /** + * this callback is called when the availability of a sink has changed + */ + "<signal name=\"sinkAvailabilityChanged\">\n" + "<arg name=\"sinkID\" type=\"q\" />\n" + "<arg name=\"availability\" type=\"(iq)\" />\n" + "</signal>\n" + /** + * this callback is called when the availability of source has changed. + */ + "<signal name=\"sourceAvailabilityChanged\">\n" + "<arg name=\"sourceID\" type=\"q\" />\n" + "<arg name=\"availability\" type=\"(iq)\" />\n" + "</signal>\n" + /** + * this callback indicates a volume change on the indicated sink + */ + "<signal name=\"volumeChanged\">\n" + "<arg name=\"sinkID\" type=\"q\" />\n" + "<arg name=\"volume\" type=\"n\" />\n" + "</signal>\n" + /** + * this callback indicates a mute state change on a sink. + */ + "<signal name=\"sinkMuteStateChanged\">\n" + "<arg name=\"sinkID\" type=\"q\" />\n" + "<arg name=\"muteState\" type=\"i\" />\n" + "</signal>\n" + /** + * is fired if a systemProperty changed + */ + "<signal name=\"systemPropertyChanged\">\n" + "<arg name=\"systemProperty\" type=\"(qn)\" />\n" + "</signal>\n" + /** + * This callback is fired if the timinginformation for a mainConnectionID changed + */ + "<signal name=\"timingInformationChanged\">\n" + "<arg name=\"mainConnectionID\" type=\"q\" />\n" + "<arg name=\"time\" type=\"n\" />\n" + "</signal>\n" + /** + * This callback is called when a sink is updated. + */ + "<signal name=\"sinkUpdated\">\n" + "<arg name=\"sinkID\" type=\"q\" />\n" + "<arg name=\"sinkClassID\" type=\"q\" />\n" + "<arg name=\"listMainSoundProperties\" type=\"a(qn)\" />\n" + "</signal>\n" + /** + * This callback is called when a source is updated. + */ + "<signal name=\"sourceUpdated\">\n" + "<arg name=\"sourceID\" type=\"q\" />\n" + "<arg name=\"sourceClassID\" type=\"q\" />\n" + "<arg name=\"listMainSoundProperties\" type=\"a(qn)\" />\n" + "</signal>\n" + /** + * This callback is called when a notificated value of a sink changes. + */ + "<signal name=\"sinkNotification\">\n" + "<arg name=\"sinkID\" type=\"q\" />\n" + "<arg name=\"notification\" type=\"(qn)\" />\n" + "</signal>\n" + /** + * This callback is called when a notifcated value of a source changes. + */ + "<signal name=\"sourceNotification\">\n" + "<arg name=\"sourceID\" type=\"q\" />\n" + "<arg name=\"notification\" type=\"(qn)\" />\n" + "</signal>\n" + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + "<signal name=\"mainSinkNotificationConfigurationChanged\">\n" + "<arg name=\"sinkID\" type=\"q\" />\n" + "<arg name=\"mainNotificationConfiguration\" type=\"(qin)\" />\n" + "</signal>\n" + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + "<signal name=\"mainSourceNotificationConfigurationChanged\">\n" + "<arg name=\"sourceID\" type=\"q\" />\n" + "<arg name=\"mainNotificationConfiguration\" type=\"(qin)\" />\n" + "</signal>\n" + /** + * connects a source to sink + (at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ + "<method name=\"connect\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"mainConnectionID\" type=\"q\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * disconnects a mainConnection + (at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ + "<method name=\"disconnect\">\n" + "<arg name=\"mainConnectionID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * sets the volume for a sink + (at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ + "<method name=\"setVolume\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"volume\" type=\"n\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * This function is used to increment or decrement the current volume for a + * sink. + (at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ + "<method name=\"volumeStep\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"volStep\" type=\"n\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * sets the mute state of a sink + (at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ + "<method name=\"setSinkMuteState\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"muteState\" type=\"i\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + "<method name=\"setMainSinkSoundProperty\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"soundProperty\" type=\"(qn)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + "<method name=\"setMainSourceSoundProperty\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"soundProperty\" type=\"(qn)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * is used to set a specific system property. + (at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ + "<method name=\"setSystemProperty\">\n" + "<arg name=\"property\" type=\"(qn)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * returns the actual list of MainConnections + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + "<method name=\"getListMainConnections\">\n" + "<arg name=\"listConnections\" type=\"a(qqqni)\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * returns the actual list of Sinks + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + "<method name=\"getListMainSinks\">\n" + "<arg name=\"listMainSinks\" type=\"a(qs(iq)niq)\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * returns the actual list of Sources + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + "<method name=\"getListMainSources\">\n" + "<arg name=\"listMainSources\" type=\"a(qs(iq)q)\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair + (at)return E_OK on + * success, E_DATABASE_ERROR on error + */ + "<method name=\"getListMainSinkSoundProperties\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listSoundProperties\" type=\"a(qn)\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * This is used to retrieve all source sound properties related to a + * source. + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + "<method name=\"getListMainSourceSoundProperties\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listSourceProperties\" type=\"a(qn)\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * This is used to retrieve SourceClass Information of all source classes + * + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + "<method name=\"getListSourceClasses\">\n" + "<arg name=\"listSourceClasses\" type=\"a(qsa(qn))\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * This is used to retrieve SinkClass Information of all sink classes + (at)return + * E_OK on success, E_DATABASE_ERROR on error + */ + "<method name=\"getListSinkClasses\">\n" + "<arg name=\"listSinkClasses\" type=\"a(qsa(qn))\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * Retrieves a complete list of all systemProperties. + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + "<method name=\"getListSystemProperties\">\n" + "<arg name=\"listSystemProperties\" type=\"a(qn)\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * returns the delay in ms that the audiopath for the given mainConnection + * has + (at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ + "<method name=\"getTimingInformation\">\n" + "<arg name=\"mainConnectionID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"delay\" type=\"n\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ + "<method name=\"getListMainSinkNotificationConfigurations\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listMainNotificationConfigurations\" type=\"a(qin)\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ + "<method name=\"getListMainSourceNotificationConfigurations\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"listMainNotificationConfigurations\" type=\"a(qin)\" direction=\"out\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ + "<method name=\"setMainSinkNotificationConfiguration\">\n" + "<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"mainNotificationConfiguration\" type=\"(qin)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ + "<method name=\"setMainSourceNotificationConfiguration\">\n" + "<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n" + "<arg name=\"mainNotificationConfiguration\" type=\"(qin)\" direction=\"in\" />\n" + "<arg name=\"error\" type=\"i\" direction=\"out\" />\n" + "</method>\n" + + ; + return introspectionData.c_str(); +} + +CommonAPI::DBus::DBusGetAttributeStubDispatcher< + CommandControlStub, + CommonAPI::Version + > CommandControlDBusStubAdapterInternal::getCommandControlInterfaceVersionStubDispatcher(&CommandControlStub::getInterfaceVersion, "uu"); + + + +/** + * connects a source to sink +(at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t, am_sinkID_t>, + std::tuple<am_mainConnectionID_t, am_Error_e> + > CommandControlDBusStubAdapterInternal::connectStubDispatcher(&CommandControlStub::connect, "qi"); +/** + * disconnects a mainConnection +(at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_mainConnectionID_t>, + std::tuple<am_Error_e> + > CommandControlDBusStubAdapterInternal::disconnectStubDispatcher(&CommandControlStub::disconnect, "i"); +/** + * sets the volume for a sink +(at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, am_mainVolume_t>, + std::tuple<am_Error_e> + > CommandControlDBusStubAdapterInternal::setVolumeStubDispatcher(&CommandControlStub::setVolume, "i"); +/** + * This function is used to increment or decrement the current volume for a + * sink. +(at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, int16_t>, + std::tuple<am_Error_e> + > CommandControlDBusStubAdapterInternal::volumeStepStubDispatcher(&CommandControlStub::volumeStep, "i"); +/** + * sets the mute state of a sink +(at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, am_MuteState_e>, + std::tuple<am_Error_e> + > CommandControlDBusStubAdapterInternal::setSinkMuteStateStubDispatcher(&CommandControlStub::setSinkMuteState, "i"); +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, am_MainSoundProperty_s>, + std::tuple<am_Error_e> + > CommandControlDBusStubAdapterInternal::setMainSinkSoundPropertyStubDispatcher(&CommandControlStub::setMainSinkSoundProperty, "i"); +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t, am_MainSoundProperty_s>, + std::tuple<am_Error_e> + > CommandControlDBusStubAdapterInternal::setMainSourceSoundPropertyStubDispatcher(&CommandControlStub::setMainSourceSoundProperty, "i"); +/** + * is used to set a specific system property. +(at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_SystemProperty_s>, + std::tuple<am_Error_e> + > CommandControlDBusStubAdapterInternal::setSystemPropertyStubDispatcher(&CommandControlStub::setSystemProperty, "i"); +/** + * returns the actual list of MainConnections +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_MainConnection_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListMainConnectionsStubDispatcher(&CommandControlStub::getListMainConnections, "a(qqqni)i"); +/** + * returns the actual list of Sinks +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SinkType_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListMainSinksStubDispatcher(&CommandControlStub::getListMainSinks, "a(qs(iq)niq)i"); +/** + * returns the actual list of Sources +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SourceType_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListMainSourcesStubDispatcher(&CommandControlStub::getListMainSources, "a(qs(iq)q)i"); +/** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair +(at)return E_OK on + * success, E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t>, + std::tuple<am_MainSoundProperty_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListMainSinkSoundPropertiesStubDispatcher(&CommandControlStub::getListMainSinkSoundProperties, "a(qn)i"); +/** + * This is used to retrieve all source sound properties related to a + * source. +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t>, + std::tuple<am_MainSoundProperty_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListMainSourceSoundPropertiesStubDispatcher(&CommandControlStub::getListMainSourceSoundProperties, "a(qn)i"); +/** + * This is used to retrieve SourceClass Information of all source classes + * +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SourceClass_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListSourceClassesStubDispatcher(&CommandControlStub::getListSourceClasses, "a(qsa(qn))i"); +/** + * This is used to retrieve SinkClass Information of all sink classes +(at)return + * E_OK on success, E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SinkClass_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListSinkClassesStubDispatcher(&CommandControlStub::getListSinkClasses, "a(qsa(qn))i"); +/** + * Retrieves a complete list of all systemProperties. +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SystemProperty_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListSystemPropertiesStubDispatcher(&CommandControlStub::getListSystemProperties, "a(qn)i"); +/** + * returns the delay in ms that the audiopath for the given mainConnection + * has +(at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_mainConnectionID_t>, + std::tuple<am_timeSync_t, am_Error_e> + > CommandControlDBusStubAdapterInternal::getTimingInformationStubDispatcher(&CommandControlStub::getTimingInformation, "ni"); +/** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t>, + std::tuple<am_NotificationConfiguration_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListMainSinkNotificationConfigurationsStubDispatcher(&CommandControlStub::getListMainSinkNotificationConfigurations, "a(qin)i"); +/** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t>, + std::tuple<am_NotificationConfiguration_L, am_Error_e> + > CommandControlDBusStubAdapterInternal::getListMainSourceNotificationConfigurationsStubDispatcher(&CommandControlStub::getListMainSourceNotificationConfigurations, "a(qin)i"); +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, am_NotificationConfiguration_s>, + std::tuple<am_Error_e> + > CommandControlDBusStubAdapterInternal::setMainSinkNotificationConfigurationStubDispatcher(&CommandControlStub::setMainSinkNotificationConfiguration, "i"); +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ +CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t, am_NotificationConfiguration_s>, + std::tuple<am_Error_e> + > CommandControlDBusStubAdapterInternal::setMainSourceNotificationConfigurationStubDispatcher(&CommandControlStub::setMainSourceNotificationConfiguration, "i"); + + + +/** + * Callback that is called when the number of connections change + */ +void CommandControlDBusStubAdapterInternal::fireNewMainConnectionEvent(const am_MainConnectionType_s& mainConnection) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_MainConnectionType_s>> + ::sendSignal( + *this, + "newMainConnection", + "(qqqni)", + mainConnection + ); +} +/** + * Callback that is called when the number of connections change + */ +void CommandControlDBusStubAdapterInternal::fireRemovedMainConnectionEvent(const am_mainConnectionID_t& mainConnection) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t>> + ::sendSignal( + *this, + "removedMainConnection", + "q", + mainConnection + ); +} +/** + * Callback that is called when the number of sinks change + */ +void CommandControlDBusStubAdapterInternal::fireNewSinkEvent(const am_SinkType_s& sink) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_SinkType_s>> + ::sendSignal( + *this, + "newSink", + "(qs(iq)niq)", + sink + ); +} +/** + * Callback that is called when the number of sinks change + */ +void CommandControlDBusStubAdapterInternal::fireRemovedSinkEvent(const am_sinkID_t& sinkID) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t>> + ::sendSignal( + *this, + "removedSink", + "q", + sinkID + ); +} +/** + * Callback that is called when the number of sources change + */ +void CommandControlDBusStubAdapterInternal::fireNewSourceEvent(const am_SourceType_s& source) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_SourceType_s>> + ::sendSignal( + *this, + "newSource", + "(qs(iq)q)", + source + ); +} +/** + * Callback that is called when the number of sources change + */ +void CommandControlDBusStubAdapterInternal::fireRemovedSourceEvent(const am_sourceID_t& source) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t>> + ::sendSignal( + *this, + "removedSource", + "q", + source + ); +} +/** + * this callback is fired if the number of sink classes changed + */ +void CommandControlDBusStubAdapterInternal::fireNumberOfSinkClassesChangedEvent() { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<>> + ::sendSignal( + *this, + "numberOfSinkClassesChanged", + "" + ); +} +/** + * this callback is fired if the number of source classes changed + */ +void CommandControlDBusStubAdapterInternal::fireNumberOfSourceClassesChangedEvent() { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<>> + ::sendSignal( + *this, + "numberOfSourceClassesChanged", + "" + ); +} +/** + * This callback is called when the ConnectionState of a connection changed. + */ +void CommandControlDBusStubAdapterInternal::fireMainConnectionStateChangedEvent(const am_mainConnectionID_t& connectionID, const am_ConnectionState_e& connectionState) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t, am_ConnectionState_e>> + ::sendSignal( + *this, + "mainConnectionStateChanged", + "qi", + connectionID, connectionState + ); +} +/** + * this callback indicates that a sinkSoundProperty has changed. + */ +void CommandControlDBusStubAdapterInternal::fireMainSinkSoundPropertyChangedEvent(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_MainSoundProperty_s>> + ::sendSignal( + *this, + "mainSinkSoundPropertyChanged", + "q(qn)", + sinkID, soundProperty + ); +} +/** + * this callback indicates that a sourceSoundProperty has changed. + */ +void CommandControlDBusStubAdapterInternal::fireMainSourceSoundPropertyChangedEvent(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_MainSoundProperty_s>> + ::sendSignal( + *this, + "mainSourceSoundPropertyChanged", + "q(qn)", + sourceID, soundProperty + ); +} +/** + * this callback is called when the availability of a sink has changed + */ +void CommandControlDBusStubAdapterInternal::fireSinkAvailabilityChangedEvent(const am_sinkID_t& sinkID, const am_Availability_s& availability) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Availability_s>> + ::sendSignal( + *this, + "sinkAvailabilityChanged", + "q(iq)", + sinkID, availability + ); +} +/** + * this callback is called when the availability of source has changed. + */ +void CommandControlDBusStubAdapterInternal::fireSourceAvailabilityChangedEvent(const am_sourceID_t& sourceID, const am_Availability_s& availability) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_Availability_s>> + ::sendSignal( + *this, + "sourceAvailabilityChanged", + "q(iq)", + sourceID, availability + ); +} +/** + * this callback indicates a volume change on the indicated sink + */ +void CommandControlDBusStubAdapterInternal::fireVolumeChangedEvent(const am_sinkID_t& sinkID, const am_mainVolume_t& volume) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_mainVolume_t>> + ::sendSignal( + *this, + "volumeChanged", + "qn", + sinkID, volume + ); +} +/** + * this callback indicates a mute state change on a sink. + */ +void CommandControlDBusStubAdapterInternal::fireSinkMuteStateChangedEvent(const am_sinkID_t& sinkID, const am_MuteState_e& muteState) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_MuteState_e>> + ::sendSignal( + *this, + "sinkMuteStateChanged", + "qi", + sinkID, muteState + ); +} +/** + * is fired if a systemProperty changed + */ +void CommandControlDBusStubAdapterInternal::fireSystemPropertyChangedEvent(const am_SystemProperty_s& systemProperty) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_SystemProperty_s>> + ::sendSignal( + *this, + "systemPropertyChanged", + "(qn)", + systemProperty + ); +} +/** + * This callback is fired if the timinginformation for a mainConnectionID changed + */ +void CommandControlDBusStubAdapterInternal::fireTimingInformationChangedEvent(const am_mainConnectionID_t& mainConnectionID, const am_timeSync_t& time) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t, am_timeSync_t>> + ::sendSignal( + *this, + "timingInformationChanged", + "qn", + mainConnectionID, time + ); +} +/** + * This callback is called when a sink is updated. + */ +void CommandControlDBusStubAdapterInternal::fireSinkUpdatedEvent(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_MainSoundProperty_L& listMainSoundProperties) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_sinkClass_t, am_MainSoundProperty_L>> + ::sendSignal( + *this, + "sinkUpdated", + "qqa(qn)", + sinkID, sinkClassID, listMainSoundProperties + ); +} +/** + * This callback is called when a source is updated. + */ +void CommandControlDBusStubAdapterInternal::fireSourceUpdatedEvent(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_MainSoundProperty_L& listMainSoundProperties) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_sourceClass_t, am_MainSoundProperty_L>> + ::sendSignal( + *this, + "sourceUpdated", + "qqa(qn)", + sourceID, sourceClassID, listMainSoundProperties + ); +} +/** + * This callback is called when a notificated value of a sink changes. + */ +void CommandControlDBusStubAdapterInternal::fireSinkNotificationEvent(const am_sinkID_t& sinkID, const am_NotificationPayload_s& notification) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_NotificationPayload_s>> + ::sendSignal( + *this, + "sinkNotification", + "q(qn)", + sinkID, notification + ); +} +/** + * This callback is called when a notifcated value of a source changes. + */ +void CommandControlDBusStubAdapterInternal::fireSourceNotificationEvent(const am_sourceID_t& sourceID, const am_NotificationPayload_s& notification) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_NotificationPayload_s>> + ::sendSignal( + *this, + "sourceNotification", + "q(qn)", + sourceID, notification + ); +} +/** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ +void CommandControlDBusStubAdapterInternal::fireMainSinkNotificationConfigurationChangedEvent(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_NotificationConfiguration_s>> + ::sendSignal( + *this, + "mainSinkNotificationConfigurationChanged", + "q(qin)", + sinkID, mainNotificationConfiguration + ); +} +/** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ +void CommandControlDBusStubAdapterInternal::fireMainSourceNotificationConfigurationChangedEvent(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration) { + CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_NotificationConfiguration_s>> + ::sendSignal( + *this, + "mainSourceNotificationConfigurationChanged", + "q(qin)", + sourceID, mainNotificationConfiguration + ); +} + + +const CommandControlDBusStubAdapterHelper::StubDispatcherTable& CommandControlDBusStubAdapterInternal::getStubDispatcherTable() { + return stubDispatcherTable_; +} + +const CommonAPI::DBus::StubAttributeTable& CommandControlDBusStubAdapterInternal::getStubAttributeTable() { + return stubAttributeTable_; +} + +CommandControlDBusStubAdapterInternal::CommandControlDBusStubAdapterInternal( + 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), + CommandControlDBusStubAdapterHelper( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + std::dynamic_pointer_cast<CommandControlStub>(stub), + false), + stubDispatcherTable_({ + /** + * connects a source to sink + (at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ + { { "connect", "qq" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::connectStubDispatcher }, + /** + * disconnects a mainConnection + (at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ + { { "disconnect", "q" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::disconnectStubDispatcher }, + /** + * sets the volume for a sink + (at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ + { { "setVolume", "qn" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::setVolumeStubDispatcher }, + /** + * This function is used to increment or decrement the current volume for a + * sink. + (at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ + { { "volumeStep", "qn" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::volumeStepStubDispatcher }, + /** + * sets the mute state of a sink + (at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ + { { "setSinkMuteState", "qi" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::setSinkMuteStateStubDispatcher }, + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + { { "setMainSinkSoundProperty", "q(qn)" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::setMainSinkSoundPropertyStubDispatcher }, + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + { { "setMainSourceSoundProperty", "q(qn)" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::setMainSourceSoundPropertyStubDispatcher }, + /** + * is used to set a specific system property. + (at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ + { { "setSystemProperty", "(qn)" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::setSystemPropertyStubDispatcher }, + /** + * returns the actual list of MainConnections + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + { { "getListMainConnections", "" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListMainConnectionsStubDispatcher }, + /** + * returns the actual list of Sinks + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + { { "getListMainSinks", "" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListMainSinksStubDispatcher }, + /** + * returns the actual list of Sources + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + { { "getListMainSources", "" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListMainSourcesStubDispatcher }, + /** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair + (at)return E_OK on + * success, E_DATABASE_ERROR on error + */ + { { "getListMainSinkSoundProperties", "q" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListMainSinkSoundPropertiesStubDispatcher }, + /** + * This is used to retrieve all source sound properties related to a + * source. + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + { { "getListMainSourceSoundProperties", "q" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListMainSourceSoundPropertiesStubDispatcher }, + /** + * This is used to retrieve SourceClass Information of all source classes + * + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + { { "getListSourceClasses", "" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListSourceClassesStubDispatcher }, + /** + * This is used to retrieve SinkClass Information of all sink classes + (at)return + * E_OK on success, E_DATABASE_ERROR on error + */ + { { "getListSinkClasses", "" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListSinkClassesStubDispatcher }, + /** + * Retrieves a complete list of all systemProperties. + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + { { "getListSystemProperties", "" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListSystemPropertiesStubDispatcher }, + /** + * returns the delay in ms that the audiopath for the given mainConnection + * has + (at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ + { { "getTimingInformation", "q" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getTimingInformationStubDispatcher }, + /** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ + { { "getListMainSinkNotificationConfigurations", "q" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListMainSinkNotificationConfigurationsStubDispatcher }, + /** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ + { { "getListMainSourceNotificationConfigurations", "q" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getListMainSourceNotificationConfigurationsStubDispatcher }, + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ + { { "setMainSinkNotificationConfiguration", "q(qin)" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::setMainSinkNotificationConfigurationStubDispatcher }, + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ + { { "setMainSourceNotificationConfiguration", "q(qin)" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::setMainSourceNotificationConfigurationStubDispatcher } + }), + stubAttributeTable_() { + + stubDispatcherTable_.insert({ { "getInterfaceVersion", "" }, &org::genivi::am::CommandControlDBusStubAdapterInternal::getCommandControlInterfaceVersionStubDispatcher }); +} + +const bool CommandControlDBusStubAdapterInternal::hasFreedesktopProperties() { + return false; +} + +} // namespace am +} // namespace genivi +} // namespace org diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.h new file mode 100644 index 0000000..0909211 --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.h @@ -0,0 +1,422 @@ +/* +* 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. +* +* +*/ +/** + * The interface towards the Controlling Instance (e.g HMI). It handles the + * communication towards the HMI and other system components who need to interact + * with the audiomanagement. +There are two rules that have to be kept in mind + * when implementing against this interface: + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Command_Control_DBUS_STUB_ADAPTER_H_ +#define ORG_GENIVI_AM_Command_Control_DBUS_STUB_ADAPTER_H_ + +#include <org/genivi/am/CommandControlStub.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<CommandControlStub> CommandControlDBusStubAdapterHelper; + +class CommandControlDBusStubAdapterInternal: public virtual CommandControlStubAdapter, public CommandControlDBusStubAdapterHelper { + public: + CommandControlDBusStubAdapterInternal( + 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); + + ~CommandControlDBusStubAdapterInternal(); + + virtual const bool hasFreedesktopProperties(); + + + /** + * Callback that is called when the number of connections change + */ + void fireNewMainConnectionEvent(const am_MainConnectionType_s& mainConnection); + /** + * Callback that is called when the number of connections change + */ + void fireRemovedMainConnectionEvent(const am_mainConnectionID_t& mainConnection); + /** + * Callback that is called when the number of sinks change + */ + void fireNewSinkEvent(const am_SinkType_s& sink); + /** + * Callback that is called when the number of sinks change + */ + void fireRemovedSinkEvent(const am_sinkID_t& sinkID); + /** + * Callback that is called when the number of sources change + */ + void fireNewSourceEvent(const am_SourceType_s& source); + /** + * Callback that is called when the number of sources change + */ + void fireRemovedSourceEvent(const am_sourceID_t& source); + /** + * this callback is fired if the number of sink classes changed + */ + void fireNumberOfSinkClassesChangedEvent(); + /** + * this callback is fired if the number of source classes changed + */ + void fireNumberOfSourceClassesChangedEvent(); + /** + * This callback is called when the ConnectionState of a connection changed. + */ + void fireMainConnectionStateChangedEvent(const am_mainConnectionID_t& connectionID, const am_ConnectionState_e& connectionState); + /** + * this callback indicates that a sinkSoundProperty has changed. + */ + void fireMainSinkSoundPropertyChangedEvent(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty); + /** + * this callback indicates that a sourceSoundProperty has changed. + */ + void fireMainSourceSoundPropertyChangedEvent(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty); + /** + * this callback is called when the availability of a sink has changed + */ + void fireSinkAvailabilityChangedEvent(const am_sinkID_t& sinkID, const am_Availability_s& availability); + /** + * this callback is called when the availability of source has changed. + */ + void fireSourceAvailabilityChangedEvent(const am_sourceID_t& sourceID, const am_Availability_s& availability); + /** + * this callback indicates a volume change on the indicated sink + */ + void fireVolumeChangedEvent(const am_sinkID_t& sinkID, const am_mainVolume_t& volume); + /** + * this callback indicates a mute state change on a sink. + */ + void fireSinkMuteStateChangedEvent(const am_sinkID_t& sinkID, const am_MuteState_e& muteState); + /** + * is fired if a systemProperty changed + */ + void fireSystemPropertyChangedEvent(const am_SystemProperty_s& systemProperty); + /** + * This callback is fired if the timinginformation for a mainConnectionID changed + */ + void fireTimingInformationChangedEvent(const am_mainConnectionID_t& mainConnectionID, const am_timeSync_t& time); + /** + * This callback is called when a sink is updated. + */ + void fireSinkUpdatedEvent(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_MainSoundProperty_L& listMainSoundProperties); + /** + * This callback is called when a source is updated. + */ + void fireSourceUpdatedEvent(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_MainSoundProperty_L& listMainSoundProperties); + /** + * This callback is called when a notificated value of a sink changes. + */ + void fireSinkNotificationEvent(const am_sinkID_t& sinkID, const am_NotificationPayload_s& notification); + /** + * This callback is called when a notifcated value of a source changes. + */ + void fireSourceNotificationEvent(const am_sourceID_t& sourceID, const am_NotificationPayload_s& notification); + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + void fireMainSinkNotificationConfigurationChangedEvent(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration); + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + void fireMainSourceNotificationConfigurationChangedEvent(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration); + + + const CommandControlDBusStubAdapterHelper::StubDispatcherTable& getStubDispatcherTable(); + const CommonAPI::DBus::StubAttributeTable& getStubAttributeTable(); + + void deactivateManagedInstances(); + + +static CommonAPI::DBus::DBusGetAttributeStubDispatcher< + CommandControlStub, + CommonAPI::Version + > getCommandControlInterfaceVersionStubDispatcher; + + + +/** + * connects a source to sink +(at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t, am_sinkID_t>, + std::tuple<am_mainConnectionID_t, am_Error_e> + > connectStubDispatcher; +/** + * disconnects a mainConnection +(at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_mainConnectionID_t>, + std::tuple<am_Error_e> + > disconnectStubDispatcher; +/** + * sets the volume for a sink +(at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, am_mainVolume_t>, + std::tuple<am_Error_e> + > setVolumeStubDispatcher; +/** + * This function is used to increment or decrement the current volume for a + * sink. +(at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, int16_t>, + std::tuple<am_Error_e> + > volumeStepStubDispatcher; +/** + * sets the mute state of a sink +(at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, am_MuteState_e>, + std::tuple<am_Error_e> + > setSinkMuteStateStubDispatcher; +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, am_MainSoundProperty_s>, + std::tuple<am_Error_e> + > setMainSinkSoundPropertyStubDispatcher; +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t, am_MainSoundProperty_s>, + std::tuple<am_Error_e> + > setMainSourceSoundPropertyStubDispatcher; +/** + * is used to set a specific system property. +(at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_SystemProperty_s>, + std::tuple<am_Error_e> + > setSystemPropertyStubDispatcher; +/** + * returns the actual list of MainConnections +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_MainConnection_L, am_Error_e> + > getListMainConnectionsStubDispatcher; +/** + * returns the actual list of Sinks +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SinkType_L, am_Error_e> + > getListMainSinksStubDispatcher; +/** + * returns the actual list of Sources +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SourceType_L, am_Error_e> + > getListMainSourcesStubDispatcher; +/** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair +(at)return E_OK on + * success, E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t>, + std::tuple<am_MainSoundProperty_L, am_Error_e> + > getListMainSinkSoundPropertiesStubDispatcher; +/** + * This is used to retrieve all source sound properties related to a + * source. +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t>, + std::tuple<am_MainSoundProperty_L, am_Error_e> + > getListMainSourceSoundPropertiesStubDispatcher; +/** + * This is used to retrieve SourceClass Information of all source classes + * +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SourceClass_L, am_Error_e> + > getListSourceClassesStubDispatcher; +/** + * This is used to retrieve SinkClass Information of all sink classes +(at)return + * E_OK on success, E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SinkClass_L, am_Error_e> + > getListSinkClassesStubDispatcher; +/** + * Retrieves a complete list of all systemProperties. +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<>, + std::tuple<am_SystemProperty_L, am_Error_e> + > getListSystemPropertiesStubDispatcher; +/** + * returns the delay in ms that the audiopath for the given mainConnection + * has +(at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_mainConnectionID_t>, + std::tuple<am_timeSync_t, am_Error_e> + > getTimingInformationStubDispatcher; +/** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t>, + std::tuple<am_NotificationConfiguration_L, am_Error_e> + > getListMainSinkNotificationConfigurationsStubDispatcher; +/** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t>, + std::tuple<am_NotificationConfiguration_L, am_Error_e> + > getListMainSourceNotificationConfigurationsStubDispatcher; +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sinkID_t, am_NotificationConfiguration_s>, + std::tuple<am_Error_e> + > setMainSinkNotificationConfigurationStubDispatcher; +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ +static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher< + CommandControlStub, + std::tuple<am_sourceID_t, am_NotificationConfiguration_s>, + std::tuple<am_Error_e> + > setMainSourceNotificationConfigurationStubDispatcher; + + + + + protected: + virtual const char* getMethodsDBusIntrospectionXmlData() const; + + private: + CommandControlDBusStubAdapterHelper::StubDispatcherTable stubDispatcherTable_; + CommonAPI::DBus::StubAttributeTable stubAttributeTable_; +}; + +class CommandControlDBusStubAdapter: public CommandControlDBusStubAdapterInternal, public std::enable_shared_from_this<CommandControlDBusStubAdapter> { +public: + CommandControlDBusStubAdapter( + 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), + CommandControlDBusStubAdapterInternal( + factory, + commonApiAddress, + dbusInterfaceName, + dbusBusName, + dbusObjectPath, + dbusConnection, + stub) { } +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Command_Control_DBUS_STUB_ADAPTER_H_ diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxy.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxy.h new file mode 100644 index 0000000..03e6a62 --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxy.h @@ -0,0 +1,1194 @@ +/* +* 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. +* +* +*/ +/** + * The interface towards the Controlling Instance (e.g HMI). It handles the + * communication towards the HMI and other system components who need to interact + * with the audiomanagement. +There are two rules that have to be kept in mind + * when implementing against this interface: + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Command_Control_PROXY_H_ +#define ORG_GENIVI_AM_Command_Control_PROXY_H_ + +#include "CommandControlProxyBase.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 CommandControlProxy: virtual public CommandControl, virtual public CommandControlProxyBase +, public _AttributeExtensions... { +public: + CommandControlProxy(std::shared_ptr<CommonAPI::Proxy> delegate); + ~CommandControlProxy(); + + typedef CommandControl InterfaceType; + + + + /** + * Callback that is called when the number of connections change + */ + /** + * Returns the wrapper class that provides access to the broadcast newMainConnection. + */ + virtual NewMainConnectionEvent& getNewMainConnectionEvent() { + return delegate_->getNewMainConnectionEvent(); + } + /** + * Callback that is called when the number of connections change + */ + /** + * Returns the wrapper class that provides access to the broadcast removedMainConnection. + */ + virtual RemovedMainConnectionEvent& getRemovedMainConnectionEvent() { + return delegate_->getRemovedMainConnectionEvent(); + } + /** + * Callback that is called when the number of sinks change + */ + /** + * Returns the wrapper class that provides access to the broadcast newSink. + */ + virtual NewSinkEvent& getNewSinkEvent() { + return delegate_->getNewSinkEvent(); + } + /** + * Callback that is called when the number of sinks change + */ + /** + * Returns the wrapper class that provides access to the broadcast removedSink. + */ + virtual RemovedSinkEvent& getRemovedSinkEvent() { + return delegate_->getRemovedSinkEvent(); + } + /** + * Callback that is called when the number of sources change + */ + /** + * Returns the wrapper class that provides access to the broadcast newSource. + */ + virtual NewSourceEvent& getNewSourceEvent() { + return delegate_->getNewSourceEvent(); + } + /** + * Callback that is called when the number of sources change + */ + /** + * Returns the wrapper class that provides access to the broadcast removedSource. + */ + virtual RemovedSourceEvent& getRemovedSourceEvent() { + return delegate_->getRemovedSourceEvent(); + } + /** + * this callback is fired if the number of sink classes changed + */ + /** + * Returns the wrapper class that provides access to the broadcast numberOfSinkClassesChanged. + */ + virtual NumberOfSinkClassesChangedEvent& getNumberOfSinkClassesChangedEvent() { + return delegate_->getNumberOfSinkClassesChangedEvent(); + } + /** + * this callback is fired if the number of source classes changed + */ + /** + * Returns the wrapper class that provides access to the broadcast numberOfSourceClassesChanged. + */ + virtual NumberOfSourceClassesChangedEvent& getNumberOfSourceClassesChangedEvent() { + return delegate_->getNumberOfSourceClassesChangedEvent(); + } + /** + * This callback is called when the ConnectionState of a connection changed. + */ + /** + * Returns the wrapper class that provides access to the broadcast mainConnectionStateChanged. + */ + virtual MainConnectionStateChangedEvent& getMainConnectionStateChangedEvent() { + return delegate_->getMainConnectionStateChangedEvent(); + } + /** + * this callback indicates that a sinkSoundProperty has changed. + */ + /** + * Returns the wrapper class that provides access to the broadcast mainSinkSoundPropertyChanged. + */ + virtual MainSinkSoundPropertyChangedEvent& getMainSinkSoundPropertyChangedEvent() { + return delegate_->getMainSinkSoundPropertyChangedEvent(); + } + /** + * this callback indicates that a sourceSoundProperty has changed. + */ + /** + * Returns the wrapper class that provides access to the broadcast mainSourceSoundPropertyChanged. + */ + virtual MainSourceSoundPropertyChangedEvent& getMainSourceSoundPropertyChangedEvent() { + return delegate_->getMainSourceSoundPropertyChangedEvent(); + } + /** + * this callback is called when the availability of a sink has changed + */ + /** + * Returns the wrapper class that provides access to the broadcast sinkAvailabilityChanged. + */ + virtual SinkAvailabilityChangedEvent& getSinkAvailabilityChangedEvent() { + return delegate_->getSinkAvailabilityChangedEvent(); + } + /** + * this callback is called when the availability of source has changed. + */ + /** + * Returns the wrapper class that provides access to the broadcast sourceAvailabilityChanged. + */ + virtual SourceAvailabilityChangedEvent& getSourceAvailabilityChangedEvent() { + return delegate_->getSourceAvailabilityChangedEvent(); + } + /** + * this callback indicates a volume change on the indicated sink + */ + /** + * Returns the wrapper class that provides access to the broadcast volumeChanged. + */ + virtual VolumeChangedEvent& getVolumeChangedEvent() { + return delegate_->getVolumeChangedEvent(); + } + /** + * this callback indicates a mute state change on a sink. + */ + /** + * Returns the wrapper class that provides access to the broadcast sinkMuteStateChanged. + */ + virtual SinkMuteStateChangedEvent& getSinkMuteStateChangedEvent() { + return delegate_->getSinkMuteStateChangedEvent(); + } + /** + * is fired if a systemProperty changed + */ + /** + * Returns the wrapper class that provides access to the broadcast systemPropertyChanged. + */ + virtual SystemPropertyChangedEvent& getSystemPropertyChangedEvent() { + return delegate_->getSystemPropertyChangedEvent(); + } + /** + * This callback is fired if the timinginformation for a mainConnectionID changed + */ + /** + * Returns the wrapper class that provides access to the broadcast timingInformationChanged. + */ + virtual TimingInformationChangedEvent& getTimingInformationChangedEvent() { + return delegate_->getTimingInformationChangedEvent(); + } + /** + * This callback is called when a sink is updated. + */ + /** + * Returns the wrapper class that provides access to the broadcast sinkUpdated. + */ + virtual SinkUpdatedEvent& getSinkUpdatedEvent() { + return delegate_->getSinkUpdatedEvent(); + } + /** + * This callback is called when a source is updated. + */ + /** + * Returns the wrapper class that provides access to the broadcast sourceUpdated. + */ + virtual SourceUpdatedEvent& getSourceUpdatedEvent() { + return delegate_->getSourceUpdatedEvent(); + } + /** + * This callback is called when a notificated value of a sink changes. + */ + /** + * Returns the wrapper class that provides access to the broadcast sinkNotification. + */ + virtual SinkNotificationEvent& getSinkNotificationEvent() { + return delegate_->getSinkNotificationEvent(); + } + /** + * This callback is called when a notifcated value of a source changes. + */ + /** + * Returns the wrapper class that provides access to the broadcast sourceNotification. + */ + virtual SourceNotificationEvent& getSourceNotificationEvent() { + return delegate_->getSourceNotificationEvent(); + } + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + /** + * Returns the wrapper class that provides access to the broadcast mainSinkNotificationConfigurationChanged. + */ + virtual MainSinkNotificationConfigurationChangedEvent& getMainSinkNotificationConfigurationChangedEvent() { + return delegate_->getMainSinkNotificationConfigurationChangedEvent(); + } + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + /** + * Returns the wrapper class that provides access to the broadcast mainSourceNotificationConfigurationChanged. + */ + virtual MainSourceNotificationConfigurationChangedEvent& getMainSourceNotificationConfigurationChangedEvent() { + return delegate_->getMainSourceNotificationConfigurationChangedEvent(); + } + + /** + * connects a source to sink + (at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + * + * Calls connect 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 connect(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_mainConnectionID_t& mainConnectionID, am_Error_e& error); + /** + * Calls connect 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> connectAsync(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, ConnectAsyncCallback callback); + /** + * disconnects a mainConnection + (at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + * + * Calls disconnect 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 disconnect(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls disconnect 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> disconnectAsync(const am_mainConnectionID_t& mainConnectionID, DisconnectAsyncCallback callback); + /** + * sets the volume for a sink + (at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + * + * Calls setVolume 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 setVolume(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls setVolume 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> setVolumeAsync(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, SetVolumeAsyncCallback callback); + /** + * This function is used to increment or decrement the current volume for a + * sink. + (at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + * + * Calls volumeStep 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 volumeStep(const am_sinkID_t& sinkID, const int16_t& volStep, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls volumeStep 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> volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volStep, VolumeStepAsyncCallback callback); + /** + * sets the mute state of a sink + (at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + * + * Calls setSinkMuteState 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 setSinkMuteState(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls setSinkMuteState 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> setSinkMuteStateAsync(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, SetSinkMuteStateAsyncCallback callback); + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + * + * Calls setMainSinkSoundProperty 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 setMainSinkSoundProperty(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls setMainSinkSoundProperty 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> setMainSinkSoundPropertyAsync(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, SetMainSinkSoundPropertyAsyncCallback callback); + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + * + * Calls setMainSourceSoundProperty 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 setMainSourceSoundProperty(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls setMainSourceSoundProperty 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> setMainSourceSoundPropertyAsync(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, SetMainSourceSoundPropertyAsyncCallback callback); + /** + * is used to set a specific system property. + (at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + * + * Calls setSystemProperty 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 setSystemProperty(const am_SystemProperty_s& property, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls setSystemProperty 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> setSystemPropertyAsync(const am_SystemProperty_s& property, SetSystemPropertyAsyncCallback callback); + /** + * returns the actual list of MainConnections + (at)return E_OK on success, + * E_DATABASE_ERROR on error + * + * Calls getListMainConnections with synchronous semantics. + * + * 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 getListMainConnections(CommonAPI::CallStatus& callStatus, am_MainConnection_L& listConnections, am_Error_e& error); + /** + * Calls getListMainConnections 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> getListMainConnectionsAsync(GetListMainConnectionsAsyncCallback callback); + /** + * returns the actual list of Sinks + (at)return E_OK on success, E_DATABASE_ERROR + * on error + * + * Calls getListMainSinks with synchronous semantics. + * + * 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 getListMainSinks(CommonAPI::CallStatus& callStatus, am_SinkType_L& listMainSinks, am_Error_e& error); + /** + * Calls getListMainSinks 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> getListMainSinksAsync(GetListMainSinksAsyncCallback callback); + /** + * returns the actual list of Sources + (at)return E_OK on success, E_DATABASE_ERROR + * on error + * + * Calls getListMainSources with synchronous semantics. + * + * 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 getListMainSources(CommonAPI::CallStatus& callStatus, am_SourceType_L& listMainSources, am_Error_e& error); + /** + * Calls getListMainSources 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> getListMainSourcesAsync(GetListMainSourcesAsyncCallback callback); + /** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair + (at)return E_OK on + * success, E_DATABASE_ERROR on error + * + * Calls getListMainSinkSoundProperties 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 getListMainSinkSoundProperties(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error); + /** + * Calls getListMainSinkSoundProperties 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> getListMainSinkSoundPropertiesAsync(const am_sinkID_t& sinkID, GetListMainSinkSoundPropertiesAsyncCallback callback); + /** + * This is used to retrieve all source sound properties related to a + * source. + (at)return E_OK on success, E_DATABASE_ERROR on error + * + * Calls getListMainSourceSoundProperties 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 getListMainSourceSoundProperties(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error); + /** + * Calls getListMainSourceSoundProperties 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> getListMainSourceSoundPropertiesAsync(const am_sourceID_t& sourceID, GetListMainSourceSoundPropertiesAsyncCallback callback); + /** + * This is used to retrieve SourceClass Information of all source classes + * + (at)return E_OK on success, E_DATABASE_ERROR on error + * + * Calls getListSourceClasses with synchronous semantics. + * + * 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 getListSourceClasses(CommonAPI::CallStatus& callStatus, am_SourceClass_L& listSourceClasses, am_Error_e& error); + /** + * Calls getListSourceClasses 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> getListSourceClassesAsync(GetListSourceClassesAsyncCallback callback); + /** + * This is used to retrieve SinkClass Information of all sink classes + (at)return + * E_OK on success, E_DATABASE_ERROR on error + * + * Calls getListSinkClasses with synchronous semantics. + * + * 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 getListSinkClasses(CommonAPI::CallStatus& callStatus, am_SinkClass_L& listSinkClasses, am_Error_e& error); + /** + * Calls getListSinkClasses 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> getListSinkClassesAsync(GetListSinkClassesAsyncCallback callback); + /** + * Retrieves a complete list of all systemProperties. + (at)return E_OK on success, + * E_DATABASE_ERROR on error + * + * Calls getListSystemProperties with synchronous semantics. + * + * 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 getListSystemProperties(CommonAPI::CallStatus& callStatus, am_SystemProperty_L& listSystemProperties, am_Error_e& error); + /** + * Calls getListSystemProperties 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> getListSystemPropertiesAsync(GetListSystemPropertiesAsyncCallback callback); + /** + * returns the delay in ms that the audiopath for the given mainConnection + * has + (at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + * + * Calls getTimingInformation 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 getTimingInformation(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_timeSync_t& delay, am_Error_e& error); + /** + * Calls getTimingInformation 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> getTimingInformationAsync(const am_mainConnectionID_t& mainConnectionID, GetTimingInformationAsyncCallback callback); + /** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + * + * Calls getListMainSinkNotificationConfigurations 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 getListMainSinkNotificationConfigurations(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error); + /** + * Calls getListMainSinkNotificationConfigurations 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> getListMainSinkNotificationConfigurationsAsync(const am_sinkID_t& sinkID, GetListMainSinkNotificationConfigurationsAsyncCallback callback); + /** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + * + * Calls getListMainSourceNotificationConfigurations 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 getListMainSourceNotificationConfigurations(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error); + /** + * Calls getListMainSourceNotificationConfigurations 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> getListMainSourceNotificationConfigurationsAsync(const am_sourceID_t& sourceID, GetListMainSourceNotificationConfigurationsAsyncCallback callback); + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + * + * Calls setMainSinkNotificationConfiguration 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 setMainSinkNotificationConfiguration(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls setMainSinkNotificationConfiguration 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> setMainSinkNotificationConfigurationAsync(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSinkNotificationConfigurationAsyncCallback callback); + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + * + * Calls setMainSourceNotificationConfiguration 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 setMainSourceNotificationConfiguration(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error); + /** + * Calls setMainSourceNotificationConfiguration 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> setMainSourceNotificationConfigurationAsync(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSourceNotificationConfigurationAsyncCallback 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<CommandControlProxyBase> delegate_; +}; + +#ifdef WIN32 + typedef CommandControlProxy<CommonAPI::WINDummyAttributeExtension<CommonAPI::WINDummyAttribute>> CommandControlProxyDefault; +#else + typedef CommandControlProxy<> CommandControlProxyDefault; +#endif + + +// +// CommandControlProxy Implementation +// +template <typename ... _AttributeExtensions> +CommandControlProxy<_AttributeExtensions...>::CommandControlProxy(std::shared_ptr<CommonAPI::Proxy> delegate): + _AttributeExtensions(*(std::dynamic_pointer_cast<CommandControlProxyBase>(delegate)))..., + delegate_(std::dynamic_pointer_cast<CommandControlProxyBase>(delegate)) { +} + +template <typename ... _AttributeExtensions> +CommandControlProxy<_AttributeExtensions...>::~CommandControlProxy() { +} + +/** + * connects a source to sink +(at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::connect(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_mainConnectionID_t& mainConnectionID, am_Error_e& error) { + delegate_->connect(sourceID, sinkID, callStatus, mainConnectionID, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::connectAsync(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, ConnectAsyncCallback callback) { + return delegate_->connectAsync(sourceID, sinkID, callback); +} +/** + * disconnects a mainConnection +(at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::disconnect(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->disconnect(mainConnectionID, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::disconnectAsync(const am_mainConnectionID_t& mainConnectionID, DisconnectAsyncCallback callback) { + return delegate_->disconnectAsync(mainConnectionID, callback); +} +/** + * sets the volume for a sink +(at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::setVolume(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->setVolume(sinkID, volume, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::setVolumeAsync(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, SetVolumeAsyncCallback callback) { + return delegate_->setVolumeAsync(sinkID, volume, callback); +} +/** + * This function is used to increment or decrement the current volume for a + * sink. +(at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::volumeStep(const am_sinkID_t& sinkID, const int16_t& volStep, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->volumeStep(sinkID, volStep, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volStep, VolumeStepAsyncCallback callback) { + return delegate_->volumeStepAsync(sinkID, volStep, callback); +} +/** + * sets the mute state of a sink +(at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::setSinkMuteState(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->setSinkMuteState(sinkID, muteState, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::setSinkMuteStateAsync(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, SetSinkMuteStateAsyncCallback callback) { + return delegate_->setSinkMuteStateAsync(sinkID, muteState, callback); +} +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::setMainSinkSoundProperty(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->setMainSinkSoundProperty(sinkID, soundProperty, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::setMainSinkSoundPropertyAsync(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, SetMainSinkSoundPropertyAsyncCallback callback) { + return delegate_->setMainSinkSoundPropertyAsync(sinkID, soundProperty, callback); +} +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::setMainSourceSoundProperty(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->setMainSourceSoundProperty(sourceID, soundProperty, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::setMainSourceSoundPropertyAsync(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, SetMainSourceSoundPropertyAsyncCallback callback) { + return delegate_->setMainSourceSoundPropertyAsync(sourceID, soundProperty, callback); +} +/** + * is used to set a specific system property. +(at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::setSystemProperty(const am_SystemProperty_s& property, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->setSystemProperty(property, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::setSystemPropertyAsync(const am_SystemProperty_s& property, SetSystemPropertyAsyncCallback callback) { + return delegate_->setSystemPropertyAsync(property, callback); +} +/** + * returns the actual list of MainConnections +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListMainConnections(CommonAPI::CallStatus& callStatus, am_MainConnection_L& listConnections, am_Error_e& error) { + delegate_->getListMainConnections(callStatus, listConnections, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListMainConnectionsAsync(GetListMainConnectionsAsyncCallback callback) { + return delegate_->getListMainConnectionsAsync(callback); +} +/** + * returns the actual list of Sinks +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListMainSinks(CommonAPI::CallStatus& callStatus, am_SinkType_L& listMainSinks, am_Error_e& error) { + delegate_->getListMainSinks(callStatus, listMainSinks, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListMainSinksAsync(GetListMainSinksAsyncCallback callback) { + return delegate_->getListMainSinksAsync(callback); +} +/** + * returns the actual list of Sources +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListMainSources(CommonAPI::CallStatus& callStatus, am_SourceType_L& listMainSources, am_Error_e& error) { + delegate_->getListMainSources(callStatus, listMainSources, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListMainSourcesAsync(GetListMainSourcesAsyncCallback callback) { + return delegate_->getListMainSourcesAsync(callback); +} +/** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair +(at)return E_OK on + * success, E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListMainSinkSoundProperties(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error) { + delegate_->getListMainSinkSoundProperties(sinkID, callStatus, listSoundProperties, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListMainSinkSoundPropertiesAsync(const am_sinkID_t& sinkID, GetListMainSinkSoundPropertiesAsyncCallback callback) { + return delegate_->getListMainSinkSoundPropertiesAsync(sinkID, callback); +} +/** + * This is used to retrieve all source sound properties related to a + * source. +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListMainSourceSoundProperties(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error) { + delegate_->getListMainSourceSoundProperties(sourceID, callStatus, listSourceProperties, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListMainSourceSoundPropertiesAsync(const am_sourceID_t& sourceID, GetListMainSourceSoundPropertiesAsyncCallback callback) { + return delegate_->getListMainSourceSoundPropertiesAsync(sourceID, callback); +} +/** + * This is used to retrieve SourceClass Information of all source classes + * +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListSourceClasses(CommonAPI::CallStatus& callStatus, am_SourceClass_L& listSourceClasses, am_Error_e& error) { + delegate_->getListSourceClasses(callStatus, listSourceClasses, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListSourceClassesAsync(GetListSourceClassesAsyncCallback callback) { + return delegate_->getListSourceClassesAsync(callback); +} +/** + * This is used to retrieve SinkClass Information of all sink classes +(at)return + * E_OK on success, E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListSinkClasses(CommonAPI::CallStatus& callStatus, am_SinkClass_L& listSinkClasses, am_Error_e& error) { + delegate_->getListSinkClasses(callStatus, listSinkClasses, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListSinkClassesAsync(GetListSinkClassesAsyncCallback callback) { + return delegate_->getListSinkClassesAsync(callback); +} +/** + * Retrieves a complete list of all systemProperties. +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListSystemProperties(CommonAPI::CallStatus& callStatus, am_SystemProperty_L& listSystemProperties, am_Error_e& error) { + delegate_->getListSystemProperties(callStatus, listSystemProperties, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListSystemPropertiesAsync(GetListSystemPropertiesAsyncCallback callback) { + return delegate_->getListSystemPropertiesAsync(callback); +} +/** + * returns the delay in ms that the audiopath for the given mainConnection + * has +(at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getTimingInformation(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_timeSync_t& delay, am_Error_e& error) { + delegate_->getTimingInformation(mainConnectionID, callStatus, delay, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getTimingInformationAsync(const am_mainConnectionID_t& mainConnectionID, GetTimingInformationAsyncCallback callback) { + return delegate_->getTimingInformationAsync(mainConnectionID, callback); +} +/** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListMainSinkNotificationConfigurations(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) { + delegate_->getListMainSinkNotificationConfigurations(sinkID, callStatus, listMainNotificationConfigurations, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListMainSinkNotificationConfigurationsAsync(const am_sinkID_t& sinkID, GetListMainSinkNotificationConfigurationsAsyncCallback callback) { + return delegate_->getListMainSinkNotificationConfigurationsAsync(sinkID, callback); +} +/** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::getListMainSourceNotificationConfigurations(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) { + delegate_->getListMainSourceNotificationConfigurations(sourceID, callStatus, listMainNotificationConfigurations, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::getListMainSourceNotificationConfigurationsAsync(const am_sourceID_t& sourceID, GetListMainSourceNotificationConfigurationsAsyncCallback callback) { + return delegate_->getListMainSourceNotificationConfigurationsAsync(sourceID, callback); +} +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::setMainSinkNotificationConfiguration(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->setMainSinkNotificationConfiguration(sinkID, mainNotificationConfiguration, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::setMainSinkNotificationConfigurationAsync(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSinkNotificationConfigurationAsyncCallback callback) { + return delegate_->setMainSinkNotificationConfigurationAsync(sinkID, mainNotificationConfiguration, callback); +} +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ +template <typename ... _AttributeExtensions> +void CommandControlProxy<_AttributeExtensions...>::setMainSourceNotificationConfiguration(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error) { + delegate_->setMainSourceNotificationConfiguration(sourceID, mainNotificationConfiguration, callStatus, error); +} + +template <typename ... _AttributeExtensions> +std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::setMainSourceNotificationConfigurationAsync(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSourceNotificationConfigurationAsyncCallback callback) { + return delegate_->setMainSourceNotificationConfigurationAsync(sourceID, mainNotificationConfiguration, callback); +} + +template <typename ... _AttributeExtensions> +std::string CommandControlProxy<_AttributeExtensions...>::getAddress() const { + return delegate_->getAddress(); +} + +template <typename ... _AttributeExtensions> +const std::string& CommandControlProxy<_AttributeExtensions...>::getDomain() const { + return delegate_->getDomain(); +} + +template <typename ... _AttributeExtensions> +const std::string& CommandControlProxy<_AttributeExtensions...>::getServiceId() const { + return delegate_->getServiceId(); +} + +template <typename ... _AttributeExtensions> +const std::string& CommandControlProxy<_AttributeExtensions...>::getInstanceId() const { + return delegate_->getInstanceId(); +} + +template <typename ... _AttributeExtensions> +bool CommandControlProxy<_AttributeExtensions...>::isAvailable() const { + return delegate_->isAvailable(); +} + +template <typename ... _AttributeExtensions> +bool CommandControlProxy<_AttributeExtensions...>::isAvailableBlocking() const { + return delegate_->isAvailableBlocking(); +} + +template <typename ... _AttributeExtensions> +CommonAPI::ProxyStatusEvent& CommandControlProxy<_AttributeExtensions...>::getProxyStatusEvent() { + return delegate_->getProxyStatusEvent(); +} + +template <typename ... _AttributeExtensions> +CommonAPI::InterfaceVersionAttribute& CommandControlProxy<_AttributeExtensions...>::getInterfaceVersionAttribute() { + return delegate_->getInterfaceVersionAttribute(); +} + + +} // namespace am +} // namespace genivi +} // namespace org + + +#endif // ORG_GENIVI_AM_Command_Control_PROXY_H_ diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxyBase.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxyBase.h new file mode 100644 index 0000000..767b9e1 --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxyBase.h @@ -0,0 +1,348 @@ +/* +* 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. +* +* +*/ +/** + * The interface towards the Controlling Instance (e.g HMI). It handles the + * communication towards the HMI and other system components who need to interact + * with the audiomanagement. +There are two rules that have to be kept in mind + * when implementing against this interface: + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Command_Control_PROXY_BASE_H_ +#define ORG_GENIVI_AM_Command_Control_PROXY_BASE_H_ + +#include "CommandControl.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/Event.h> +#include <CommonAPI/Proxy.h> +#include <functional> +#include <future> + +#undef COMMONAPI_INTERNAL_COMPILATION + +namespace org { +namespace genivi { +namespace am { + +class CommandControlProxyBase: virtual public CommonAPI::Proxy { + public: + typedef CommonAPI::Event<am_MainConnectionType_s> NewMainConnectionEvent; + typedef CommonAPI::Event<am_mainConnectionID_t> RemovedMainConnectionEvent; + typedef CommonAPI::Event<am_SinkType_s> NewSinkEvent; + typedef CommonAPI::Event<am_sinkID_t> RemovedSinkEvent; + typedef CommonAPI::Event<am_SourceType_s> NewSourceEvent; + typedef CommonAPI::Event<am_sourceID_t> RemovedSourceEvent; + typedef CommonAPI::Event<> NumberOfSinkClassesChangedEvent; + typedef CommonAPI::Event<> NumberOfSourceClassesChangedEvent; + typedef CommonAPI::Event<am_mainConnectionID_t, am_ConnectionState_e> MainConnectionStateChangedEvent; + typedef CommonAPI::Event<am_sinkID_t, am_MainSoundProperty_s> MainSinkSoundPropertyChangedEvent; + typedef CommonAPI::Event<am_sourceID_t, am_MainSoundProperty_s> MainSourceSoundPropertyChangedEvent; + typedef CommonAPI::Event<am_sinkID_t, am_Availability_s> SinkAvailabilityChangedEvent; + typedef CommonAPI::Event<am_sourceID_t, am_Availability_s> SourceAvailabilityChangedEvent; + typedef CommonAPI::Event<am_sinkID_t, am_mainVolume_t> VolumeChangedEvent; + typedef CommonAPI::Event<am_sinkID_t, am_MuteState_e> SinkMuteStateChangedEvent; + typedef CommonAPI::Event<am_SystemProperty_s> SystemPropertyChangedEvent; + typedef CommonAPI::Event<am_mainConnectionID_t, am_timeSync_t> TimingInformationChangedEvent; + typedef CommonAPI::Event<am_sinkID_t, am_sinkClass_t, am_MainSoundProperty_L> SinkUpdatedEvent; + typedef CommonAPI::Event<am_sourceID_t, am_sourceClass_t, am_MainSoundProperty_L> SourceUpdatedEvent; + typedef CommonAPI::Event<am_sinkID_t, am_NotificationPayload_s> SinkNotificationEvent; + typedef CommonAPI::Event<am_sourceID_t, am_NotificationPayload_s> SourceNotificationEvent; + typedef CommonAPI::Event<am_sinkID_t, am_NotificationConfiguration_s> MainSinkNotificationConfigurationChangedEvent; + typedef CommonAPI::Event<am_sourceID_t, am_NotificationConfiguration_s> MainSourceNotificationConfigurationChangedEvent; + + typedef std::function<void(const CommonAPI::CallStatus&, const am_mainConnectionID_t&, const am_Error_e&)> ConnectAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> DisconnectAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> SetVolumeAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> VolumeStepAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> SetSinkMuteStateAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> SetMainSinkSoundPropertyAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> SetMainSourceSoundPropertyAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> SetSystemPropertyAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_MainConnection_L&, const am_Error_e&)> GetListMainConnectionsAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_SinkType_L&, const am_Error_e&)> GetListMainSinksAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_SourceType_L&, const am_Error_e&)> GetListMainSourcesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_MainSoundProperty_L&, const am_Error_e&)> GetListMainSinkSoundPropertiesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_MainSoundProperty_L&, const am_Error_e&)> GetListMainSourceSoundPropertiesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_SourceClass_L&, const am_Error_e&)> GetListSourceClassesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_SinkClass_L&, const am_Error_e&)> GetListSinkClassesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_SystemProperty_L&, const am_Error_e&)> GetListSystemPropertiesAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_timeSync_t&, const am_Error_e&)> GetTimingInformationAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_NotificationConfiguration_L&, const am_Error_e&)> GetListMainSinkNotificationConfigurationsAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_NotificationConfiguration_L&, const am_Error_e&)> GetListMainSourceNotificationConfigurationsAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> SetMainSinkNotificationConfigurationAsyncCallback; + typedef std::function<void(const CommonAPI::CallStatus&, const am_Error_e&)> SetMainSourceNotificationConfigurationAsyncCallback; + + + /** + * Callback that is called when the number of connections change + */ + virtual NewMainConnectionEvent& getNewMainConnectionEvent() = 0; + /** + * Callback that is called when the number of connections change + */ + virtual RemovedMainConnectionEvent& getRemovedMainConnectionEvent() = 0; + /** + * Callback that is called when the number of sinks change + */ + virtual NewSinkEvent& getNewSinkEvent() = 0; + /** + * Callback that is called when the number of sinks change + */ + virtual RemovedSinkEvent& getRemovedSinkEvent() = 0; + /** + * Callback that is called when the number of sources change + */ + virtual NewSourceEvent& getNewSourceEvent() = 0; + /** + * Callback that is called when the number of sources change + */ + virtual RemovedSourceEvent& getRemovedSourceEvent() = 0; + /** + * this callback is fired if the number of sink classes changed + */ + virtual NumberOfSinkClassesChangedEvent& getNumberOfSinkClassesChangedEvent() = 0; + /** + * this callback is fired if the number of source classes changed + */ + virtual NumberOfSourceClassesChangedEvent& getNumberOfSourceClassesChangedEvent() = 0; + /** + * This callback is called when the ConnectionState of a connection changed. + */ + virtual MainConnectionStateChangedEvent& getMainConnectionStateChangedEvent() = 0; + /** + * this callback indicates that a sinkSoundProperty has changed. + */ + virtual MainSinkSoundPropertyChangedEvent& getMainSinkSoundPropertyChangedEvent() = 0; + /** + * this callback indicates that a sourceSoundProperty has changed. + */ + virtual MainSourceSoundPropertyChangedEvent& getMainSourceSoundPropertyChangedEvent() = 0; + /** + * this callback is called when the availability of a sink has changed + */ + virtual SinkAvailabilityChangedEvent& getSinkAvailabilityChangedEvent() = 0; + /** + * this callback is called when the availability of source has changed. + */ + virtual SourceAvailabilityChangedEvent& getSourceAvailabilityChangedEvent() = 0; + /** + * this callback indicates a volume change on the indicated sink + */ + virtual VolumeChangedEvent& getVolumeChangedEvent() = 0; + /** + * this callback indicates a mute state change on a sink. + */ + virtual SinkMuteStateChangedEvent& getSinkMuteStateChangedEvent() = 0; + /** + * is fired if a systemProperty changed + */ + virtual SystemPropertyChangedEvent& getSystemPropertyChangedEvent() = 0; + /** + * This callback is fired if the timinginformation for a mainConnectionID changed + */ + virtual TimingInformationChangedEvent& getTimingInformationChangedEvent() = 0; + /** + * This callback is called when a sink is updated. + */ + virtual SinkUpdatedEvent& getSinkUpdatedEvent() = 0; + /** + * This callback is called when a source is updated. + */ + virtual SourceUpdatedEvent& getSourceUpdatedEvent() = 0; + /** + * This callback is called when a notificated value of a sink changes. + */ + virtual SinkNotificationEvent& getSinkNotificationEvent() = 0; + /** + * This callback is called when a notifcated value of a source changes. + */ + virtual SourceNotificationEvent& getSourceNotificationEvent() = 0; + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + virtual MainSinkNotificationConfigurationChangedEvent& getMainSinkNotificationConfigurationChangedEvent() = 0; + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + virtual MainSourceNotificationConfigurationChangedEvent& getMainSourceNotificationConfigurationChangedEvent() = 0; + + /** + * connects a source to sink + (at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ + virtual void connect(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_mainConnectionID_t& mainConnectionID, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> connectAsync(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, ConnectAsyncCallback callback) = 0; + /** + * disconnects a mainConnection + (at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ + virtual void disconnect(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> disconnectAsync(const am_mainConnectionID_t& mainConnectionID, DisconnectAsyncCallback callback) = 0; + /** + * sets the volume for a sink + (at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ + virtual void setVolume(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> setVolumeAsync(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, SetVolumeAsyncCallback callback) = 0; + /** + * This function is used to increment or decrement the current volume for a + * sink. + (at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ + virtual void volumeStep(const am_sinkID_t& sinkID, const int16_t& volStep, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volStep, VolumeStepAsyncCallback callback) = 0; + /** + * sets the mute state of a sink + (at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ + virtual void setSinkMuteState(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> setSinkMuteStateAsync(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, SetSinkMuteStateAsyncCallback callback) = 0; + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + virtual void setMainSinkSoundProperty(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> setMainSinkSoundPropertyAsync(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, SetMainSinkSoundPropertyAsyncCallback callback) = 0; + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + virtual void setMainSourceSoundProperty(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> setMainSourceSoundPropertyAsync(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, SetMainSourceSoundPropertyAsyncCallback callback) = 0; + /** + * is used to set a specific system property. + (at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ + virtual void setSystemProperty(const am_SystemProperty_s& property, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> setSystemPropertyAsync(const am_SystemProperty_s& property, SetSystemPropertyAsyncCallback callback) = 0; + /** + * returns the actual list of MainConnections + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + virtual void getListMainConnections(CommonAPI::CallStatus& callStatus, am_MainConnection_L& listConnections, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListMainConnectionsAsync(GetListMainConnectionsAsyncCallback callback) = 0; + /** + * returns the actual list of Sinks + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + virtual void getListMainSinks(CommonAPI::CallStatus& callStatus, am_SinkType_L& listMainSinks, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListMainSinksAsync(GetListMainSinksAsyncCallback callback) = 0; + /** + * returns the actual list of Sources + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + virtual void getListMainSources(CommonAPI::CallStatus& callStatus, am_SourceType_L& listMainSources, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListMainSourcesAsync(GetListMainSourcesAsyncCallback callback) = 0; + /** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair + (at)return E_OK on + * success, E_DATABASE_ERROR on error + */ + virtual void getListMainSinkSoundProperties(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListMainSinkSoundPropertiesAsync(const am_sinkID_t& sinkID, GetListMainSinkSoundPropertiesAsyncCallback callback) = 0; + /** + * This is used to retrieve all source sound properties related to a + * source. + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + virtual void getListMainSourceSoundProperties(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListMainSourceSoundPropertiesAsync(const am_sourceID_t& sourceID, GetListMainSourceSoundPropertiesAsyncCallback callback) = 0; + /** + * This is used to retrieve SourceClass Information of all source classes + * + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + virtual void getListSourceClasses(CommonAPI::CallStatus& callStatus, am_SourceClass_L& listSourceClasses, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListSourceClassesAsync(GetListSourceClassesAsyncCallback callback) = 0; + /** + * This is used to retrieve SinkClass Information of all sink classes + (at)return + * E_OK on success, E_DATABASE_ERROR on error + */ + virtual void getListSinkClasses(CommonAPI::CallStatus& callStatus, am_SinkClass_L& listSinkClasses, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListSinkClassesAsync(GetListSinkClassesAsyncCallback callback) = 0; + /** + * Retrieves a complete list of all systemProperties. + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + virtual void getListSystemProperties(CommonAPI::CallStatus& callStatus, am_SystemProperty_L& listSystemProperties, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListSystemPropertiesAsync(GetListSystemPropertiesAsyncCallback callback) = 0; + /** + * returns the delay in ms that the audiopath for the given mainConnection + * has + (at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ + virtual void getTimingInformation(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_timeSync_t& delay, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getTimingInformationAsync(const am_mainConnectionID_t& mainConnectionID, GetTimingInformationAsyncCallback callback) = 0; + /** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ + virtual void getListMainSinkNotificationConfigurations(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListMainSinkNotificationConfigurationsAsync(const am_sinkID_t& sinkID, GetListMainSinkNotificationConfigurationsAsyncCallback callback) = 0; + /** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ + virtual void getListMainSourceNotificationConfigurations(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> getListMainSourceNotificationConfigurationsAsync(const am_sourceID_t& sourceID, GetListMainSourceNotificationConfigurationsAsyncCallback callback) = 0; + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ + virtual void setMainSinkNotificationConfiguration(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> setMainSinkNotificationConfigurationAsync(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSinkNotificationConfigurationAsyncCallback callback) = 0; + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ + virtual void setMainSourceNotificationConfiguration(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0; + virtual std::future<CommonAPI::CallStatus> setMainSourceNotificationConfigurationAsync(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, SetMainSourceNotificationConfigurationAsyncCallback callback) = 0; +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Command_Control_PROXY_BASE_H_ diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStub.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStub.h new file mode 100644 index 0000000..4e15ce0 --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStub.h @@ -0,0 +1,492 @@ +/* +* 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. +* +* +*/ +/** + * The interface towards the Controlling Instance (e.g HMI). It handles the + * communication towards the HMI and other system components who need to interact + * with the audiomanagement. +There are two rules that have to be kept in mind + * when implementing against this interface: + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Command_Control_STUB_H_ +#define ORG_GENIVI_AM_Command_Control_STUB_H_ + + + +#include <org/genivi/am.h> + +#include "CommandControl.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 <unordered_set> +#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 CommandControl. 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 CommandControlStubAdapter: virtual public CommonAPI::StubAdapter, public CommandControl { + public: + + /** + * Sends a broadcast event for newMainConnection. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireNewMainConnectionEvent(const am_MainConnectionType_s& mainConnection) = 0; + /** + * Sends a broadcast event for removedMainConnection. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireRemovedMainConnectionEvent(const am_mainConnectionID_t& mainConnection) = 0; + /** + * Sends a broadcast event for newSink. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireNewSinkEvent(const am_SinkType_s& sink) = 0; + /** + * Sends a broadcast event for removedSink. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireRemovedSinkEvent(const am_sinkID_t& sinkID) = 0; + /** + * Sends a broadcast event for newSource. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireNewSourceEvent(const am_SourceType_s& source) = 0; + /** + * Sends a broadcast event for removedSource. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireRemovedSourceEvent(const am_sourceID_t& source) = 0; + /** + * Sends a broadcast event for numberOfSinkClassesChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireNumberOfSinkClassesChangedEvent() = 0; + /** + * Sends a broadcast event for numberOfSourceClassesChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireNumberOfSourceClassesChangedEvent() = 0; + /** + * Sends a broadcast event for mainConnectionStateChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireMainConnectionStateChangedEvent(const am_mainConnectionID_t& connectionID, const am_ConnectionState_e& connectionState) = 0; + /** + * Sends a broadcast event for mainSinkSoundPropertyChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireMainSinkSoundPropertyChangedEvent(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty) = 0; + /** + * Sends a broadcast event for mainSourceSoundPropertyChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireMainSourceSoundPropertyChangedEvent(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty) = 0; + /** + * Sends a broadcast event for sinkAvailabilityChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireSinkAvailabilityChangedEvent(const am_sinkID_t& sinkID, const am_Availability_s& availability) = 0; + /** + * Sends a broadcast event for sourceAvailabilityChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireSourceAvailabilityChangedEvent(const am_sourceID_t& sourceID, const am_Availability_s& availability) = 0; + /** + * Sends a broadcast event for volumeChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireVolumeChangedEvent(const am_sinkID_t& sinkID, const am_mainVolume_t& volume) = 0; + /** + * Sends a broadcast event for sinkMuteStateChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireSinkMuteStateChangedEvent(const am_sinkID_t& sinkID, const am_MuteState_e& muteState) = 0; + /** + * Sends a broadcast event for systemPropertyChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireSystemPropertyChangedEvent(const am_SystemProperty_s& systemProperty) = 0; + /** + * Sends a broadcast event for timingInformationChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireTimingInformationChangedEvent(const am_mainConnectionID_t& mainConnectionID, const am_timeSync_t& time) = 0; + /** + * Sends a broadcast event for sinkUpdated. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireSinkUpdatedEvent(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_MainSoundProperty_L& listMainSoundProperties) = 0; + /** + * Sends a broadcast event for sourceUpdated. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireSourceUpdatedEvent(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_MainSoundProperty_L& listMainSoundProperties) = 0; + /** + * Sends a broadcast event for sinkNotification. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireSinkNotificationEvent(const am_sinkID_t& sinkID, const am_NotificationPayload_s& notification) = 0; + /** + * Sends a broadcast event for sourceNotification. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireSourceNotificationEvent(const am_sourceID_t& sourceID, const am_NotificationPayload_s& notification) = 0; + /** + * Sends a broadcast event for mainSinkNotificationConfigurationChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireMainSinkNotificationConfigurationChangedEvent(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration) = 0; + /** + * Sends a broadcast event for mainSourceNotificationConfigurationChanged. Should not be called directly. + * Instead, the "fire<broadcastName>Event" methods of the stub should be used. + */ + virtual void fireMainSourceNotificationConfigurationChangedEvent(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration) = 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 CommandControl. + * 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 CommandControlStubRemoteEvent { + public: + virtual ~CommandControlStubRemoteEvent() { } + +}; + + +/** + * Defines the interface that must be implemented by any class that should provide + * the service CommandControl 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 CommandControlStub: public virtual CommonAPI::Stub<CommandControlStubAdapter, CommandControlStubRemoteEvent> { +public: + virtual ~CommandControlStub() { } + virtual const CommonAPI::Version& getInterfaceVersion(std::shared_ptr<CommonAPI::ClientId> clientId) = 0; + + + /** + * connects a source to sink + (at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ + /// This is the method that will be called on remote calls on the method connect. + virtual void connect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID, am_Error_e& error) = 0; + /** + * disconnects a mainConnection + (at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ + /// This is the method that will be called on remote calls on the method disconnect. + virtual void disconnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_mainConnectionID_t mainConnectionID, am_Error_e& error) = 0; + /** + * sets the volume for a sink + (at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ + /// This is the method that will be called on remote calls on the method setVolume. + virtual void setVolume(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_mainVolume_t volume, am_Error_e& error) = 0; + /** + * This function is used to increment or decrement the current volume for a + * sink. + (at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ + /// This is the method that will be called on remote calls on the method volumeStep. + virtual void volumeStep(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, int16_t volStep, am_Error_e& error) = 0; + /** + * sets the mute state of a sink + (at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ + /// This is the method that will be called on remote calls on the method setSinkMuteState. + virtual void setSinkMuteState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_MuteState_e muteState, am_Error_e& error) = 0; + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + /// This is the method that will be called on remote calls on the method setMainSinkSoundProperty. + virtual void setMainSinkSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_MainSoundProperty_s soundProperty, am_Error_e& error) = 0; + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + /// This is the method that will be called on remote calls on the method setMainSourceSoundProperty. + virtual void setMainSourceSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_MainSoundProperty_s soundProperty, am_Error_e& error) = 0; + /** + * is used to set a specific system property. + (at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ + /// This is the method that will be called on remote calls on the method setSystemProperty. + virtual void setSystemProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SystemProperty_s property, am_Error_e& error) = 0; + /** + * returns the actual list of MainConnections + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method getListMainConnections. + virtual void getListMainConnections(const std::shared_ptr<CommonAPI::ClientId> clientId, am_MainConnection_L& listConnections, am_Error_e& error) = 0; + /** + * returns the actual list of Sinks + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + /// This is the method that will be called on remote calls on the method getListMainSinks. + virtual void getListMainSinks(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SinkType_L& listMainSinks, am_Error_e& error) = 0; + /** + * returns the actual list of Sources + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + /// This is the method that will be called on remote calls on the method getListMainSources. + virtual void getListMainSources(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SourceType_L& listMainSources, am_Error_e& error) = 0; + /** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair + (at)return E_OK on + * success, E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method getListMainSinkSoundProperties. + virtual void getListMainSinkSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error) = 0; + /** + * This is used to retrieve all source sound properties related to a + * source. + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method getListMainSourceSoundProperties. + virtual void getListMainSourceSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error) = 0; + /** + * This is used to retrieve SourceClass Information of all source classes + * + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method getListSourceClasses. + virtual void getListSourceClasses(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SourceClass_L& listSourceClasses, am_Error_e& error) = 0; + /** + * This is used to retrieve SinkClass Information of all sink classes + (at)return + * E_OK on success, E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method getListSinkClasses. + virtual void getListSinkClasses(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SinkClass_L& listSinkClasses, am_Error_e& error) = 0; + /** + * Retrieves a complete list of all systemProperties. + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method getListSystemProperties. + virtual void getListSystemProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SystemProperty_L& listSystemProperties, am_Error_e& error) = 0; + /** + * returns the delay in ms that the audiopath for the given mainConnection + * has + (at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ + /// This is the method that will be called on remote calls on the method getTimingInformation. + virtual void getTimingInformation(const std::shared_ptr<CommonAPI::ClientId> clientId, am_mainConnectionID_t mainConnectionID, am_timeSync_t& delay, am_Error_e& error) = 0; + /** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ + /// This is the method that will be called on remote calls on the method getListMainSinkNotificationConfigurations. + virtual void getListMainSinkNotificationConfigurations(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) = 0; + /** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ + /// This is the method that will be called on remote calls on the method getListMainSourceNotificationConfigurations. + virtual void getListMainSourceNotificationConfigurations(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) = 0; + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method setMainSinkNotificationConfiguration. + virtual void setMainSinkNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error) = 0; + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ + /// This is the method that will be called on remote calls on the method setMainSourceNotificationConfiguration. + virtual void setMainSourceNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error) = 0; + /** + * Callback that is called when the number of connections change + */ + /// Sends a broadcast event for newMainConnection. + virtual void fireNewMainConnectionEvent(const am_MainConnectionType_s& mainConnection) = 0; + /** + * Callback that is called when the number of connections change + */ + /// Sends a broadcast event for removedMainConnection. + virtual void fireRemovedMainConnectionEvent(const am_mainConnectionID_t& mainConnection) = 0; + /** + * Callback that is called when the number of sinks change + */ + /// Sends a broadcast event for newSink. + virtual void fireNewSinkEvent(const am_SinkType_s& sink) = 0; + /** + * Callback that is called when the number of sinks change + */ + /// Sends a broadcast event for removedSink. + virtual void fireRemovedSinkEvent(const am_sinkID_t& sinkID) = 0; + /** + * Callback that is called when the number of sources change + */ + /// Sends a broadcast event for newSource. + virtual void fireNewSourceEvent(const am_SourceType_s& source) = 0; + /** + * Callback that is called when the number of sources change + */ + /// Sends a broadcast event for removedSource. + virtual void fireRemovedSourceEvent(const am_sourceID_t& source) = 0; + /** + * this callback is fired if the number of sink classes changed + */ + /// Sends a broadcast event for numberOfSinkClassesChanged. + virtual void fireNumberOfSinkClassesChangedEvent() = 0; + /** + * this callback is fired if the number of source classes changed + */ + /// Sends a broadcast event for numberOfSourceClassesChanged. + virtual void fireNumberOfSourceClassesChangedEvent() = 0; + /** + * This callback is called when the ConnectionState of a connection changed. + */ + /// Sends a broadcast event for mainConnectionStateChanged. + virtual void fireMainConnectionStateChangedEvent(const am_mainConnectionID_t& connectionID, const am_ConnectionState_e& connectionState) = 0; + /** + * this callback indicates that a sinkSoundProperty has changed. + */ + /// Sends a broadcast event for mainSinkSoundPropertyChanged. + virtual void fireMainSinkSoundPropertyChangedEvent(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty) = 0; + /** + * this callback indicates that a sourceSoundProperty has changed. + */ + /// Sends a broadcast event for mainSourceSoundPropertyChanged. + virtual void fireMainSourceSoundPropertyChangedEvent(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty) = 0; + /** + * this callback is called when the availability of a sink has changed + */ + /// Sends a broadcast event for sinkAvailabilityChanged. + virtual void fireSinkAvailabilityChangedEvent(const am_sinkID_t& sinkID, const am_Availability_s& availability) = 0; + /** + * this callback is called when the availability of source has changed. + */ + /// Sends a broadcast event for sourceAvailabilityChanged. + virtual void fireSourceAvailabilityChangedEvent(const am_sourceID_t& sourceID, const am_Availability_s& availability) = 0; + /** + * this callback indicates a volume change on the indicated sink + */ + /// Sends a broadcast event for volumeChanged. + virtual void fireVolumeChangedEvent(const am_sinkID_t& sinkID, const am_mainVolume_t& volume) = 0; + /** + * this callback indicates a mute state change on a sink. + */ + /// Sends a broadcast event for sinkMuteStateChanged. + virtual void fireSinkMuteStateChangedEvent(const am_sinkID_t& sinkID, const am_MuteState_e& muteState) = 0; + /** + * is fired if a systemProperty changed + */ + /// Sends a broadcast event for systemPropertyChanged. + virtual void fireSystemPropertyChangedEvent(const am_SystemProperty_s& systemProperty) = 0; + /** + * This callback is fired if the timinginformation for a mainConnectionID changed + */ + /// Sends a broadcast event for timingInformationChanged. + virtual void fireTimingInformationChangedEvent(const am_mainConnectionID_t& mainConnectionID, const am_timeSync_t& time) = 0; + /** + * This callback is called when a sink is updated. + */ + /// Sends a broadcast event for sinkUpdated. + virtual void fireSinkUpdatedEvent(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_MainSoundProperty_L& listMainSoundProperties) = 0; + /** + * This callback is called when a source is updated. + */ + /// Sends a broadcast event for sourceUpdated. + virtual void fireSourceUpdatedEvent(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_MainSoundProperty_L& listMainSoundProperties) = 0; + /** + * This callback is called when a notificated value of a sink changes. + */ + /// Sends a broadcast event for sinkNotification. + virtual void fireSinkNotificationEvent(const am_sinkID_t& sinkID, const am_NotificationPayload_s& notification) = 0; + /** + * This callback is called when a notifcated value of a source changes. + */ + /// Sends a broadcast event for sourceNotification. + virtual void fireSourceNotificationEvent(const am_sourceID_t& sourceID, const am_NotificationPayload_s& notification) = 0; + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + /// Sends a broadcast event for mainSinkNotificationConfigurationChanged. + virtual void fireMainSinkNotificationConfigurationChangedEvent(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration) = 0; + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + /// Sends a broadcast event for mainSourceNotificationConfigurationChanged. + virtual void fireMainSourceNotificationConfigurationChangedEvent(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration) = 0; + + using CommonAPI::Stub<CommandControlStubAdapter, CommandControlStubRemoteEvent>::initStubAdapter; + typedef CommonAPI::Stub<CommandControlStubAdapter, CommandControlStubRemoteEvent>::StubAdapterType StubAdapterType; + typedef CommonAPI::Stub<CommandControlStubAdapter, CommandControlStubRemoteEvent>::RemoteEventHandlerType RemoteEventHandlerType; + typedef CommandControlStubRemoteEvent RemoteEventType; + typedef CommandControl StubInterface; +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Command_Control_STUB_H_ diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.cpp b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.cpp new file mode 100644 index 0000000..cca1a5e --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.cpp @@ -0,0 +1,456 @@ +/* +* 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/CommandControlStubDefault.h> + +namespace org { +namespace genivi { +namespace am { + +CommandControlStubDefault::CommandControlStubDefault(): + remoteEventHandler_(this), + interfaceVersion_(CommandControl::getInterfaceVersion()) { +} + +const CommonAPI::Version& CommandControlStubDefault::getInterfaceVersion(std::shared_ptr<CommonAPI::ClientId> clientId) { + return interfaceVersion_; +} + +CommandControlStubRemoteEvent* CommandControlStubDefault::initStubAdapter(const std::shared_ptr<CommandControlStubAdapter>& stubAdapter) { + CommonAPI::Stub<CommandControlStubAdapter, CommandControlStubRemoteEvent>::stubAdapter_ = stubAdapter; + return &remoteEventHandler_; +} + + +/** + * connects a source to sink +(at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ +void CommandControlStubDefault::connect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID, am_Error_e& error) { + // Call old style methods in default + connect(sourceID, sinkID, mainConnectionID, error); +} +void CommandControlStubDefault::connect(am_sourceID_t sourceID, am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID, am_Error_e& error) { + // No operation in default +} + +/** + * disconnects a mainConnection +(at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ +void CommandControlStubDefault::disconnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_mainConnectionID_t mainConnectionID, am_Error_e& error) { + // Call old style methods in default + disconnect(mainConnectionID, error); +} +void CommandControlStubDefault::disconnect(am_mainConnectionID_t mainConnectionID, am_Error_e& error) { + // No operation in default +} + +/** + * sets the volume for a sink +(at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ +void CommandControlStubDefault::setVolume(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_mainVolume_t volume, am_Error_e& error) { + // Call old style methods in default + setVolume(sinkID, volume, error); +} +void CommandControlStubDefault::setVolume(am_sinkID_t sinkID, am_mainVolume_t volume, am_Error_e& error) { + // No operation in default +} + +/** + * This function is used to increment or decrement the current volume for a + * sink. +(at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ +void CommandControlStubDefault::volumeStep(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, int16_t volStep, am_Error_e& error) { + // Call old style methods in default + volumeStep(sinkID, volStep, error); +} +void CommandControlStubDefault::volumeStep(am_sinkID_t sinkID, int16_t volStep, am_Error_e& error) { + // No operation in default +} + +/** + * sets the mute state of a sink +(at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ +void CommandControlStubDefault::setSinkMuteState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_MuteState_e muteState, am_Error_e& error) { + // Call old style methods in default + setSinkMuteState(sinkID, muteState, error); +} +void CommandControlStubDefault::setSinkMuteState(am_sinkID_t sinkID, am_MuteState_e muteState, am_Error_e& error) { + // No operation in default +} + +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +void CommandControlStubDefault::setMainSinkSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_MainSoundProperty_s soundProperty, am_Error_e& error) { + // Call old style methods in default + setMainSinkSoundProperty(sinkID, soundProperty, error); +} +void CommandControlStubDefault::setMainSinkSoundProperty(am_sinkID_t sinkID, am_MainSoundProperty_s soundProperty, am_Error_e& error) { + // No operation in default +} + +/** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product +(at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ +void CommandControlStubDefault::setMainSourceSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_MainSoundProperty_s soundProperty, am_Error_e& error) { + // Call old style methods in default + setMainSourceSoundProperty(sourceID, soundProperty, error); +} +void CommandControlStubDefault::setMainSourceSoundProperty(am_sourceID_t sourceID, am_MainSoundProperty_s soundProperty, am_Error_e& error) { + // No operation in default +} + +/** + * is used to set a specific system property. +(at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ +void CommandControlStubDefault::setSystemProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SystemProperty_s property, am_Error_e& error) { + // Call old style methods in default + setSystemProperty(property, error); +} +void CommandControlStubDefault::setSystemProperty(am_SystemProperty_s property, am_Error_e& error) { + // No operation in default +} + +/** + * returns the actual list of MainConnections +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +void CommandControlStubDefault::getListMainConnections(const std::shared_ptr<CommonAPI::ClientId> clientId, am_MainConnection_L& listConnections, am_Error_e& error) { + // Call old style methods in default + getListMainConnections(listConnections, error); +} +void CommandControlStubDefault::getListMainConnections(am_MainConnection_L& listConnections, am_Error_e& error) { + // No operation in default +} + +/** + * returns the actual list of Sinks +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +void CommandControlStubDefault::getListMainSinks(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SinkType_L& listMainSinks, am_Error_e& error) { + // Call old style methods in default + getListMainSinks(listMainSinks, error); +} +void CommandControlStubDefault::getListMainSinks(am_SinkType_L& listMainSinks, am_Error_e& error) { + // No operation in default +} + +/** + * returns the actual list of Sources +(at)return E_OK on success, E_DATABASE_ERROR + * on error + */ +void CommandControlStubDefault::getListMainSources(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SourceType_L& listMainSources, am_Error_e& error) { + // Call old style methods in default + getListMainSources(listMainSources, error); +} +void CommandControlStubDefault::getListMainSources(am_SourceType_L& listMainSources, am_Error_e& error) { + // No operation in default +} + +/** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair +(at)return E_OK on + * success, E_DATABASE_ERROR on error + */ +void CommandControlStubDefault::getListMainSinkSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error) { + // Call old style methods in default + getListMainSinkSoundProperties(sinkID, listSoundProperties, error); +} +void CommandControlStubDefault::getListMainSinkSoundProperties(am_sinkID_t sinkID, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error) { + // No operation in default +} + +/** + * This is used to retrieve all source sound properties related to a + * source. +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +void CommandControlStubDefault::getListMainSourceSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error) { + // Call old style methods in default + getListMainSourceSoundProperties(sourceID, listSourceProperties, error); +} +void CommandControlStubDefault::getListMainSourceSoundProperties(am_sourceID_t sourceID, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error) { + // No operation in default +} + +/** + * This is used to retrieve SourceClass Information of all source classes + * +(at)return E_OK on success, E_DATABASE_ERROR on error + */ +void CommandControlStubDefault::getListSourceClasses(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SourceClass_L& listSourceClasses, am_Error_e& error) { + // Call old style methods in default + getListSourceClasses(listSourceClasses, error); +} +void CommandControlStubDefault::getListSourceClasses(am_SourceClass_L& listSourceClasses, am_Error_e& error) { + // No operation in default +} + +/** + * This is used to retrieve SinkClass Information of all sink classes +(at)return + * E_OK on success, E_DATABASE_ERROR on error + */ +void CommandControlStubDefault::getListSinkClasses(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SinkClass_L& listSinkClasses, am_Error_e& error) { + // Call old style methods in default + getListSinkClasses(listSinkClasses, error); +} +void CommandControlStubDefault::getListSinkClasses(am_SinkClass_L& listSinkClasses, am_Error_e& error) { + // No operation in default +} + +/** + * Retrieves a complete list of all systemProperties. +(at)return E_OK on success, + * E_DATABASE_ERROR on error + */ +void CommandControlStubDefault::getListSystemProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SystemProperty_L& listSystemProperties, am_Error_e& error) { + // Call old style methods in default + getListSystemProperties(listSystemProperties, error); +} +void CommandControlStubDefault::getListSystemProperties(am_SystemProperty_L& listSystemProperties, am_Error_e& error) { + // No operation in default +} + +/** + * returns the delay in ms that the audiopath for the given mainConnection + * has +(at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ +void CommandControlStubDefault::getTimingInformation(const std::shared_ptr<CommonAPI::ClientId> clientId, am_mainConnectionID_t mainConnectionID, am_timeSync_t& delay, am_Error_e& error) { + // Call old style methods in default + getTimingInformation(mainConnectionID, delay, error); +} +void CommandControlStubDefault::getTimingInformation(am_mainConnectionID_t mainConnectionID, am_timeSync_t& delay, am_Error_e& error) { + // No operation in default +} + +/** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ +void CommandControlStubDefault::getListMainSinkNotificationConfigurations(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) { + // Call old style methods in default + getListMainSinkNotificationConfigurations(sinkID, listMainNotificationConfigurations, error); +} +void CommandControlStubDefault::getListMainSinkNotificationConfigurations(am_sinkID_t sinkID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) { + // No operation in default +} + +/** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ +void CommandControlStubDefault::getListMainSourceNotificationConfigurations(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) { + // Call old style methods in default + getListMainSourceNotificationConfigurations(sourceID, listMainNotificationConfigurations, error); +} +void CommandControlStubDefault::getListMainSourceNotificationConfigurations(am_sourceID_t sourceID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) { + // No operation in default +} + +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ +void CommandControlStubDefault::setMainSinkNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error) { + // Call old style methods in default + setMainSinkNotificationConfiguration(sinkID, mainNotificationConfiguration, error); +} +void CommandControlStubDefault::setMainSinkNotificationConfiguration(am_sinkID_t sinkID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error) { + // No operation in default +} + +/** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. +(at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ +void CommandControlStubDefault::setMainSourceNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error) { + // Call old style methods in default + setMainSourceNotificationConfiguration(sourceID, mainNotificationConfiguration, error); +} +void CommandControlStubDefault::setMainSourceNotificationConfiguration(am_sourceID_t sourceID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error) { + // No operation in default +} + + +/** + * Callback that is called when the number of connections change + */ +void CommandControlStubDefault::fireNewMainConnectionEvent(const am_MainConnectionType_s& mainConnection) { + stubAdapter_->fireNewMainConnectionEvent(mainConnection); +} +/** + * Callback that is called when the number of connections change + */ +void CommandControlStubDefault::fireRemovedMainConnectionEvent(const am_mainConnectionID_t& mainConnection) { + stubAdapter_->fireRemovedMainConnectionEvent(mainConnection); +} +/** + * Callback that is called when the number of sinks change + */ +void CommandControlStubDefault::fireNewSinkEvent(const am_SinkType_s& sink) { + stubAdapter_->fireNewSinkEvent(sink); +} +/** + * Callback that is called when the number of sinks change + */ +void CommandControlStubDefault::fireRemovedSinkEvent(const am_sinkID_t& sinkID) { + stubAdapter_->fireRemovedSinkEvent(sinkID); +} +/** + * Callback that is called when the number of sources change + */ +void CommandControlStubDefault::fireNewSourceEvent(const am_SourceType_s& source) { + stubAdapter_->fireNewSourceEvent(source); +} +/** + * Callback that is called when the number of sources change + */ +void CommandControlStubDefault::fireRemovedSourceEvent(const am_sourceID_t& source) { + stubAdapter_->fireRemovedSourceEvent(source); +} +/** + * this callback is fired if the number of sink classes changed + */ +void CommandControlStubDefault::fireNumberOfSinkClassesChangedEvent() { + stubAdapter_->fireNumberOfSinkClassesChangedEvent(); +} +/** + * this callback is fired if the number of source classes changed + */ +void CommandControlStubDefault::fireNumberOfSourceClassesChangedEvent() { + stubAdapter_->fireNumberOfSourceClassesChangedEvent(); +} +/** + * This callback is called when the ConnectionState of a connection changed. + */ +void CommandControlStubDefault::fireMainConnectionStateChangedEvent(const am_mainConnectionID_t& connectionID, const am_ConnectionState_e& connectionState) { + stubAdapter_->fireMainConnectionStateChangedEvent(connectionID, connectionState); +} +/** + * this callback indicates that a sinkSoundProperty has changed. + */ +void CommandControlStubDefault::fireMainSinkSoundPropertyChangedEvent(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty) { + stubAdapter_->fireMainSinkSoundPropertyChangedEvent(sinkID, soundProperty); +} +/** + * this callback indicates that a sourceSoundProperty has changed. + */ +void CommandControlStubDefault::fireMainSourceSoundPropertyChangedEvent(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty) { + stubAdapter_->fireMainSourceSoundPropertyChangedEvent(sourceID, soundProperty); +} +/** + * this callback is called when the availability of a sink has changed + */ +void CommandControlStubDefault::fireSinkAvailabilityChangedEvent(const am_sinkID_t& sinkID, const am_Availability_s& availability) { + stubAdapter_->fireSinkAvailabilityChangedEvent(sinkID, availability); +} +/** + * this callback is called when the availability of source has changed. + */ +void CommandControlStubDefault::fireSourceAvailabilityChangedEvent(const am_sourceID_t& sourceID, const am_Availability_s& availability) { + stubAdapter_->fireSourceAvailabilityChangedEvent(sourceID, availability); +} +/** + * this callback indicates a volume change on the indicated sink + */ +void CommandControlStubDefault::fireVolumeChangedEvent(const am_sinkID_t& sinkID, const am_mainVolume_t& volume) { + stubAdapter_->fireVolumeChangedEvent(sinkID, volume); +} +/** + * this callback indicates a mute state change on a sink. + */ +void CommandControlStubDefault::fireSinkMuteStateChangedEvent(const am_sinkID_t& sinkID, const am_MuteState_e& muteState) { + stubAdapter_->fireSinkMuteStateChangedEvent(sinkID, muteState); +} +/** + * is fired if a systemProperty changed + */ +void CommandControlStubDefault::fireSystemPropertyChangedEvent(const am_SystemProperty_s& systemProperty) { + stubAdapter_->fireSystemPropertyChangedEvent(systemProperty); +} +/** + * This callback is fired if the timinginformation for a mainConnectionID changed + */ +void CommandControlStubDefault::fireTimingInformationChangedEvent(const am_mainConnectionID_t& mainConnectionID, const am_timeSync_t& time) { + stubAdapter_->fireTimingInformationChangedEvent(mainConnectionID, time); +} +/** + * This callback is called when a sink is updated. + */ +void CommandControlStubDefault::fireSinkUpdatedEvent(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_MainSoundProperty_L& listMainSoundProperties) { + stubAdapter_->fireSinkUpdatedEvent(sinkID, sinkClassID, listMainSoundProperties); +} +/** + * This callback is called when a source is updated. + */ +void CommandControlStubDefault::fireSourceUpdatedEvent(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_MainSoundProperty_L& listMainSoundProperties) { + stubAdapter_->fireSourceUpdatedEvent(sourceID, sourceClassID, listMainSoundProperties); +} +/** + * This callback is called when a notificated value of a sink changes. + */ +void CommandControlStubDefault::fireSinkNotificationEvent(const am_sinkID_t& sinkID, const am_NotificationPayload_s& notification) { + stubAdapter_->fireSinkNotificationEvent(sinkID, notification); +} +/** + * This callback is called when a notifcated value of a source changes. + */ +void CommandControlStubDefault::fireSourceNotificationEvent(const am_sourceID_t& sourceID, const am_NotificationPayload_s& notification) { + stubAdapter_->fireSourceNotificationEvent(sourceID, notification); +} +/** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ +void CommandControlStubDefault::fireMainSinkNotificationConfigurationChangedEvent(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration) { + stubAdapter_->fireMainSinkNotificationConfigurationChangedEvent(sinkID, mainNotificationConfiguration); +} +/** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ +void CommandControlStubDefault::fireMainSourceNotificationConfigurationChangedEvent(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration) { + stubAdapter_->fireMainSourceNotificationConfigurationChangedEvent(sourceID, mainNotificationConfiguration); +} + + +CommandControlStubDefault::RemoteEventHandler::RemoteEventHandler(CommandControlStubDefault* defaultStub): + defaultStub_(defaultStub) { +} + +} // namespace am +} // namespace genivi +} // namespace org diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.h new file mode 100644 index 0000000..a6d46f8 --- /dev/null +++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.h @@ -0,0 +1,336 @@ +/* +* 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. +* +* +*/ +/** + * The interface towards the Controlling Instance (e.g HMI). It handles the + * communication towards the HMI and other system components who need to interact + * with the audiomanagement. +There are two rules that have to be kept in mind + * when implementing against this interface: + * @author Christian Mueller + */ +#ifndef ORG_GENIVI_AM_Command_Control_STUB_DEFAULT_H_ +#define ORG_GENIVI_AM_Command_Control_STUB_DEFAULT_H_ + + +#include <org/genivi/am/CommandControlStub.h> +#include <sstream> + +namespace org { +namespace genivi { +namespace am { + +/** + * Provides a default implementation for CommandControlStubRemoteEvent and + * CommandControlStub. 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 CommandControlStubDefault : public virtual CommandControlStub { +public: + CommandControlStubDefault(); + + CommandControlStubRemoteEvent* initStubAdapter(const std::shared_ptr<CommandControlStubAdapter>& stubAdapter); + + const CommonAPI::Version& getInterfaceVersion(std::shared_ptr<CommonAPI::ClientId> clientId); + + + /** + * connects a source to sink + (at)return E_OK on success, E_NOT_POSSIBLE on + * failure, E_ALREADY_EXISTS if the connection does already exists + */ + virtual void connect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID, am_Error_e& error); + virtual void connect(am_sourceID_t sourceID, am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID, am_Error_e& error); + + /** + * disconnects a mainConnection + (at)return E_OK on successes, E_NON_EXISTENT if + * the connection does not exist, E_NOT_POSSIBLE on error. + */ + virtual void disconnect(const std::shared_ptr<CommonAPI::ClientId> clientId, am_mainConnectionID_t mainConnectionID, am_Error_e& error); + virtual void disconnect(am_mainConnectionID_t mainConnectionID, am_Error_e& error); + + /** + * sets the volume for a sink + (at)return E_OK on success, E_UNKOWN on error, + * E_OUT_OF_RANGE in case the value is out of range + */ + virtual void setVolume(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_mainVolume_t volume, am_Error_e& error); + virtual void setVolume(am_sinkID_t sinkID, am_mainVolume_t volume, am_Error_e& error); + + /** + * This function is used to increment or decrement the current volume for a + * sink. + (at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the + * value is not in the given volume range. + */ + virtual void volumeStep(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, int16_t volStep, am_Error_e& error); + virtual void volumeStep(am_sinkID_t sinkID, int16_t volStep, am_Error_e& error); + + /** + * sets the mute state of a sink + (at)return E_OK on success, E_UNKNOWN on error. + * If the mute state is already the desired one, the Daemon will return E_OK. + */ + virtual void setSinkMuteState(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_MuteState_e muteState, am_Error_e& error); + virtual void setSinkMuteState(am_sinkID_t sinkID, am_MuteState_e muteState, am_Error_e& error); + + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + virtual void setMainSinkSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_MainSoundProperty_s soundProperty, am_Error_e& error); + virtual void setMainSinkSoundProperty(am_sinkID_t sinkID, am_MainSoundProperty_s soundProperty, am_Error_e& error); + + /** + * This method is used to set sound properties, e.g. Equalizer Values. Since the + * capabilities of the system can differ, the exact key value pairs can be + * extended in each product + (at)return E_OK on success, E_OUT_OF_RANGE if value + * exceeds range, E_UNKNOWN in case of an error + */ + virtual void setMainSourceSoundProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_MainSoundProperty_s soundProperty, am_Error_e& error); + virtual void setMainSourceSoundProperty(am_sourceID_t sourceID, am_MainSoundProperty_s soundProperty, am_Error_e& error); + + /** + * is used to set a specific system property. + (at)return E_OK on success, + * E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error + */ + virtual void setSystemProperty(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SystemProperty_s property, am_Error_e& error); + virtual void setSystemProperty(am_SystemProperty_s property, am_Error_e& error); + + /** + * returns the actual list of MainConnections + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + virtual void getListMainConnections(const std::shared_ptr<CommonAPI::ClientId> clientId, am_MainConnection_L& listConnections, am_Error_e& error); + virtual void getListMainConnections(am_MainConnection_L& listConnections, am_Error_e& error); + + /** + * returns the actual list of Sinks + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + virtual void getListMainSinks(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SinkType_L& listMainSinks, am_Error_e& error); + virtual void getListMainSinks(am_SinkType_L& listMainSinks, am_Error_e& error); + + /** + * returns the actual list of Sources + (at)return E_OK on success, E_DATABASE_ERROR + * on error + */ + virtual void getListMainSources(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SourceType_L& listMainSources, am_Error_e& error); + virtual void getListMainSources(am_SourceType_L& listMainSources, am_Error_e& error); + + /** + * This is used to retrieve all source sound properties related to a source. + * Returns a vector of the sound properties and values as pair + (at)return E_OK on + * success, E_DATABASE_ERROR on error + */ + virtual void getListMainSinkSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error); + virtual void getListMainSinkSoundProperties(am_sinkID_t sinkID, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error); + + /** + * This is used to retrieve all source sound properties related to a + * source. + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + virtual void getListMainSourceSoundProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error); + virtual void getListMainSourceSoundProperties(am_sourceID_t sourceID, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error); + + /** + * This is used to retrieve SourceClass Information of all source classes + * + (at)return E_OK on success, E_DATABASE_ERROR on error + */ + virtual void getListSourceClasses(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SourceClass_L& listSourceClasses, am_Error_e& error); + virtual void getListSourceClasses(am_SourceClass_L& listSourceClasses, am_Error_e& error); + + /** + * This is used to retrieve SinkClass Information of all sink classes + (at)return + * E_OK on success, E_DATABASE_ERROR on error + */ + virtual void getListSinkClasses(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SinkClass_L& listSinkClasses, am_Error_e& error); + virtual void getListSinkClasses(am_SinkClass_L& listSinkClasses, am_Error_e& error); + + /** + * Retrieves a complete list of all systemProperties. + (at)return E_OK on success, + * E_DATABASE_ERROR on error + */ + virtual void getListSystemProperties(const std::shared_ptr<CommonAPI::ClientId> clientId, am_SystemProperty_L& listSystemProperties, am_Error_e& error); + virtual void getListSystemProperties(am_SystemProperty_L& listSystemProperties, am_Error_e& error); + + /** + * returns the delay in ms that the audiopath for the given mainConnection + * has + (at)return E_OK on success, E_NOT_POSSIBLE if timing information is not + * yet retrieved, E_DATABASE_ERROR on read error on the database + */ + virtual void getTimingInformation(const std::shared_ptr<CommonAPI::ClientId> clientId, am_mainConnectionID_t mainConnectionID, am_timeSync_t& delay, am_Error_e& error); + virtual void getTimingInformation(am_mainConnectionID_t mainConnectionID, am_timeSync_t& delay, am_Error_e& error); + + /** + * Retrieves the list of MainNotifications for a sink. Does not return the + * possible ones. + */ + virtual void getListMainSinkNotificationConfigurations(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error); + virtual void getListMainSinkNotificationConfigurations(am_sinkID_t sinkID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error); + + /** + * Retrieves the list of MainNotifications for a source. Does not return the + * possible ones. + */ + virtual void getListMainSourceNotificationConfigurations(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error); + virtual void getListMainSourceNotificationConfigurations(am_sourceID_t sourceID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error); + + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error + */ + virtual void setMainSinkNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error); + virtual void setMainSinkNotificationConfiguration(am_sinkID_t sinkID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error); + + /** + * sets a MainNotificationConfiuration. This can be used to turn on an off + * notifications an to change the mode of the configuration. + (at)return E_OK on + * success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error + */ + virtual void setMainSourceNotificationConfiguration(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sourceID_t sourceID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error); + virtual void setMainSourceNotificationConfiguration(am_sourceID_t sourceID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error); + + + /** + * Callback that is called when the number of connections change + */ + virtual void fireNewMainConnectionEvent(const am_MainConnectionType_s& mainConnection); + /** + * Callback that is called when the number of connections change + */ + virtual void fireRemovedMainConnectionEvent(const am_mainConnectionID_t& mainConnection); + /** + * Callback that is called when the number of sinks change + */ + virtual void fireNewSinkEvent(const am_SinkType_s& sink); + /** + * Callback that is called when the number of sinks change + */ + virtual void fireRemovedSinkEvent(const am_sinkID_t& sinkID); + /** + * Callback that is called when the number of sources change + */ + virtual void fireNewSourceEvent(const am_SourceType_s& source); + /** + * Callback that is called when the number of sources change + */ + virtual void fireRemovedSourceEvent(const am_sourceID_t& source); + /** + * this callback is fired if the number of sink classes changed + */ + virtual void fireNumberOfSinkClassesChangedEvent(); + /** + * this callback is fired if the number of source classes changed + */ + virtual void fireNumberOfSourceClassesChangedEvent(); + /** + * This callback is called when the ConnectionState of a connection changed. + */ + virtual void fireMainConnectionStateChangedEvent(const am_mainConnectionID_t& connectionID, const am_ConnectionState_e& connectionState); + /** + * this callback indicates that a sinkSoundProperty has changed. + */ + virtual void fireMainSinkSoundPropertyChangedEvent(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty); + /** + * this callback indicates that a sourceSoundProperty has changed. + */ + virtual void fireMainSourceSoundPropertyChangedEvent(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty); + /** + * this callback is called when the availability of a sink has changed + */ + virtual void fireSinkAvailabilityChangedEvent(const am_sinkID_t& sinkID, const am_Availability_s& availability); + /** + * this callback is called when the availability of source has changed. + */ + virtual void fireSourceAvailabilityChangedEvent(const am_sourceID_t& sourceID, const am_Availability_s& availability); + /** + * this callback indicates a volume change on the indicated sink + */ + virtual void fireVolumeChangedEvent(const am_sinkID_t& sinkID, const am_mainVolume_t& volume); + /** + * this callback indicates a mute state change on a sink. + */ + virtual void fireSinkMuteStateChangedEvent(const am_sinkID_t& sinkID, const am_MuteState_e& muteState); + /** + * is fired if a systemProperty changed + */ + virtual void fireSystemPropertyChangedEvent(const am_SystemProperty_s& systemProperty); + /** + * This callback is fired if the timinginformation for a mainConnectionID changed + */ + virtual void fireTimingInformationChangedEvent(const am_mainConnectionID_t& mainConnectionID, const am_timeSync_t& time); + /** + * This callback is called when a sink is updated. + */ + virtual void fireSinkUpdatedEvent(const am_sinkID_t& sinkID, const am_sinkClass_t& sinkClassID, const am_MainSoundProperty_L& listMainSoundProperties); + /** + * This callback is called when a source is updated. + */ + virtual void fireSourceUpdatedEvent(const am_sourceID_t& sourceID, const am_sourceClass_t& sourceClassID, const am_MainSoundProperty_L& listMainSoundProperties); + /** + * This callback is called when a notificated value of a sink changes. + */ + virtual void fireSinkNotificationEvent(const am_sinkID_t& sinkID, const am_NotificationPayload_s& notification); + /** + * This callback is called when a notifcated value of a source changes. + */ + virtual void fireSourceNotificationEvent(const am_sourceID_t& sourceID, const am_NotificationPayload_s& notification); + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + virtual void fireMainSinkNotificationConfigurationChangedEvent(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration); + /** + * This callback is triggered when a mainNotificationConfiguration is changed. + */ + virtual void fireMainSourceNotificationConfigurationChangedEvent(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration); + + +protected: + class RemoteEventHandler: public virtual CommandControlStubRemoteEvent { + public: + RemoteEventHandler(CommandControlStubDefault* defaultStub); + + + private: + CommandControlStubDefault* defaultStub_; + }; +private: + CommandControlStubDefault::RemoteEventHandler remoteEventHandler_; + + + CommonAPI::Version interfaceVersion_; +}; + +} // namespace am +} // namespace genivi +} // namespace org + +#endif // ORG_GENIVI_AM_Command_Control_STUB_DEFAULT_H_ |