summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Linke <christian.linke@bmw.de>2013-09-25 15:42:47 +0200
committerChristian Linke <christian.linke@bmw.de>2013-09-25 15:42:47 +0200
commit32caf7f1db12965712a1f74016e7b55e258cab73 (patch)
tree3e281e0fcb945b9f2158bf34cc6911f245b56e2b
parent4f90cec2d3cb8f19f03144297e2ce5fd62d80757 (diff)
downloadaudiomanager-32caf7f1db12965712a1f74016e7b55e258cab73.tar.gz
* made sure that CommonAPI stuff compiles with release 2.1
Signed-off-by: Christian Linke <christian.linke@bmw.de>
-rw-r--r--AudioManagerDaemon/fidls/NodeStateManager.fdepl2
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/Consumer.h27
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.cpp46
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.h48
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxy.h162
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxyBase.h202
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStub.h90
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.cpp124
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.h66
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumer.h27
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.cpp34
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.h30
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.cpp53
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.h36
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxy.h65
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxyBase.h82
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStub.h35
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.cpp24
-rw-r--r--AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.h30
-rw-r--r--PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl2
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am.cpp116
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am.h1886
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControl.h48
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.cpp219
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.h187
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.cpp585
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.h128
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxy.h613
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxyBase.h524
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStub.h280
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.cpp303
-rw-r--r--PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.h258
-rwxr-xr-xPluginRoutingInterfaceCAPI/fidl/PluginRoutingInterfaceCAPI_dbus.conf4
-rw-r--r--PluginRoutingInterfaceCAPI/fidl/RoutingInterface.fidl2
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.cpp116
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.h1886
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControl.h44
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.cpp117
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.h127
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.cpp295
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.h53
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserver.h44
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.cpp242
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.h280
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.cpp760
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusStubAdapter.h61
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxy.h679
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverProxyBase.h630
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStub.h339
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.cpp415
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverStubDefault.h302
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxy.h272
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlProxyBase.h297
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStub.h146
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.cpp162
-rw-r--r--PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlStubDefault.h127
56 files changed, 10422 insertions, 3310 deletions
diff --git a/AudioManagerDaemon/fidls/NodeStateManager.fdepl b/AudioManagerDaemon/fidls/NodeStateManager.fdepl
index 624175f..e524417 100644
--- a/AudioManagerDaemon/fidls/NodeStateManager.fdepl
+++ b/AudioManagerDaemon/fidls/NodeStateManager.fdepl
@@ -1,4 +1,4 @@
-import "platform:/plugin/org.genivi.commonapi.dbus/deployment/deployment.fdepl"
+import "platform:/plugin/org.genivi.commonapi.dbus/deployment/CommonAPI-DBus_deployment.fdepl"
import "NodeStateManager.fidl"
define org.genivi.commonapi.dbus.deployment.deployment for interface org.genivi.NodeStateManager.Consumer {
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/Consumer.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/Consumer.h
index 026f431..9c36cb8 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/Consumer.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/Consumer.h
@@ -1,16 +1,32 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Consumer_H_
#define ORG_GENIVI_NODESTATEMANAGER_Consumer_H_
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/types.h>
@@ -29,7 +45,8 @@ class Consumer {
};
const char* Consumer::getInterfaceId() {
- return "org.genivi.NodeStateManager.Consumer";
+ static const char* interfaceId = "org.genivi.NodeStateManager.Consumer";
+ return interfaceId;
}
CommonAPI::Version Consumer::getInterfaceVersion() {
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.cpp b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.cpp
index 202680d..b61fde5 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.cpp
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.cpp
@@ -1,10 +1,24 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#include "ConsumerDBusProxy.h"
namespace org {
@@ -12,12 +26,13 @@ namespace genivi {
namespace NodeStateManager {
std::shared_ptr<CommonAPI::DBus::DBusProxy> createConsumerDBusProxy(
+ 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<ConsumerDBusProxy>(commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
+ return std::make_shared<ConsumerDBusProxy>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
}
__attribute__((constructor)) void registerConsumerDBusProxy(void) {
@@ -26,21 +41,22 @@ __attribute__((constructor)) void registerConsumerDBusProxy(void) {
}
ConsumerDBusProxy::ConsumerDBusProxy(
+ 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(commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection)
-, bootMode_(*this, interfaceName.c_str(), "BootMode"),
- restartReason_(*this, interfaceName.c_str(), "RestartReason"),
- shutdownReason_(*this, interfaceName.c_str(), "ShutdownReason"),
- wakeUpReason_(*this, interfaceName.c_str(), "WakeUpReason")
+ CommonAPI::DBus::DBusProxy(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection)
+,bootMode_(*this, interfaceName.c_str(), "BootMode"),
+restartReason_(*this, interfaceName.c_str(), "RestartReason"),
+shutdownReason_(*this, interfaceName.c_str(), "ShutdownReason"),
+wakeUpReason_(*this, interfaceName.c_str(), "WakeUpReason")
, nodeApplicationMode_(*this, "NodeApplicationMode", "i"),
- sessionStateChanged_(*this, "SessionStateChanged", "sii"),
- nodeState_(*this, "NodeState", "i")
- {
-}
+ sessionStateChanged_(*this, "SessionStateChanged", "sii"),
+ nodeState_(*this, "NodeState", "i")
+ {
+ }
ConsumerDBusProxy::BootModeAttribute& ConsumerDBusProxy::getBootModeAttribute() {
return bootMode_;
@@ -267,6 +283,8 @@ std::future<CommonAPI::CallStatus> ConsumerDBusProxy::SetSessionStateAsync(const
std::move(callback));
}
+
+
void ConsumerDBusProxy::getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const {
ownVersionMajor = 1;
ownVersionMinor = 0;
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.h
index fe17687..e2f39e7 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerDBusProxy.h
@@ -1,16 +1,32 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Consumer_DBUS_PROXY_H_
#define ORG_GENIVI_NODESTATEMANAGER_Consumer_DBUS_PROXY_H_
#include <org/genivi/NodeStateManager/ConsumerProxyBase.h>
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/DBus/DBusFactory.h>
#include <CommonAPI/DBus/DBusProxy.h>
@@ -28,6 +44,7 @@ namespace NodeStateManager {
class ConsumerDBusProxy: virtual public ConsumerProxyBase, virtual public CommonAPI::DBus::DBusProxy {
public:
ConsumerDBusProxy(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& interfaceName,
const std::string& busName,
@@ -45,53 +62,46 @@ class ConsumerDBusProxy: virtual public ConsumerProxyBase, virtual public Common
virtual SessionStateChangedEvent& getSessionStateChangedEvent();
virtual NodeStateEvent& getNodeStateEvent();
-
virtual void GetAppHealthCount(CommonAPI::CallStatus& callStatus, uint32_t& Count);
virtual std::future<CommonAPI::CallStatus> GetAppHealthCountAsync(GetAppHealthCountAsyncCallback callback);
-
virtual void LifecycleRequestComplete(const uint32_t& RequestId, const int32_t& Status, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
virtual std::future<CommonAPI::CallStatus> LifecycleRequestCompleteAsync(const uint32_t& RequestId, const int32_t& Status, LifecycleRequestCompleteAsyncCallback callback);
-
virtual void GetInterfaceVersion(CommonAPI::CallStatus& callStatus, uint32_t& Version);
virtual std::future<CommonAPI::CallStatus> GetInterfaceVersionAsync(GetInterfaceVersionAsyncCallback callback);
-
virtual void GetApplicationMode(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& ApplicationModeId);
virtual std::future<CommonAPI::CallStatus> GetApplicationModeAsync(GetApplicationModeAsyncCallback callback);
-
virtual void UnRegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
virtual std::future<CommonAPI::CallStatus> UnRegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, UnRegisterSessionAsyncCallback callback);
-
virtual void RegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
virtual std::future<CommonAPI::CallStatus> RegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, RegisterSessionAsyncCallback callback);
-
virtual void UnRegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
virtual std::future<CommonAPI::CallStatus> UnRegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, UnRegisterShutdownClientAsyncCallback callback);
-
virtual void RegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
virtual std::future<CommonAPI::CallStatus> RegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, RegisterShutdownClientAsyncCallback callback);
-
virtual void GetNodeState(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& NodeStateId);
virtual std::future<CommonAPI::CallStatus> GetNodeStateAsync(GetNodeStateAsyncCallback callback);
-
virtual void GetSessionState(const std::string& SessionName, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& SessionState, int32_t& ErrorCode);
virtual std::future<CommonAPI::CallStatus> GetSessionStateAsync(const std::string& SessionName, const int32_t& SeatID, GetSessionStateAsyncCallback callback);
-
virtual void SetSessionState(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SessionState, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
virtual std::future<CommonAPI::CallStatus> SetSessionStateAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SessionState, const int32_t& SeatID, SetSessionStateAsyncCallback callback);
+
virtual void getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const;
private:
- CommonAPI::DBus::DBusFreedesktopReadonlyAttribute<BootModeAttribute> bootMode_;
- CommonAPI::DBus::DBusFreedesktopReadonlyAttribute<RestartReasonAttribute> restartReason_;
- CommonAPI::DBus::DBusFreedesktopReadonlyAttribute<ShutdownReasonAttribute> shutdownReason_;
- CommonAPI::DBus::DBusFreedesktopReadonlyAttribute<WakeUpReasonAttribute> wakeUpReason_;
+ CommonAPI::DBus::DBusFreedesktopReadonlyAttribute<BootModeAttribute> bootMode_;
+ CommonAPI::DBus::DBusFreedesktopReadonlyAttribute<RestartReasonAttribute> restartReason_;
+ CommonAPI::DBus::DBusFreedesktopReadonlyAttribute<ShutdownReasonAttribute> shutdownReason_;
+ CommonAPI::DBus::DBusFreedesktopReadonlyAttribute<WakeUpReasonAttribute> wakeUpReason_;
CommonAPI::DBus::DBusEvent<NodeApplicationModeEvent> nodeApplicationMode_;
CommonAPI::DBus::DBusEvent<SessionStateChangedEvent> sessionStateChanged_;
CommonAPI::DBus::DBusEvent<NodeStateEvent> nodeState_;
+
};
+
+
} // namespace NodeStateManager
} // namespace genivi
} // namespace org
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxy.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxy.h
index e0aab4d..1bc14b3 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxy.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxy.h
@@ -1,16 +1,32 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Consumer_PROXY_H_
#define ORG_GENIVI_NODESTATEMANAGER_Consumer_PROXY_H_
#include "ConsumerProxyBase.h"
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/AttributeExtension.h>
#include <CommonAPI/Factory.h>
@@ -27,52 +43,57 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
ConsumerProxy(std::shared_ptr<CommonAPI::Proxy> delegate);
~ConsumerProxy();
- /// Returns the wrapper class that provides access to the attribute BootMode.
+ /**
+ * Returns the wrapper class that provides access to the attribute BootMode.
+ */
virtual BootModeAttribute& getBootModeAttribute() {
return delegate_->getBootModeAttribute();
}
-
- /// Returns the wrapper class that provides access to the attribute RestartReason.
+ /**
+ * Returns the wrapper class that provides access to the attribute RestartReason.
+ */
virtual RestartReasonAttribute& getRestartReasonAttribute() {
return delegate_->getRestartReasonAttribute();
}
-
- /// Returns the wrapper class that provides access to the attribute ShutdownReason.
+ /**
+ * Returns the wrapper class that provides access to the attribute ShutdownReason.
+ */
virtual ShutdownReasonAttribute& getShutdownReasonAttribute() {
return delegate_->getShutdownReasonAttribute();
}
-
- /// Returns the wrapper class that provides access to the attribute WakeUpReason.
+ /**
+ * Returns the wrapper class that provides access to the attribute WakeUpReason.
+ */
virtual WakeUpReasonAttribute& getWakeUpReasonAttribute() {
return delegate_->getWakeUpReasonAttribute();
}
-
- /// Returns the wrapper class that provides access to the broadcast NodeApplicationMode.
+ /**
+ * Returns the wrapper class that provides access to the broadcast NodeApplicationMode.
+ */
virtual NodeApplicationModeEvent& getNodeApplicationModeEvent() {
return delegate_->getNodeApplicationModeEvent();
}
-
- /// Returns the wrapper class that provides access to the broadcast SessionStateChanged.
+ /**
+ * Returns the wrapper class that provides access to the broadcast SessionStateChanged.
+ */
virtual SessionStateChangedEvent& getSessionStateChangedEvent() {
return delegate_->getSessionStateChangedEvent();
}
-
- /// Returns the wrapper class that provides access to the broadcast NodeState.
+ /**
+ * Returns the wrapper class that provides access to the broadcast NodeState.
+ */
virtual NodeStateEvent& getNodeStateEvent() {
return delegate_->getNodeStateEvent();
}
-
-
/**
* Calls GetAppHealthCount with synchronous semantics.
*
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void GetAppHealthCount(CommonAPI::CallStatus& callStatus, uint32_t& Count);
/**
@@ -86,16 +107,14 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> GetAppHealthCountAsync(GetAppHealthCountAsyncCallback callback);
-
/**
* Calls LifecycleRequestComplete with synchronous semantics.
*
- * All const parameters are input parameters to this method.
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void LifecycleRequestComplete(const uint32_t& RequestId, const int32_t& Status, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
/**
@@ -109,15 +128,13 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> LifecycleRequestCompleteAsync(const uint32_t& RequestId, const int32_t& Status, LifecycleRequestCompleteAsyncCallback callback);
-
/**
* Calls GetInterfaceVersion with synchronous semantics.
*
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void GetInterfaceVersion(CommonAPI::CallStatus& callStatus, uint32_t& Version);
/**
@@ -131,15 +148,13 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> GetInterfaceVersionAsync(GetInterfaceVersionAsyncCallback callback);
-
/**
* Calls GetApplicationMode with synchronous semantics.
*
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void GetApplicationMode(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& ApplicationModeId);
/**
@@ -153,16 +168,14 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> GetApplicationModeAsync(GetApplicationModeAsyncCallback callback);
-
/**
* Calls UnRegisterSession with synchronous semantics.
*
- * All const parameters are input parameters to this method.
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void UnRegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
/**
@@ -176,16 +189,14 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> UnRegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, UnRegisterSessionAsyncCallback callback);
-
/**
* Calls RegisterSession with synchronous semantics.
*
- * All const parameters are input parameters to this method.
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void RegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
/**
@@ -199,16 +210,14 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> RegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, RegisterSessionAsyncCallback callback);
-
/**
* Calls UnRegisterShutdownClient with synchronous semantics.
*
- * All const parameters are input parameters to this method.
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void UnRegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
/**
@@ -222,16 +231,14 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> UnRegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, UnRegisterShutdownClientAsyncCallback callback);
-
/**
* Calls RegisterShutdownClient with synchronous semantics.
*
- * All const parameters are input parameters to this method.
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void RegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
/**
@@ -245,15 +252,13 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> RegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, RegisterShutdownClientAsyncCallback callback);
-
/**
* Calls GetNodeState with synchronous semantics.
*
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void GetNodeState(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& NodeStateId);
/**
@@ -267,16 +272,14 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> GetNodeStateAsync(GetNodeStateAsyncCallback callback);
-
/**
* Calls GetSessionState with synchronous semantics.
*
- * All const parameters are input parameters to this method.
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void GetSessionState(const std::string& SessionName, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& SessionState, int32_t& ErrorCode);
/**
@@ -290,16 +293,14 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> GetSessionStateAsync(const std::string& SessionName, const int32_t& SeatID, GetSessionStateAsyncCallback callback);
-
/**
* Calls SetSessionState with synchronous semantics.
*
- * All const parameters are input parameters to this method.
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void SetSessionState(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SessionState, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
/**
@@ -313,23 +314,39 @@ class ConsumerProxy: virtual public Consumer, virtual public ConsumerProxyBase,
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> SetSessionStateAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SessionState, const int32_t& SeatID, SetSessionStateAsyncCallback callback);
+
- /// Returns the CommonAPI address of the remote partner this proxy communicates with.
+ /**
+ * 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.
+ /**
+ * 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.
+ /**
+ * 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.
+ /**
+ * 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 available.
+ /**
+ * 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.
*/
@@ -446,7 +463,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::GetAppHealthCountAsync(GetAppHealthCountAsyncCallback callback) {
return delegate_->GetAppHealthCountAsync(callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::LifecycleRequestComplete(const uint32_t& RequestId, const int32_t& Status, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) {
delegate_->LifecycleRequestComplete(RequestId, Status, callStatus, ErrorCode);
@@ -456,7 +472,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::LifecycleRequestCompleteAsync(const uint32_t& RequestId, const int32_t& Status, LifecycleRequestCompleteAsyncCallback callback) {
return delegate_->LifecycleRequestCompleteAsync(RequestId, Status, callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::GetInterfaceVersion(CommonAPI::CallStatus& callStatus, uint32_t& Version) {
delegate_->GetInterfaceVersion(callStatus, Version);
@@ -466,7 +481,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::GetInterfaceVersionAsync(GetInterfaceVersionAsyncCallback callback) {
return delegate_->GetInterfaceVersionAsync(callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::GetApplicationMode(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& ApplicationModeId) {
delegate_->GetApplicationMode(callStatus, ErrorCode, ApplicationModeId);
@@ -476,7 +490,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::GetApplicationModeAsync(GetApplicationModeAsyncCallback callback) {
return delegate_->GetApplicationModeAsync(callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::UnRegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) {
delegate_->UnRegisterSession(SessionName, SessionOwner, SeatID, callStatus, ErrorCode);
@@ -486,7 +499,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::UnRegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, UnRegisterSessionAsyncCallback callback) {
return delegate_->UnRegisterSessionAsync(SessionName, SessionOwner, SeatID, callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::RegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) {
delegate_->RegisterSession(SessionName, SessionOwner, SeatID, SessionState, callStatus, ErrorCode);
@@ -496,7 +508,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::RegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, RegisterSessionAsyncCallback callback) {
return delegate_->RegisterSessionAsync(SessionName, SessionOwner, SeatID, SessionState, callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::UnRegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) {
delegate_->UnRegisterShutdownClient(BusName, ObjName, ShutdownMode, callStatus, ErrorCode);
@@ -506,7 +517,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::UnRegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, UnRegisterShutdownClientAsyncCallback callback) {
return delegate_->UnRegisterShutdownClientAsync(BusName, ObjName, ShutdownMode, callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::RegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) {
delegate_->RegisterShutdownClient(BusName, ObjName, ShutdownMode, TimeoutMs, callStatus, ErrorCode);
@@ -516,7 +526,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::RegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, RegisterShutdownClientAsyncCallback callback) {
return delegate_->RegisterShutdownClientAsync(BusName, ObjName, ShutdownMode, TimeoutMs, callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::GetNodeState(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& NodeStateId) {
delegate_->GetNodeState(callStatus, ErrorCode, NodeStateId);
@@ -526,7 +535,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::GetNodeStateAsync(GetNodeStateAsyncCallback callback) {
return delegate_->GetNodeStateAsync(callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::GetSessionState(const std::string& SessionName, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& SessionState, int32_t& ErrorCode) {
delegate_->GetSessionState(SessionName, SeatID, callStatus, SessionState, ErrorCode);
@@ -536,7 +544,6 @@ template <typename ... _AttributeExtensions>
std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::GetSessionStateAsync(const std::string& SessionName, const int32_t& SeatID, GetSessionStateAsyncCallback callback) {
return delegate_->GetSessionStateAsync(SessionName, SeatID, callback);
}
-
template <typename ... _AttributeExtensions>
void ConsumerProxy<_AttributeExtensions...>::SetSessionState(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SessionState, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) {
delegate_->SetSessionState(SessionName, SessionOwner, SessionState, SeatID, callStatus, ErrorCode);
@@ -547,7 +554,6 @@ std::future<CommonAPI::CallStatus> ConsumerProxy<_AttributeExtensions...>::SetSe
return delegate_->SetSessionStateAsync(SessionName, SessionOwner, SessionState, SeatID, callback);
}
-
template <typename ... _AttributeExtensions>
std::string ConsumerProxy<_AttributeExtensions...>::getAddress() const {
return delegate_->getAddress();
@@ -574,6 +580,11 @@ bool ConsumerProxy<_AttributeExtensions...>::isAvailable() const {
}
template <typename ... _AttributeExtensions>
+bool ConsumerProxy<_AttributeExtensions...>::isAvailableBlocking() const {
+ return delegate_->isAvailableBlocking();
+}
+
+template <typename ... _AttributeExtensions>
CommonAPI::ProxyStatusEvent& ConsumerProxy<_AttributeExtensions...>::getProxyStatusEvent() {
return delegate_->getProxyStatusEvent();
}
@@ -583,6 +594,8 @@ CommonAPI::InterfaceVersionAttribute& ConsumerProxy<_AttributeExtensions...>::ge
return delegate_->getInterfaceVersionAttribute();
}
+
+
} // namespace NodeStateManager
} // namespace genivi
} // namespace org
@@ -600,5 +613,4 @@ struct DefaultAttributeProxyFactoryHelper<org::genivi::NodeStateManager::Consume
};
}
-
#endif // ORG_GENIVI_NODESTATEMANAGER_Consumer_PROXY_H_
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxyBase.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxyBase.h
index a226480..5b00424 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxyBase.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerProxyBase.h
@@ -1,99 +1,105 @@
- /*
- * This file was generated by the CommonAPI Generators.
- *
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+/*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
+*
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
+*/
+/**
+ * @author Christian Linke
*/
- #ifndef ORG_GENIVI_NODESTATEMANAGER_Consumer_PROXY_BASE_H_
- #define ORG_GENIVI_NODESTATEMANAGER_Consumer_PROXY_BASE_H_
-
- #include "Consumer.h"
-
-
-
- #define COMMONAPI_INTERNAL_COMPILATION
-
-
- #include <CommonAPI/Attribute.h>
- #include <CommonAPI/Event.h>
- #include <CommonAPI/Proxy.h>
- #include <functional>
- #include <future>
-
- #undef COMMONAPI_INTERNAL_COMPILATION
-
- namespace org {
- namespace genivi {
- namespace NodeStateManager {
-
- class ConsumerProxyBase: virtual public CommonAPI::Proxy {
- public:
- typedef CommonAPI::ReadonlyAttribute<int32_t> BootModeAttribute;
- typedef CommonAPI::ReadonlyAttribute<int32_t> RestartReasonAttribute;
- typedef CommonAPI::ReadonlyAttribute<int32_t> ShutdownReasonAttribute;
- typedef CommonAPI::ReadonlyAttribute<int32_t> WakeUpReasonAttribute;
- typedef CommonAPI::Event<int32_t> NodeApplicationModeEvent;
- typedef CommonAPI::Event<std::string, int32_t, int32_t> SessionStateChangedEvent;
- typedef CommonAPI::Event<int32_t> NodeStateEvent;
- typedef std::function<void(const CommonAPI::CallStatus&, const uint32_t&)> GetAppHealthCountAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> LifecycleRequestCompleteAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const uint32_t&)> GetInterfaceVersionAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&, const int32_t&)> GetApplicationModeAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> UnRegisterSessionAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> RegisterSessionAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> UnRegisterShutdownClientAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> RegisterShutdownClientAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&, const int32_t&)> GetNodeStateAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&, const int32_t&)> GetSessionStateAsyncCallback;
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> SetSessionStateAsyncCallback;
-
- virtual BootModeAttribute& getBootModeAttribute() = 0;
- virtual RestartReasonAttribute& getRestartReasonAttribute() = 0;
- virtual ShutdownReasonAttribute& getShutdownReasonAttribute() = 0;
- virtual WakeUpReasonAttribute& getWakeUpReasonAttribute() = 0;
-
- virtual NodeApplicationModeEvent& getNodeApplicationModeEvent() = 0;
- virtual SessionStateChangedEvent& getSessionStateChangedEvent() = 0;
- virtual NodeStateEvent& getNodeStateEvent() = 0;
-
-
- virtual void GetAppHealthCount(CommonAPI::CallStatus& callStatus, uint32_t& Count) = 0;
- virtual std::future<CommonAPI::CallStatus> GetAppHealthCountAsync(GetAppHealthCountAsyncCallback callback) = 0;
-
- virtual void LifecycleRequestComplete(const uint32_t& RequestId, const int32_t& Status, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
- virtual std::future<CommonAPI::CallStatus> LifecycleRequestCompleteAsync(const uint32_t& RequestId, const int32_t& Status, LifecycleRequestCompleteAsyncCallback callback) = 0;
-
- virtual void GetInterfaceVersion(CommonAPI::CallStatus& callStatus, uint32_t& Version) = 0;
- virtual std::future<CommonAPI::CallStatus> GetInterfaceVersionAsync(GetInterfaceVersionAsyncCallback callback) = 0;
-
- virtual void GetApplicationMode(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& ApplicationModeId) = 0;
- virtual std::future<CommonAPI::CallStatus> GetApplicationModeAsync(GetApplicationModeAsyncCallback callback) = 0;
-
- virtual void UnRegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
- virtual std::future<CommonAPI::CallStatus> UnRegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, UnRegisterSessionAsyncCallback callback) = 0;
-
- virtual void RegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
- virtual std::future<CommonAPI::CallStatus> RegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, RegisterSessionAsyncCallback callback) = 0;
-
- virtual void UnRegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
- virtual std::future<CommonAPI::CallStatus> UnRegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, UnRegisterShutdownClientAsyncCallback callback) = 0;
-
- virtual void RegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
- virtual std::future<CommonAPI::CallStatus> RegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, RegisterShutdownClientAsyncCallback callback) = 0;
-
- virtual void GetNodeState(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& NodeStateId) = 0;
- virtual std::future<CommonAPI::CallStatus> GetNodeStateAsync(GetNodeStateAsyncCallback callback) = 0;
-
- virtual void GetSessionState(const std::string& SessionName, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& SessionState, int32_t& ErrorCode) = 0;
- virtual std::future<CommonAPI::CallStatus> GetSessionStateAsync(const std::string& SessionName, const int32_t& SeatID, GetSessionStateAsyncCallback callback) = 0;
-
- virtual void SetSessionState(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SessionState, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
- virtual std::future<CommonAPI::CallStatus> SetSessionStateAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SessionState, const int32_t& SeatID, SetSessionStateAsyncCallback callback) = 0;
- };
-
- } // namespace NodeStateManager
- } // namespace genivi
- } // namespace org
-
- #endif // ORG_GENIVI_NODESTATEMANAGER_Consumer_PROXY_BASE_H_
+#ifndef ORG_GENIVI_NODESTATEMANAGER_Consumer_PROXY_BASE_H_
+#define ORG_GENIVI_NODESTATEMANAGER_Consumer_PROXY_BASE_H_
+
+#include "Consumer.h"
+
+
+
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
+#define COMMONAPI_INTERNAL_COMPILATION
+#endif
+
+
+#include <CommonAPI/Attribute.h>
+#include <CommonAPI/Event.h>
+#include <CommonAPI/Proxy.h>
+#include <functional>
+#include <future>
+
+#undef COMMONAPI_INTERNAL_COMPILATION
+
+namespace org {
+namespace genivi {
+namespace NodeStateManager {
+
+class ConsumerProxyBase: virtual public CommonAPI::Proxy {
+ public:
+ typedef CommonAPI::ReadonlyAttribute<int32_t> BootModeAttribute;
+ typedef CommonAPI::ReadonlyAttribute<int32_t> RestartReasonAttribute;
+ typedef CommonAPI::ReadonlyAttribute<int32_t> ShutdownReasonAttribute;
+ typedef CommonAPI::ReadonlyAttribute<int32_t> WakeUpReasonAttribute;
+ typedef CommonAPI::Event<int32_t> NodeApplicationModeEvent;
+ typedef CommonAPI::Event<std::string, int32_t, int32_t> SessionStateChangedEvent;
+ typedef CommonAPI::Event<int32_t> NodeStateEvent;
+
+ typedef std::function<void(const CommonAPI::CallStatus&, const uint32_t&)> GetAppHealthCountAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> LifecycleRequestCompleteAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const uint32_t&)> GetInterfaceVersionAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&, const int32_t&)> GetApplicationModeAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> UnRegisterSessionAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> RegisterSessionAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> UnRegisterShutdownClientAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> RegisterShutdownClientAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&, const int32_t&)> GetNodeStateAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&, const int32_t&)> GetSessionStateAsyncCallback;
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> SetSessionStateAsyncCallback;
+
+ virtual BootModeAttribute& getBootModeAttribute() = 0;
+ virtual RestartReasonAttribute& getRestartReasonAttribute() = 0;
+ virtual ShutdownReasonAttribute& getShutdownReasonAttribute() = 0;
+ virtual WakeUpReasonAttribute& getWakeUpReasonAttribute() = 0;
+
+ virtual NodeApplicationModeEvent& getNodeApplicationModeEvent() = 0;
+ virtual SessionStateChangedEvent& getSessionStateChangedEvent() = 0;
+ virtual NodeStateEvent& getNodeStateEvent() = 0;
+
+ virtual void GetAppHealthCount(CommonAPI::CallStatus& callStatus, uint32_t& Count) = 0;
+ virtual std::future<CommonAPI::CallStatus> GetAppHealthCountAsync(GetAppHealthCountAsyncCallback callback) = 0;
+ virtual void LifecycleRequestComplete(const uint32_t& RequestId, const int32_t& Status, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
+ virtual std::future<CommonAPI::CallStatus> LifecycleRequestCompleteAsync(const uint32_t& RequestId, const int32_t& Status, LifecycleRequestCompleteAsyncCallback callback) = 0;
+ virtual void GetInterfaceVersion(CommonAPI::CallStatus& callStatus, uint32_t& Version) = 0;
+ virtual std::future<CommonAPI::CallStatus> GetInterfaceVersionAsync(GetInterfaceVersionAsyncCallback callback) = 0;
+ virtual void GetApplicationMode(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& ApplicationModeId) = 0;
+ virtual std::future<CommonAPI::CallStatus> GetApplicationModeAsync(GetApplicationModeAsyncCallback callback) = 0;
+ virtual void UnRegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
+ virtual std::future<CommonAPI::CallStatus> UnRegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, UnRegisterSessionAsyncCallback callback) = 0;
+ virtual void RegisterSession(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
+ virtual std::future<CommonAPI::CallStatus> RegisterSessionAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SeatID, const int32_t& SessionState, RegisterSessionAsyncCallback callback) = 0;
+ virtual void UnRegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
+ virtual std::future<CommonAPI::CallStatus> UnRegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, UnRegisterShutdownClientAsyncCallback callback) = 0;
+ virtual void RegisterShutdownClient(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
+ virtual std::future<CommonAPI::CallStatus> RegisterShutdownClientAsync(const std::string& BusName, const std::string& ObjName, const uint32_t& ShutdownMode, const uint32_t& TimeoutMs, RegisterShutdownClientAsyncCallback callback) = 0;
+ virtual void GetNodeState(CommonAPI::CallStatus& callStatus, int32_t& ErrorCode, int32_t& NodeStateId) = 0;
+ virtual std::future<CommonAPI::CallStatus> GetNodeStateAsync(GetNodeStateAsyncCallback callback) = 0;
+ virtual void GetSessionState(const std::string& SessionName, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& SessionState, int32_t& ErrorCode) = 0;
+ virtual std::future<CommonAPI::CallStatus> GetSessionStateAsync(const std::string& SessionName, const int32_t& SeatID, GetSessionStateAsyncCallback callback) = 0;
+ virtual void SetSessionState(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SessionState, const int32_t& SeatID, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
+ virtual std::future<CommonAPI::CallStatus> SetSessionStateAsync(const std::string& SessionName, const std::string& SessionOwner, const int32_t& SessionState, const int32_t& SeatID, SetSessionStateAsyncCallback callback) = 0;
+};
+
+} // namespace NodeStateManager
+} // namespace genivi
+} // namespace org
+
+#endif // ORG_GENIVI_NODESTATEMANAGER_Consumer_PROXY_BASE_H_
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStub.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStub.h
index 4d4aebb..b4bd9d7 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStub.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStub.h
@@ -1,10 +1,24 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Consumer_STUB_H_
#define ORG_GENIVI_NODESTATEMANAGER_Consumer_STUB_H_
@@ -13,8 +27,11 @@
#include "Consumer.h"
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
+#include <unordered_set>
#include <CommonAPI/Stub.h>
@@ -48,6 +65,15 @@ class ConsumerStubAdapter: virtual public CommonAPI::StubAdapter, public Consume
* Instead, the "fire<broadcastName>Event" methods of the stub should be used.
*/
virtual void fireNodeStateEvent(const int32_t& NodeState) = 0;
+
+
+ virtual void deactivateManagedInstances() = 0;
+
+protected:
+ /**
+ * Defines properties for storing the ClientIds of clients / proxies that have
+ * subscribed to the selective broadcasts
+ */
};
@@ -67,25 +93,9 @@ class ConsumerStubRemoteEvent {
public:
virtual ~ConsumerStubRemoteEvent() { }
- /// Verification callback for remote set requests on the attribute BootMode.
- virtual bool onRemoteSetBootModeAttribute(int32_t BootMode) = 0;
- /// Action callback for remote set requests on the attribute BootMode.
- virtual void onRemoteBootModeAttributeChanged() = 0;
- /// Verification callback for remote set requests on the attribute RestartReason.
- virtual bool onRemoteSetRestartReasonAttribute(int32_t RestartReason) = 0;
- /// Action callback for remote set requests on the attribute RestartReason.
- virtual void onRemoteRestartReasonAttributeChanged() = 0;
- /// Verification callback for remote set requests on the attribute ShutdownReason.
- virtual bool onRemoteSetShutdownReasonAttribute(int32_t ShutdownReason) = 0;
- /// Action callback for remote set requests on the attribute ShutdownReason.
- virtual void onRemoteShutdownReasonAttributeChanged() = 0;
- /// Verification callback for remote set requests on the attribute WakeUpReason.
- virtual bool onRemoteSetWakeUpReasonAttribute(int32_t WakeUpReason) = 0;
- /// Action callback for remote set requests on the attribute WakeUpReason.
- virtual void onRemoteWakeUpReasonAttributeChanged() = 0;
};
@@ -100,44 +110,44 @@ class ConsumerStub : public CommonAPI::Stub<ConsumerStubAdapter , ConsumerStubRe
public:
virtual ~ConsumerStub() { }
- /// Provides getter access to the attribute BootMode.
- virtual const int32_t& getBootModeAttribute() = 0;
- /// Provides getter access to the attribute RestartReason.
- virtual const int32_t& getRestartReasonAttribute() = 0;
- /// Provides getter access to the attribute ShutdownReason.
- virtual const int32_t& getShutdownReasonAttribute() = 0;
- /// Provides getter access to the attribute WakeUpReason.
- virtual const int32_t& getWakeUpReasonAttribute() = 0;
+ /// Provides getter access to the attribute BootMode
+ virtual const int32_t& getBootModeAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) = 0;
+ /// Provides getter access to the attribute RestartReason
+ virtual const int32_t& getRestartReasonAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) = 0;
+ /// Provides getter access to the attribute ShutdownReason
+ virtual const int32_t& getShutdownReasonAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) = 0;
+ /// Provides getter access to the attribute WakeUpReason
+ virtual const int32_t& getWakeUpReasonAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) = 0;
/// This is the method that will be called on remote calls on the method GetAppHealthCount.
- virtual void GetAppHealthCount(uint32_t& Count) = 0;
+ virtual void GetAppHealthCount(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t& Count) = 0;
/// This is the method that will be called on remote calls on the method LifecycleRequestComplete.
- virtual void LifecycleRequestComplete(uint32_t RequestId, int32_t Status, int32_t& ErrorCode) = 0;
+ virtual void LifecycleRequestComplete(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t RequestId, int32_t Status, int32_t& ErrorCode) = 0;
/// This is the method that will be called on remote calls on the method GetInterfaceVersion.
- virtual void GetInterfaceVersion(uint32_t& Version) = 0;
+ virtual void GetInterfaceVersion(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t& Version) = 0;
/// This is the method that will be called on remote calls on the method GetApplicationMode.
- virtual void GetApplicationMode(int32_t& ErrorCode, int32_t& ApplicationModeId) = 0;
+ virtual void GetApplicationMode(const std::shared_ptr<CommonAPI::ClientId> clientId, int32_t& ErrorCode, int32_t& ApplicationModeId) = 0;
/// This is the method that will be called on remote calls on the method UnRegisterSession.
- virtual void UnRegisterSession(std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t& ErrorCode) = 0;
+ virtual void UnRegisterSession(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t& ErrorCode) = 0;
/// This is the method that will be called on remote calls on the method RegisterSession.
- virtual void RegisterSession(std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t SessionState, int32_t& ErrorCode) = 0;
+ virtual void RegisterSession(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t SessionState, int32_t& ErrorCode) = 0;
/// This is the method that will be called on remote calls on the method UnRegisterShutdownClient.
- virtual void UnRegisterShutdownClient(std::string BusName, std::string ObjName, uint32_t ShutdownMode, int32_t& ErrorCode) = 0;
+ virtual void UnRegisterShutdownClient(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string BusName, std::string ObjName, uint32_t ShutdownMode, int32_t& ErrorCode) = 0;
/// This is the method that will be called on remote calls on the method RegisterShutdownClient.
- virtual void RegisterShutdownClient(std::string BusName, std::string ObjName, uint32_t ShutdownMode, uint32_t TimeoutMs, int32_t& ErrorCode) = 0;
+ virtual void RegisterShutdownClient(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string BusName, std::string ObjName, uint32_t ShutdownMode, uint32_t TimeoutMs, int32_t& ErrorCode) = 0;
/// This is the method that will be called on remote calls on the method GetNodeState.
- virtual void GetNodeState(int32_t& ErrorCode, int32_t& NodeStateId) = 0;
+ virtual void GetNodeState(const std::shared_ptr<CommonAPI::ClientId> clientId, int32_t& ErrorCode, int32_t& NodeStateId) = 0;
/// This is the method that will be called on remote calls on the method GetSessionState.
- virtual void GetSessionState(std::string SessionName, int32_t SeatID, int32_t& SessionState, int32_t& ErrorCode) = 0;
+ virtual void GetSessionState(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, int32_t SeatID, int32_t& SessionState, int32_t& ErrorCode) = 0;
/// This is the method that will be called on remote calls on the method SetSessionState.
- virtual void SetSessionState(std::string SessionName, std::string SessionOwner, int32_t SessionState, int32_t SeatID, int32_t& ErrorCode) = 0;
-
+ virtual void SetSessionState(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, std::string SessionOwner, int32_t SessionState, int32_t SeatID, int32_t& ErrorCode) = 0;
/// Sends a broadcast event for NodeApplicationMode.
virtual void fireNodeApplicationModeEvent(const int32_t& ApplicationModeId) = 0;
/// Sends a broadcast event for SessionStateChanged.
virtual void fireSessionStateChangedEvent(const std::string& SessionStateName, const int32_t& SeatID, const int32_t& SessionState) = 0;
/// Sends a broadcast event for NodeState.
virtual void fireNodeStateEvent(const int32_t& NodeState) = 0;
+
};
} // namespace NodeStateManager
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.cpp b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.cpp
index 2cacb2f..0b19e12 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.cpp
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.cpp
@@ -1,9 +1,20 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
#include <org/genivi/NodeStateManager/ConsumerStubDefault.h>
@@ -24,12 +35,12 @@ const int32_t& ConsumerStubDefault::getBootModeAttribute() {
return bootModeAttributeValue_;
}
-void ConsumerStubDefault::setBootModeAttribute(int32_t value) {
- trySetBootModeAttribute(std::move(value));
+const int32_t& ConsumerStubDefault::getBootModeAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) {
+ return getBootModeAttribute();
}
-void ConsumerStubDefault::onRemoteBootModeAttributeChanged() {
- // No operation in default
+void ConsumerStubDefault::setBootModeAttribute(int32_t value) {
+ trySetBootModeAttribute(std::move(value));
}
bool ConsumerStubDefault::trySetBootModeAttribute(int32_t value) {
@@ -45,24 +56,17 @@ bool ConsumerStubDefault::validateBootModeAttributeRequestedValue(const int32_t&
return true;
}
-bool ConsumerStubDefault::RemoteEventHandler::onRemoteSetBootModeAttribute(int32_t value) {
- return defaultStub_->trySetBootModeAttribute(std::move(value));
-}
-
-void ConsumerStubDefault::RemoteEventHandler::onRemoteBootModeAttributeChanged() {
- defaultStub_->onRemoteBootModeAttributeChanged();
-}
const int32_t& ConsumerStubDefault::getRestartReasonAttribute() {
return restartReasonAttributeValue_;
}
-void ConsumerStubDefault::setRestartReasonAttribute(int32_t value) {
- trySetRestartReasonAttribute(std::move(value));
+const int32_t& ConsumerStubDefault::getRestartReasonAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) {
+ return getRestartReasonAttribute();
}
-void ConsumerStubDefault::onRemoteRestartReasonAttributeChanged() {
- // No operation in default
+void ConsumerStubDefault::setRestartReasonAttribute(int32_t value) {
+ trySetRestartReasonAttribute(std::move(value));
}
bool ConsumerStubDefault::trySetRestartReasonAttribute(int32_t value) {
@@ -78,24 +82,17 @@ bool ConsumerStubDefault::validateRestartReasonAttributeRequestedValue(const int
return true;
}
-bool ConsumerStubDefault::RemoteEventHandler::onRemoteSetRestartReasonAttribute(int32_t value) {
- return defaultStub_->trySetRestartReasonAttribute(std::move(value));
-}
-
-void ConsumerStubDefault::RemoteEventHandler::onRemoteRestartReasonAttributeChanged() {
- defaultStub_->onRemoteRestartReasonAttributeChanged();
-}
const int32_t& ConsumerStubDefault::getShutdownReasonAttribute() {
return shutdownReasonAttributeValue_;
}
-void ConsumerStubDefault::setShutdownReasonAttribute(int32_t value) {
- trySetShutdownReasonAttribute(std::move(value));
+const int32_t& ConsumerStubDefault::getShutdownReasonAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) {
+ return getShutdownReasonAttribute();
}
-void ConsumerStubDefault::onRemoteShutdownReasonAttributeChanged() {
- // No operation in default
+void ConsumerStubDefault::setShutdownReasonAttribute(int32_t value) {
+ trySetShutdownReasonAttribute(std::move(value));
}
bool ConsumerStubDefault::trySetShutdownReasonAttribute(int32_t value) {
@@ -111,24 +108,17 @@ bool ConsumerStubDefault::validateShutdownReasonAttributeRequestedValue(const in
return true;
}
-bool ConsumerStubDefault::RemoteEventHandler::onRemoteSetShutdownReasonAttribute(int32_t value) {
- return defaultStub_->trySetShutdownReasonAttribute(std::move(value));
-}
-
-void ConsumerStubDefault::RemoteEventHandler::onRemoteShutdownReasonAttributeChanged() {
- defaultStub_->onRemoteShutdownReasonAttributeChanged();
-}
const int32_t& ConsumerStubDefault::getWakeUpReasonAttribute() {
return wakeUpReasonAttributeValue_;
}
-void ConsumerStubDefault::setWakeUpReasonAttribute(int32_t value) {
- trySetWakeUpReasonAttribute(std::move(value));
+const int32_t& ConsumerStubDefault::getWakeUpReasonAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId) {
+ return getWakeUpReasonAttribute();
}
-void ConsumerStubDefault::onRemoteWakeUpReasonAttributeChanged() {
- // No operation in default
+void ConsumerStubDefault::setWakeUpReasonAttribute(int32_t value) {
+ trySetWakeUpReasonAttribute(std::move(value));
}
bool ConsumerStubDefault::trySetWakeUpReasonAttribute(int32_t value) {
@@ -144,55 +134,92 @@ bool ConsumerStubDefault::validateWakeUpReasonAttributeRequestedValue(const int3
return true;
}
-bool ConsumerStubDefault::RemoteEventHandler::onRemoteSetWakeUpReasonAttribute(int32_t value) {
- return defaultStub_->trySetWakeUpReasonAttribute(std::move(value));
-}
-
-void ConsumerStubDefault::RemoteEventHandler::onRemoteWakeUpReasonAttributeChanged() {
- defaultStub_->onRemoteWakeUpReasonAttributeChanged();
-}
+void ConsumerStubDefault::GetAppHealthCount(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t& Count) {
+ // Call old style methods in default
+ GetAppHealthCount(Count);
+}
void ConsumerStubDefault::GetAppHealthCount(uint32_t& Count) {
// No operation in default
}
+void ConsumerStubDefault::LifecycleRequestComplete(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t RequestId, int32_t Status, int32_t& ErrorCode) {
+ // Call old style methods in default
+ LifecycleRequestComplete(RequestId, Status, ErrorCode);
+}
void ConsumerStubDefault::LifecycleRequestComplete(uint32_t RequestId, int32_t Status, int32_t& ErrorCode) {
// No operation in default
}
+void ConsumerStubDefault::GetInterfaceVersion(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t& Version) {
+ // Call old style methods in default
+ GetInterfaceVersion(Version);
+}
void ConsumerStubDefault::GetInterfaceVersion(uint32_t& Version) {
// No operation in default
}
+void ConsumerStubDefault::GetApplicationMode(const std::shared_ptr<CommonAPI::ClientId> clientId, int32_t& ErrorCode, int32_t& ApplicationModeId) {
+ // Call old style methods in default
+ GetApplicationMode(ErrorCode, ApplicationModeId);
+}
void ConsumerStubDefault::GetApplicationMode(int32_t& ErrorCode, int32_t& ApplicationModeId) {
// No operation in default
}
+void ConsumerStubDefault::UnRegisterSession(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t& ErrorCode) {
+ // Call old style methods in default
+ UnRegisterSession(SessionName, SessionOwner, SeatID, ErrorCode);
+}
void ConsumerStubDefault::UnRegisterSession(std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t& ErrorCode) {
// No operation in default
}
+void ConsumerStubDefault::RegisterSession(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t SessionState, int32_t& ErrorCode) {
+ // Call old style methods in default
+ RegisterSession(SessionName, SessionOwner, SeatID, SessionState, ErrorCode);
+}
void ConsumerStubDefault::RegisterSession(std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t SessionState, int32_t& ErrorCode) {
// No operation in default
}
+void ConsumerStubDefault::UnRegisterShutdownClient(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string BusName, std::string ObjName, uint32_t ShutdownMode, int32_t& ErrorCode) {
+ // Call old style methods in default
+ UnRegisterShutdownClient(BusName, ObjName, ShutdownMode, ErrorCode);
+}
void ConsumerStubDefault::UnRegisterShutdownClient(std::string BusName, std::string ObjName, uint32_t ShutdownMode, int32_t& ErrorCode) {
// No operation in default
}
+void ConsumerStubDefault::RegisterShutdownClient(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string BusName, std::string ObjName, uint32_t ShutdownMode, uint32_t TimeoutMs, int32_t& ErrorCode) {
+ // Call old style methods in default
+ RegisterShutdownClient(BusName, ObjName, ShutdownMode, TimeoutMs, ErrorCode);
+}
void ConsumerStubDefault::RegisterShutdownClient(std::string BusName, std::string ObjName, uint32_t ShutdownMode, uint32_t TimeoutMs, int32_t& ErrorCode) {
// No operation in default
}
+void ConsumerStubDefault::GetNodeState(const std::shared_ptr<CommonAPI::ClientId> clientId, int32_t& ErrorCode, int32_t& NodeStateId) {
+ // Call old style methods in default
+ GetNodeState(ErrorCode, NodeStateId);
+}
void ConsumerStubDefault::GetNodeState(int32_t& ErrorCode, int32_t& NodeStateId) {
// No operation in default
}
+void ConsumerStubDefault::GetSessionState(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, int32_t SeatID, int32_t& SessionState, int32_t& ErrorCode) {
+ // Call old style methods in default
+ GetSessionState(SessionName, SeatID, SessionState, ErrorCode);
+}
void ConsumerStubDefault::GetSessionState(std::string SessionName, int32_t SeatID, int32_t& SessionState, int32_t& ErrorCode) {
// No operation in default
}
+void ConsumerStubDefault::SetSessionState(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, std::string SessionOwner, int32_t SessionState, int32_t SeatID, int32_t& ErrorCode) {
+ // Call old style methods in default
+ SetSessionState(SessionName, SessionOwner, SessionState, SeatID, ErrorCode);
+}
void ConsumerStubDefault::SetSessionState(std::string SessionName, std::string SessionOwner, int32_t SessionState, int32_t SeatID, int32_t& ErrorCode) {
// No operation in default
}
@@ -208,6 +235,7 @@ void ConsumerStubDefault::fireNodeStateEvent(const int32_t& NodeState) {
stubAdapter_->fireNodeStateEvent(NodeState);
}
+
ConsumerStubDefault::RemoteEventHandler::RemoteEventHandler(ConsumerStubDefault* defaultStub):
defaultStub_(defaultStub) {
}
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.h
index 7cc92f9..bc7ee8a 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/ConsumerStubDefault.h
@@ -1,14 +1,29 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Consumer_STUB_DEFAULT_H_
#define ORG_GENIVI_NODESTATEMANAGER_Consumer_STUB_DEFAULT_H_
#include <org/genivi/NodeStateManager/ConsumerStub.h>
+#include <sstream>
namespace org {
namespace genivi {
@@ -19,7 +34,7 @@ namespace NodeStateManager {
* ConsumerStub. 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.
@@ -31,79 +46,75 @@ class ConsumerStubDefault : public ConsumerStub {
ConsumerStubRemoteEvent* initStubAdapter(const std::shared_ptr<ConsumerStubAdapter>& stubAdapter);
virtual const int32_t& getBootModeAttribute();
+ virtual const int32_t& getBootModeAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId);
virtual void setBootModeAttribute(int32_t value);
-
virtual const int32_t& getRestartReasonAttribute();
+ virtual const int32_t& getRestartReasonAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId);
virtual void setRestartReasonAttribute(int32_t value);
-
virtual const int32_t& getShutdownReasonAttribute();
+ virtual const int32_t& getShutdownReasonAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId);
virtual void setShutdownReasonAttribute(int32_t value);
-
virtual const int32_t& getWakeUpReasonAttribute();
+ virtual const int32_t& getWakeUpReasonAttribute(const std::shared_ptr<CommonAPI::ClientId> clientId);
virtual void setWakeUpReasonAttribute(int32_t value);
-
+ virtual void GetAppHealthCount(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t& Count);
virtual void GetAppHealthCount(uint32_t& Count);
+ virtual void LifecycleRequestComplete(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t RequestId, int32_t Status, int32_t& ErrorCode);
virtual void LifecycleRequestComplete(uint32_t RequestId, int32_t Status, int32_t& ErrorCode);
+ virtual void GetInterfaceVersion(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t& Version);
virtual void GetInterfaceVersion(uint32_t& Version);
+ virtual void GetApplicationMode(const std::shared_ptr<CommonAPI::ClientId> clientId, int32_t& ErrorCode, int32_t& ApplicationModeId);
virtual void GetApplicationMode(int32_t& ErrorCode, int32_t& ApplicationModeId);
+ virtual void UnRegisterSession(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t& ErrorCode);
virtual void UnRegisterSession(std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t& ErrorCode);
+ virtual void RegisterSession(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t SessionState, int32_t& ErrorCode);
virtual void RegisterSession(std::string SessionName, std::string SessionOwner, int32_t SeatID, int32_t SessionState, int32_t& ErrorCode);
+ virtual void UnRegisterShutdownClient(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string BusName, std::string ObjName, uint32_t ShutdownMode, int32_t& ErrorCode);
virtual void UnRegisterShutdownClient(std::string BusName, std::string ObjName, uint32_t ShutdownMode, int32_t& ErrorCode);
+ virtual void RegisterShutdownClient(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string BusName, std::string ObjName, uint32_t ShutdownMode, uint32_t TimeoutMs, int32_t& ErrorCode);
virtual void RegisterShutdownClient(std::string BusName, std::string ObjName, uint32_t ShutdownMode, uint32_t TimeoutMs, int32_t& ErrorCode);
+ virtual void GetNodeState(const std::shared_ptr<CommonAPI::ClientId> clientId, int32_t& ErrorCode, int32_t& NodeStateId);
virtual void GetNodeState(int32_t& ErrorCode, int32_t& NodeStateId);
+ virtual void GetSessionState(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, int32_t SeatID, int32_t& SessionState, int32_t& ErrorCode);
virtual void GetSessionState(std::string SessionName, int32_t SeatID, int32_t& SessionState, int32_t& ErrorCode);
+ virtual void SetSessionState(const std::shared_ptr<CommonAPI::ClientId> clientId, std::string SessionName, std::string SessionOwner, int32_t SessionState, int32_t SeatID, int32_t& ErrorCode);
virtual void SetSessionState(std::string SessionName, std::string SessionOwner, int32_t SessionState, int32_t SeatID, int32_t& ErrorCode);
-
+
virtual void fireNodeApplicationModeEvent(const int32_t& ApplicationModeId);
virtual void fireSessionStateChangedEvent(const std::string& SessionStateName, const int32_t& SeatID, const int32_t& SessionState);
virtual void fireNodeStateEvent(const int32_t& NodeState);
+
protected:
- virtual void onRemoteBootModeAttributeChanged();
virtual bool trySetBootModeAttribute(int32_t value);
virtual bool validateBootModeAttributeRequestedValue(const int32_t& value);
-
- virtual void onRemoteRestartReasonAttributeChanged();
virtual bool trySetRestartReasonAttribute(int32_t value);
virtual bool validateRestartReasonAttributeRequestedValue(const int32_t& value);
-
- virtual void onRemoteShutdownReasonAttributeChanged();
virtual bool trySetShutdownReasonAttribute(int32_t value);
virtual bool validateShutdownReasonAttributeRequestedValue(const int32_t& value);
-
- virtual void onRemoteWakeUpReasonAttributeChanged();
virtual bool trySetWakeUpReasonAttribute(int32_t value);
virtual bool validateWakeUpReasonAttributeRequestedValue(const int32_t& value);
-
-
+ std::shared_ptr<ConsumerStubAdapter> stubAdapter_;
private:
class RemoteEventHandler: public ConsumerStubRemoteEvent {
public:
RemoteEventHandler(ConsumerStubDefault* defaultStub);
- virtual bool onRemoteSetBootModeAttribute(int32_t value);
- virtual void onRemoteBootModeAttributeChanged();
- virtual bool onRemoteSetRestartReasonAttribute(int32_t value);
- virtual void onRemoteRestartReasonAttributeChanged();
- virtual bool onRemoteSetShutdownReasonAttribute(int32_t value);
- virtual void onRemoteShutdownReasonAttributeChanged();
- virtual bool onRemoteSetWakeUpReasonAttribute(int32_t value);
- virtual void onRemoteWakeUpReasonAttributeChanged();
private:
@@ -111,7 +122,6 @@ class ConsumerStubDefault : public ConsumerStub {
};
RemoteEventHandler remoteEventHandler_;
- std::shared_ptr<ConsumerStubAdapter> stubAdapter_;
int32_t bootModeAttributeValue_;
int32_t restartReasonAttributeValue_;
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumer.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumer.h
index 674e11b..cd3b535 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumer.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumer.h
@@ -1,16 +1,32 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_H_
#define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_H_
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/types.h>
@@ -29,7 +45,8 @@ class LifeCycleConsumer {
};
const char* LifeCycleConsumer::getInterfaceId() {
- return "org.genivi.NodeStateManager.LifeCycleConsumer";
+ static const char* interfaceId = "org.genivi.NodeStateManager.LifeCycleConsumer";
+ return interfaceId;
}
CommonAPI::Version LifeCycleConsumer::getInterfaceVersion() {
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.cpp b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.cpp
index 40f18e6..8f4bc97 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.cpp
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.cpp
@@ -1,10 +1,24 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#include "LifeCycleConsumerDBusProxy.h"
namespace org {
@@ -12,12 +26,13 @@ namespace genivi {
namespace NodeStateManager {
std::shared_ptr<CommonAPI::DBus::DBusProxy> createLifeCycleConsumerDBusProxy(
+ 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<LifeCycleConsumerDBusProxy>(commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
+ return std::make_shared<LifeCycleConsumerDBusProxy>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
}
__attribute__((constructor)) void registerLifeCycleConsumerDBusProxy(void) {
@@ -26,14 +41,15 @@ __attribute__((constructor)) void registerLifeCycleConsumerDBusProxy(void) {
}
LifeCycleConsumerDBusProxy::LifeCycleConsumerDBusProxy(
+ 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(commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection)
- {
-}
+ CommonAPI::DBus::DBusProxy(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection)
+ {
+ }
@@ -57,6 +73,8 @@ std::future<CommonAPI::CallStatus> LifeCycleConsumerDBusProxy::LifecycleRequestA
std::move(callback));
}
+
+
void LifeCycleConsumerDBusProxy::getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const {
ownVersionMajor = 1;
ownVersionMinor = 0;
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.h
index 351558d..7484286 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusProxy.h
@@ -1,16 +1,32 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_DBUS_PROXY_H_
#define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_DBUS_PROXY_H_
#include <org/genivi/NodeStateManager/LifeCycleConsumerProxyBase.h>
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/DBus/DBusFactory.h>
#include <CommonAPI/DBus/DBusProxy.h>
@@ -26,6 +42,7 @@ namespace NodeStateManager {
class LifeCycleConsumerDBusProxy: virtual public LifeCycleConsumerProxyBase, virtual public CommonAPI::DBus::DBusProxy {
public:
LifeCycleConsumerDBusProxy(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& interfaceName,
const std::string& busName,
@@ -36,16 +53,19 @@ class LifeCycleConsumerDBusProxy: virtual public LifeCycleConsumerProxyBase, vir
-
virtual void LifecycleRequest(const uint32_t& Request, const uint32_t& RequestId, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
virtual std::future<CommonAPI::CallStatus> LifecycleRequestAsync(const uint32_t& Request, const uint32_t& RequestId, LifecycleRequestAsyncCallback callback);
+
virtual void getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const;
private:
+
};
+
+
} // namespace NodeStateManager
} // namespace genivi
} // namespace org
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.cpp b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.cpp
index f59fb96..9479a80 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.cpp
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.cpp
@@ -1,9 +1,20 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
#include "LifeCycleConsumerDBusStubAdapter.h"
#include <org/genivi/NodeStateManager/LifeCycleConsumer.h>
@@ -13,13 +24,14 @@ namespace genivi {
namespace NodeStateManager {
std::shared_ptr<CommonAPI::DBus::DBusStubAdapter> createLifeCycleConsumerDBusStubAdapter(
+ 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<LifeCycleConsumerDBusStubAdapter>(commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection, stubBase);
+ return std::make_shared<LifeCycleConsumerDBusStubAdapter>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection, stubBase);
}
__attribute__((constructor)) void registerLifeCycleConsumerDBusStubAdapter(void) {
@@ -28,23 +40,37 @@ __attribute__((constructor)) void registerLifeCycleConsumerDBusStubAdapter(void)
}
LifeCycleConsumerDBusStubAdapter::LifeCycleConsumerDBusStubAdapter(
+ 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):
- LifeCycleConsumerDBusStubAdapterHelper(commonApiAddress, dbusInterfaceName, dbusBusName, dbusObjectPath, dbusConnection, std::dynamic_pointer_cast<LifeCycleConsumerStub>(stub)) {
+ LifeCycleConsumerDBusStubAdapterHelper(factory, commonApiAddress, dbusInterfaceName, dbusBusName, dbusObjectPath,
+ dbusConnection, std::dynamic_pointer_cast<LifeCycleConsumerStub>(stub),
+ NULL)
+ {
+}
+
+LifeCycleConsumerDBusStubAdapter::~LifeCycleConsumerDBusStubAdapter() {
+ deactivateManagedInstances();
+ deinit();
+ stub_.reset();
+}
+
+void LifeCycleConsumerDBusStubAdapter::deactivateManagedInstances() {
}
const char* LifeCycleConsumerDBusStubAdapter::getMethodsDBusIntrospectionXmlData() const {
- return
+ static const char* introspectionData =
"<method name=\"LifecycleRequest\">\n"
"<arg name=\"Request\" type=\"u\" direction=\"in\" />\n"
"<arg name=\"RequestId\" type=\"u\" direction=\"in\" />\n"
"<arg name=\"ErrorCode\" type=\"i\" direction=\"out\" />\n"
"</method>\n"
;
+ return introspectionData;
}
@@ -57,11 +83,14 @@ static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
+const LifeCycleConsumerDBusStubAdapter::StubDispatcherTable& LifeCycleConsumerDBusStubAdapter::getStubDispatcherTable() {
+ static const LifeCycleConsumerDBusStubAdapter::StubDispatcherTable stubDispatcherTable = {
+ { { "LifecycleRequest", "uu" }, &org::genivi::NodeStateManager::lifecycleRequestStubDispatcher }
+ };
+ return stubDispatcherTable;
+}
+
+
} // namespace NodeStateManager
} // namespace genivi
} // namespace org
-
-template<>
-const org::genivi::NodeStateManager::LifeCycleConsumerDBusStubAdapterHelper::StubDispatcherTable org::genivi::NodeStateManager::LifeCycleConsumerDBusStubAdapterHelper::stubDispatcherTable_ = {
- { { "LifecycleRequest", "uu" }, &org::genivi::NodeStateManager::lifecycleRequestStubDispatcher }
-};
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.h
index e6073ea..0c4f6c7 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerDBusStubAdapter.h
@@ -1,19 +1,37 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_DBUS_STUB_ADAPTER_H_
#define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_DBUS_STUB_ADAPTER_H_
#include <org/genivi/NodeStateManager/LifeCycleConsumerStub.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
@@ -26,17 +44,27 @@ typedef CommonAPI::DBus::DBusStubAdapterHelper<LifeCycleConsumerStub> LifeCycleC
class LifeCycleConsumerDBusStubAdapter: public LifeCycleConsumerStubAdapter, public LifeCycleConsumerDBusStubAdapterHelper {
public:
LifeCycleConsumerDBusStubAdapter(
+ 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);
+
+ ~LifeCycleConsumerDBusStubAdapter();
+
+
+ const StubDispatcherTable& getStubDispatcherTable();
+
+ void deactivateManagedInstances();
protected:
virtual const char* getMethodsDBusIntrospectionXmlData() const;
+
+ private:
};
} // namespace NodeStateManager
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxy.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxy.h
index 9289e83..8180d71 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxy.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxy.h
@@ -1,16 +1,32 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_H_
#define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_H_
#include "LifeCycleConsumerProxyBase.h"
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#undef COMMONAPI_INTERNAL_COMPILATION
@@ -27,16 +43,14 @@ class LifeCycleConsumerProxy: virtual public LifeCycleConsumer, virtual public L
-
/**
* Calls LifecycleRequest with synchronous semantics.
*
- * All const parameters are input parameters to this method.
- * All non-const parameters will be filled with the returned values.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void LifecycleRequest(const uint32_t& Request, const uint32_t& RequestId, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode);
/**
@@ -50,23 +64,39 @@ class LifeCycleConsumerProxy: virtual public LifeCycleConsumer, virtual public L
* It will provide the same value for CallStatus as will be handed to the callback.
*/
virtual std::future<CommonAPI::CallStatus> LifecycleRequestAsync(const uint32_t& Request, const uint32_t& RequestId, LifecycleRequestAsyncCallback callback);
+
- /// Returns the CommonAPI address of the remote partner this proxy communicates with.
+ /**
+ * 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.
+ /**
+ * 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.
+ /**
+ * 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.
+ /**
+ * 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 available.
+ /**
+ * 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.
*/
@@ -106,7 +136,6 @@ std::future<CommonAPI::CallStatus> LifeCycleConsumerProxy<_AttributeExtensions..
return delegate_->LifecycleRequestAsync(Request, RequestId, callback);
}
-
template <typename ... _AttributeExtensions>
std::string LifeCycleConsumerProxy<_AttributeExtensions...>::getAddress() const {
return delegate_->getAddress();
@@ -133,6 +162,11 @@ bool LifeCycleConsumerProxy<_AttributeExtensions...>::isAvailable() const {
}
template <typename ... _AttributeExtensions>
+bool LifeCycleConsumerProxy<_AttributeExtensions...>::isAvailableBlocking() const {
+ return delegate_->isAvailableBlocking();
+}
+
+template <typename ... _AttributeExtensions>
CommonAPI::ProxyStatusEvent& LifeCycleConsumerProxy<_AttributeExtensions...>::getProxyStatusEvent() {
return delegate_->getProxyStatusEvent();
}
@@ -142,10 +176,11 @@ CommonAPI::InterfaceVersionAttribute& LifeCycleConsumerProxy<_AttributeExtension
return delegate_->getInterfaceVersionAttribute();
}
+
+
} // namespace NodeStateManager
} // namespace genivi
} // namespace org
-
#endif // ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_H_
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxyBase.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxyBase.h
index 7ee8471..4da22c9 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxyBase.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerProxyBase.h
@@ -1,43 +1,59 @@
- /*
- * This file was generated by the CommonAPI Generators.
- *
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+/*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
+*
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
+*/
+/**
+ * @author Christian Linke
*/
- #ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_BASE_H_
- #define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_BASE_H_
-
- #include "LifeCycleConsumer.h"
-
-
-
- #define COMMONAPI_INTERNAL_COMPILATION
-
+#ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_BASE_H_
+#define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_BASE_H_
- #include <CommonAPI/Proxy.h>
- #include <functional>
- #include <future>
-
- #undef COMMONAPI_INTERNAL_COMPILATION
+#include "LifeCycleConsumer.h"
- namespace org {
- namespace genivi {
- namespace NodeStateManager {
- class LifeCycleConsumerProxyBase: virtual public CommonAPI::Proxy {
- public:
- typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> LifecycleRequestAsyncCallback;
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
+#define COMMONAPI_INTERNAL_COMPILATION
+#endif
+#include <CommonAPI/Proxy.h>
+#include <functional>
+#include <future>
- virtual void LifecycleRequest(const uint32_t& Request, const uint32_t& RequestId, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
- virtual std::future<CommonAPI::CallStatus> LifecycleRequestAsync(const uint32_t& Request, const uint32_t& RequestId, LifecycleRequestAsyncCallback callback) = 0;
- };
+#undef COMMONAPI_INTERNAL_COMPILATION
- } // namespace NodeStateManager
- } // namespace genivi
- } // namespace org
+namespace org {
+namespace genivi {
+namespace NodeStateManager {
- #endif // ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_BASE_H_
+class LifeCycleConsumerProxyBase: virtual public CommonAPI::Proxy {
+ public:
+
+ typedef std::function<void(const CommonAPI::CallStatus&, const int32_t&)> LifecycleRequestAsyncCallback;
+
+
+
+ virtual void LifecycleRequest(const uint32_t& Request, const uint32_t& RequestId, CommonAPI::CallStatus& callStatus, int32_t& ErrorCode) = 0;
+ virtual std::future<CommonAPI::CallStatus> LifecycleRequestAsync(const uint32_t& Request, const uint32_t& RequestId, LifecycleRequestAsyncCallback callback) = 0;
+};
+
+} // namespace NodeStateManager
+} // namespace genivi
+} // namespace org
+
+#endif // ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_PROXY_BASE_H_
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStub.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStub.h
index b7d83fd..595e887 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStub.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStub.h
@@ -1,10 +1,24 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_STUB_H_
#define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_STUB_H_
@@ -13,7 +27,9 @@
#include "LifeCycleConsumer.h"
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/Stub.h>
@@ -33,6 +49,15 @@ namespace NodeStateManager {
class LifeCycleConsumerStubAdapter: virtual public CommonAPI::StubAdapter, public LifeCycleConsumer {
public:
+
+
+ virtual void deactivateManagedInstances() = 0;
+
+protected:
+ /**
+ * Defines properties for storing the ClientIds of clients / proxies that have
+ * subscribed to the selective broadcasts
+ */
};
@@ -67,7 +92,7 @@ class LifeCycleConsumerStub : public CommonAPI::Stub<LifeCycleConsumerStubAdapte
/// This is the method that will be called on remote calls on the method LifecycleRequest.
- virtual void LifecycleRequest(uint32_t Request, uint32_t RequestId, int32_t& ErrorCode) = 0;
+ virtual void LifecycleRequest(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t Request, uint32_t RequestId, int32_t& ErrorCode) = 0;
};
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.cpp b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.cpp
index cc7dbfd..843f310 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.cpp
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.cpp
@@ -1,9 +1,20 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
#include <org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.h>
@@ -21,12 +32,17 @@ LifeCycleConsumerStubRemoteEvent* LifeCycleConsumerStubDefault::initStubAdapter(
}
+void LifeCycleConsumerStubDefault::LifecycleRequest(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t Request, uint32_t RequestId, int32_t& ErrorCode) {
+ // Call old style methods in default
+ LifecycleRequest(Request, RequestId, ErrorCode);
+}
void LifeCycleConsumerStubDefault::LifecycleRequest(uint32_t Request, uint32_t RequestId, int32_t& ErrorCode) {
// No operation in default
}
+
LifeCycleConsumerStubDefault::RemoteEventHandler::RemoteEventHandler(LifeCycleConsumerStubDefault* defaultStub):
defaultStub_(defaultStub) {
}
diff --git a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.h b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.h
index 22e86ab..db7c1b8 100644
--- a/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.h
+++ b/AudioManagerDaemon/src-gen/org/genivi/NodeStateManager/LifeCycleConsumerStubDefault.h
@@ -1,14 +1,29 @@
/*
-* This file was generated by the CommonAPI Generators.
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
- * Copyright (C) 2013, BMW AG
- *
- * \author Christian Linke, christian.linke@bmw.de BMW 2012,2013
+* Copyright (C) 2012, BMW AG
+* This file is part of GENIVI Project AudioManager.
+*
+* Contributions are licensed to the GENIVI Alliance under one or more
+* Contribution License Agreements.
+*
+* \copyright
+* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+* \author Christian Linke christian.linke@bmw.de BMW 2013
+* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_STUB_DEFAULT_H_
#define ORG_GENIVI_NODESTATEMANAGER_Life_Cycle_Consumer_STUB_DEFAULT_H_
#include <org/genivi/NodeStateManager/LifeCycleConsumerStub.h>
+#include <sstream>
namespace org {
namespace genivi {
@@ -19,7 +34,7 @@ namespace NodeStateManager {
* LifeCycleConsumerStub. 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.
@@ -31,12 +46,14 @@ class LifeCycleConsumerStubDefault : public LifeCycleConsumerStub {
LifeCycleConsumerStubRemoteEvent* initStubAdapter(const std::shared_ptr<LifeCycleConsumerStubAdapter>& stubAdapter);
+ virtual void LifecycleRequest(const std::shared_ptr<CommonAPI::ClientId> clientId, uint32_t Request, uint32_t RequestId, int32_t& ErrorCode);
virtual void LifecycleRequest(uint32_t Request, uint32_t RequestId, int32_t& ErrorCode);
+
protected:
-
+ std::shared_ptr<LifeCycleConsumerStubAdapter> stubAdapter_;
private:
class RemoteEventHandler: public LifeCycleConsumerStubRemoteEvent {
public:
@@ -48,7 +65,6 @@ class LifeCycleConsumerStubDefault : public LifeCycleConsumerStub {
};
RemoteEventHandler remoteEventHandler_;
- std::shared_ptr<LifeCycleConsumerStubAdapter> stubAdapter_;
};
diff --git a/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl b/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl
index 1fc0d5f..241e071 100644
--- a/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl
+++ b/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl
@@ -74,7 +74,7 @@ interface CommandControl {
<**
@description : indicated the number of steps that should be incremented or decremented. Positive values here inkrement, negative values decrement
**>
- Int16 volumeStep
+ Int16 volumeStep_
}
out {
am_Error_e ^error
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am.cpp b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am.cpp
index ab69bbb..b3bec03 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am.cpp
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am.cpp
@@ -1,28 +1,26 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#include "am.h"
@@ -30,6 +28,59 @@ namespace org {
namespace genivi {
namespace am {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
am_Route_s::am_Route_s(const am_sourceID_t& sourceIDValue, const am_sinkID_t& sinkIDValue, const am_RoutingElement_L& routeValue):
sourceID(sourceIDValue),
sinkID(sinkIDValue),
@@ -60,6 +111,7 @@ void am_Route_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) cons
outputStream << sinkID;
outputStream << route;
}
+
am_Availability_s::am_Availability_s(const am_Availability_e& availabilityValue, const am_AvailabilityReason_pe& availabilityReasonValue):
availability(availabilityValue),
availabilityReason(availabilityReasonValue)
@@ -86,6 +138,7 @@ void am_Availability_s::writeToOutputStream(CommonAPI::OutputStream& outputStrea
outputStream << availability;
outputStream << availabilityReason;
}
+
am_ClassProperty_s::am_ClassProperty_s(const am_ClassProperty_pe& classPropertyValue, const int16_t& valueValue):
classProperty(classPropertyValue),
value(valueValue)
@@ -112,6 +165,7 @@ void am_ClassProperty_s::writeToOutputStream(CommonAPI::OutputStream& outputStre
outputStream << classProperty;
outputStream << value;
}
+
am_Crossfader_s::am_Crossfader_s(const am_crossfaderID_t& crossfaderIDValue, const std::string& nameValue, const am_sinkID_t& sinkID_AValue, const am_sinkID_t& sinkID_BValue, const am_sourceID_t& sourceIDValue, const am_HotSink_e& hotSinkValue):
crossfaderID(crossfaderIDValue),
name(nameValue),
@@ -154,6 +208,7 @@ void am_Crossfader_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << sourceID;
outputStream << hotSink;
}
+
am_Gateway_s::am_Gateway_s(const am_gatewayID_t& gatewayIDValue, const std::string& nameValue, const am_sinkID_t& sinkIDValue, const am_sourceID_t& sourceIDValue, const am_domainID_t& domainSinkIDValue, const am_domainID_t& domainSourceIDValue, const am_domainID_t& controlDomainIDValue, const am_ConnectionFormat_L& listSourceFormatsValue, const am_ConnectionFormat_L& listSinkFormatsValue, const am_Convertion_L& convertionMatrixValue):
gatewayID(gatewayIDValue),
name(nameValue),
@@ -212,6 +267,7 @@ void am_Gateway_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) co
outputStream << listSinkFormats;
outputStream << convertionMatrix;
}
+
am_RoutingElement_s::am_RoutingElement_s(const am_sourceID_t& sourceIDValue, const am_sinkID_t& sinkIDValue, const am_domainID_t& domainIDValue, const am_ConnectionFormat_pe& connectionFormatValue):
sourceID(sourceIDValue),
sinkID(sinkIDValue),
@@ -246,6 +302,7 @@ void am_RoutingElement_s::writeToOutputStream(CommonAPI::OutputStream& outputStr
outputStream << domainID;
outputStream << connectionFormat;
}
+
am_SoundProperty_s::am_SoundProperty_s(const am_SoundPropertyType_pe& typeValue, const int16_t& valueValue):
type(typeValue),
value(valueValue)
@@ -272,6 +329,7 @@ void am_SoundProperty_s::writeToOutputStream(CommonAPI::OutputStream& outputStre
outputStream << type;
outputStream << value;
}
+
am_SystemProperty_s::am_SystemProperty_s(const am_SystemPropertyType_pe& typeValue, const int16_t& valueValue):
type(typeValue),
value(valueValue)
@@ -298,6 +356,7 @@ void am_SystemProperty_s::writeToOutputStream(CommonAPI::OutputStream& outputStr
outputStream << type;
outputStream << value;
}
+
am_SinkClass_s::am_SinkClass_s(const am_sinkClass_t& sinkClassIDValue, const std::string& nameValue, const am_ClassProperty_L& listClassPropertiesValue):
sinkClassID(sinkClassIDValue),
name(nameValue),
@@ -328,6 +387,7 @@ void am_SinkClass_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << name;
outputStream << listClassProperties;
}
+
am_SourceClass_s::am_SourceClass_s(const am_sourceClass_t& sourceClassIDValue, const std::string& nameValue, const am_ClassProperty_L& listClassPropertiesValue):
sourceClassID(sourceClassIDValue),
name(nameValue),
@@ -358,6 +418,7 @@ void am_SourceClass_s::writeToOutputStream(CommonAPI::OutputStream& outputStream
outputStream << name;
outputStream << listClassProperties;
}
+
am_SourceType_s::am_SourceType_s(const am_sourceID_t& sourceIDValue, const std::string& nameValue, const am_Availability_s& availabilityValue, const am_sourceClass_t& sourceClassIDValue):
sourceID(sourceIDValue),
name(nameValue),
@@ -392,6 +453,7 @@ void am_SourceType_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << availability;
outputStream << sourceClassID;
}
+
am_SinkType_s::am_SinkType_s(const am_sinkID_t& sinkIDValue, const std::string& nameValue, const am_Availability_s& availabilityValue, const am_mainVolume_t& volumeValue, const am_MuteState_e& muteStateValue, const am_sinkClass_t& sinkClassIDValue):
sinkID(sinkIDValue),
name(nameValue),
@@ -434,6 +496,7 @@ void am_SinkType_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) c
outputStream << muteState;
outputStream << sinkClassID;
}
+
am_Handle_s::am_Handle_s(const am_Handle_e& handleTypeValue, const uint16_t& handleValue):
handleType(handleTypeValue),
handle(handleValue)
@@ -460,6 +523,7 @@ void am_Handle_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) con
outputStream << handleType;
outputStream << handle;
}
+
am_MainSoundProperty_s::am_MainSoundProperty_s(const am_MainSoundPropertyType_pe& typeValue, const int16_t& valueValue):
type(typeValue),
value(valueValue)
@@ -486,6 +550,7 @@ void am_MainSoundProperty_s::writeToOutputStream(CommonAPI::OutputStream& output
outputStream << type;
outputStream << value;
}
+
am_MainConnectionType_s::am_MainConnectionType_s(const am_mainConnectionID_t& mainConnectionIDValue, const am_sourceID_t& sourceIDValue, const am_sinkID_t& sinkIDValue, const am_timeSync_t& delayValue, const am_ConnectionState_e& connectionStateValue):
mainConnectionID(mainConnectionIDValue),
sourceID(sourceIDValue),
@@ -524,6 +589,7 @@ void am_MainConnectionType_s::writeToOutputStream(CommonAPI::OutputStream& outpu
outputStream << delay;
outputStream << connectionState;
}
+
am_MainConnection_s::am_MainConnection_s(const am_mainConnectionID_t& mainConnectionIDValue, const am_ConnectionState_e& connectionStateValue, const am_sinkID_t& sinkIDValue, const am_sourceID_t& sourceIDValue, const am_timeSync_t& delayValue, const am_ConnectionID_L& listConnectionIDValue):
mainConnectionID(mainConnectionIDValue),
connectionState(connectionStateValue),
@@ -566,6 +632,7 @@ void am_MainConnection_s::writeToOutputStream(CommonAPI::OutputStream& outputStr
outputStream << delay;
outputStream << listConnectionID;
}
+
am_NotificationPayload_s::am_NotificationPayload_s(const am_NotificationType_pe& typeValue, const int16_t& valueValue):
type(typeValue),
value(valueValue)
@@ -592,6 +659,7 @@ void am_NotificationPayload_s::writeToOutputStream(CommonAPI::OutputStream& outp
outputStream << type;
outputStream << value;
}
+
am_NotificationConfiguration_s::am_NotificationConfiguration_s(const am_NotificationType_pe& typeValue, const am_NotificationStatus_e& statusValue, const int16_t& parameterValue):
type(typeValue),
status(statusValue),
@@ -622,6 +690,7 @@ void am_NotificationConfiguration_s::writeToOutputStream(CommonAPI::OutputStream
outputStream << status;
outputStream << parameter;
}
+
am_Sink_s::am_Sink_s(const am_sinkID_t& sinkIDValue, const std::string& nameValue, const am_domainID_t& domainIDValue, const am_sinkClass_t& sinkClassIDValue, const am_volume_t& volumeValue, const bool& visibleValue, const am_Availability_s& availableValue, const am_MuteState_e& muteStateValue, const am_mainVolume_t& mainVolumeValue, const am_SoundProperty_L& listSoundPropertiesValue, const am_ConnectionFormat_L& listConnectionFormatsValue, const am_MainSoundProperty_L& listMainSoundPropertiesValue, const am_NotificationConfiguration_L& listMainNotificationConfigurationsValue, const am_NotificationConfiguration_L& listNotificationConfigurationsValue):
sinkID(sinkIDValue),
name(nameValue),
@@ -696,6 +765,7 @@ void am_Sink_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) const
outputStream << listMainNotificationConfigurations;
outputStream << listNotificationConfigurations;
}
+
am_Source_s::am_Source_s(const am_sourceID_t& sourceIDValue, const am_domainID_t& domainIDValue, const std::string& nameValue, const am_sourceClass_t& sourceClassIDValue, const am_SourceState_e& sourceStateValue, const am_volume_t& volumeValue, const bool& visibleValue, const am_Availability_s& availableValue, const am_InterruptState_e& interruptStateValue, const am_SoundProperty_L& listSoundPropertiesValue, const am_ConnectionFormat_L& listConnectionFormatsValue, const am_MainSoundProperty_L& listMainSoundPropertiesValue, const am_NotificationConfiguration_L& listMainNotificationConfigurationsValue, const am_NotificationConfiguration_L& listNotificationConfigurationsValue):
sourceID(sourceIDValue),
domainID(domainIDValue),
@@ -770,6 +840,7 @@ void am_Source_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) con
outputStream << listMainNotificationConfigurations;
outputStream << listNotificationConfigurations;
}
+
am_Domain_s::am_Domain_s(const am_domainID_t& domainIDValue, const std::string& nameValue, const std::string& busnameValue, const std::string& nodenameValue, const bool& earlyValue, const bool& completeValue, const am_DomainState_e& stateValue):
domainID(domainIDValue),
name(nameValue),
@@ -816,6 +887,7 @@ void am_Domain_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) con
outputStream << complete;
outputStream << state;
}
+
am_EarlyData_s::am_EarlyData_s(const am_EarlyDataType_e& typeValue, const am_DataType_u& sinksourceValue, const am_EarlyData_u& dataValue):
type(typeValue),
sinksource(sinksourceValue),
@@ -846,6 +918,7 @@ void am_EarlyData_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << sinksource;
outputStream << data;
}
+
am_Connection_s::am_Connection_s(const am_connectionID_t& connectionIDValue, const am_sourceID_t& sourceIDValue, const am_sinkID_t& sinkIDValue, const am_timeSync_t& delayValue, const am_ConnectionFormat_pe& connectionFormatValue):
connectionID(connectionIDValue),
sourceID(sourceIDValue),
@@ -884,6 +957,7 @@ void am_Connection_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << delay;
outputStream << connectionFormat;
}
+
am_Volumes_s::am_Volumes_s(const am_VolumeType_e& volumeTypeValue, const am_DataType_u& volumeIDValue, const am_volume_t& volumeValue, const am_RampType_pe& rampValue, const am_time_t& timeValue):
volumeType(volumeTypeValue),
volumeID(volumeIDValue),
@@ -923,6 +997,8 @@ void am_Volumes_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) co
outputStream << time;
}
+
+
} // namespace am
} // namespace genivi
} // namespace org
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am.h
index 4d94244..d0b8606 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am.h
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am.h
@@ -1,34 +1,34 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_am_H_
#define ORG_GENIVI_am_H_
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/InputStream.h>
#include <CommonAPI/OutputStream.h>
@@ -46,33 +46,92 @@ namespace org {
namespace genivi {
namespace am {
+ /**
+ * a source ID
+ */
+ /**
+ * a source ID
+ */
typedef uint16_t am_sourceID_t;
-
+ /**
+ * a mainConnection ID
+ */
+ /**
+ * a mainConnection ID
+ */
typedef uint16_t am_mainConnectionID_t;
-
+ /**
+ * offset time that is introduced in milli seconds.
+ */
+ /**
+ * offset time that is introduced in milli seconds.
+ */
typedef int16_t am_timeSync_t;
-
+ /**
+ * a sink ID
+ */
+ /**
+ * a sink ID
+ */
typedef uint16_t am_sinkID_t;
-
+ /**
+ * represents the connection state
+ */
enum class am_ConnectionState_e: int32_t {
CS_UNKNOWN = 0,
+ /**
+ * This means the connection is just building up
+ */
CS_CONNECTING = 1,
+ /**
+ * the connection is ready to be used
+ */
CS_CONNECTED = 2,
+ /**
+ * the connection is in the course to be knocked down
+ */
CS_DISCONNECTING = 3,
+ /**
+ * only relevant for connectionStatechanged. Is send after the connection was
+ * removed
+ */
CS_DISCONNECTED = 4,
+ /**
+ * this means the connection is still build up but unused at the moment
+ */
CS_SUSPENDED = 5,
CS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_ConnectionState_eComparator;
-
+ /**
+ * this type holds all information of connections relevant to the HMI
+ */
+ /**
+ * this type holds all information of connections relevant to the HMI
+ */
struct am_MainConnectionType_s: CommonAPI::SerializableStruct {
- am_mainConnectionID_t mainConnectionID;
- am_sourceID_t sourceID;
- am_sinkID_t sinkID;
- am_timeSync_t delay;
- am_ConnectionState_e connectionState;
+ /**
+ * the ID of the mainconnection
+ */
+ am_mainConnectionID_t mainConnectionID;
+ /**
+ * the sourceID where the connection starts
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the sinkID where the connection ends
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the delay of the mainconnection
+ */
+ am_timeSync_t delay;
+ /**
+ * the current connection state
+ */
+ am_ConnectionState_e connectionState;
am_MainConnectionType_s() = default;
am_MainConnectionType_s(const am_mainConnectionID_t& mainConnectionID, const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_timeSync_t& delay, const am_ConnectionState_e& connectionState);
@@ -89,14 +148,29 @@ namespace am {
typeOutputStream.writeInt32Type();
}
};
-
typedef std::vector<am_MainConnectionType_s> am_MainConnection_L;
-
+ /**
+ * product specific identifier of property
+ */
+ /**
+ * product specific identifier of property
+ */
typedef uint16_t am_ClassProperty_pe;
-
+ /**
+ * describes class properties
+ */
+ /**
+ * describes class properties
+ */
struct am_ClassProperty_s: CommonAPI::SerializableStruct {
- am_ClassProperty_pe classProperty;
- int16_t value;
+ /**
+ * the property as enum
+ */
+ am_ClassProperty_pe classProperty;
+ /**
+ * the value of the property
+ */
+ int16_t value;
am_ClassProperty_s() = default;
am_ClassProperty_s(const am_ClassProperty_pe& classProperty, const int16_t& value);
@@ -110,15 +184,28 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_ClassProperty_s> am_ClassProperty_L;
-
typedef uint16_t am_sinkClass_t;
-
+ /**
+ * struct describing sinkclasses
+ */
+ /**
+ * struct describing sinkclasses
+ */
struct am_SinkClass_s: CommonAPI::SerializableStruct {
- am_sinkClass_t sinkClassID;
- std::string name;
- am_ClassProperty_L listClassProperties;
+ /**
+ * the ID of the sinkClass
+ */
+ am_sinkClass_t sinkClassID;
+ /**
+ * the name of the sinkClass - must be unique in the system
+ */
+ std::string name;
+ /**
+ * the list of the class properties. These are pairs of a project specific enum
+ * describing the type of the value and an integer holding the real value.
+ */
+ am_ClassProperty_L listClassProperties;
am_SinkClass_s() = default;
am_SinkClass_s(const am_sinkClass_t& sinkClassID, const std::string& name, const am_ClassProperty_L& listClassProperties);
@@ -137,36 +224,87 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
typedef std::vector<am_SinkClass_s> am_SinkClass_L;
-
+ /**
+ * This is the volume presented on the command interface. It is in the duty of the
+ * Controller to change the volumes given here into meaningful values on the
+ * routing interface.
+ The range of this type is customer specific.
+ */
+ /**
+ * This is the volume presented on the command interface. It is in the duty of the
+ * Controller to change the volumes given here into meaningful values on the
+ * routing interface.
+ The range of this type is customer specific.
+ */
typedef int16_t am_mainVolume_t;
-
+ /**
+ * This project specific value gives the information about reason for reason for
+ * Source/Sink change
+ */
+ /**
+ * This project specific value gives the information about reason for reason for
+ * Source/Sink change
+ */
typedef uint16_t am_AvailabilityReason_pe;
-
+ /**
+ * with the help of this enum, sinks and sources can report their availability
+ * state
+ */
enum class am_Availability_e: int32_t {
+ /**
+ * default
+ */
A_UNKNOWN = 0,
+ /**
+ * The source / sink is available
+ */
A_AVAILABLE = 1,
+ /**
+ * the source / sink is not available
+ */
A_UNAVAILABLE = 2,
A_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_Availability_eComparator;
-
enum class am_MuteState_e: int32_t {
+ /**
+ * default
+ */
MS_UNKNOWN = 0,
+ /**
+ * the source / sink is muted
+ */
MS_MUTED = 1,
+ /**
+ * the source / sink is unmuted
+ */
MS_UNMUTED = 2,
MS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_MuteState_eComparator;
-
+ /**
+ * this describes the availability of a sink or a source together with the latest
+ * change
+ */
+ /**
+ * this describes the availability of a sink or a source together with the latest
+ * change
+ */
struct am_Availability_s: CommonAPI::SerializableStruct {
- am_Availability_e availability;
- am_AvailabilityReason_pe availabilityReason;
+ /**
+ * the current availability state
+ */
+ am_Availability_e availability;
+ /**
+ * the reason for the last change. This can be used to trigger events that deal
+ * with state changes.
+ */
+ am_AvailabilityReason_pe availabilityReason;
am_Availability_s() = default;
am_Availability_s(const am_Availability_e& availability, const am_AvailabilityReason_pe& availabilityReason);
@@ -180,14 +318,49 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
+ /**
+ * this type holds all information of sinks relevant to the HMI
+ */
+ /**
+ * this type holds all information of sinks relevant to the HMI
+ */
struct am_SinkType_s: CommonAPI::SerializableStruct {
- am_sinkID_t sinkID;
- std::string name;
- am_Availability_s availability;
- am_mainVolume_t volume;
- am_MuteState_e muteState;
- am_sinkClass_t sinkClassID;
+ /**
+ * This is the ID of the sink, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_sinkID_t sinkID;
+ /**
+ * The name of the sink. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * This attribute reflects the availability of the sink. There are several reasons
+ * why a sink could be not available for the moment: for example the shutdown of
+ * a sink because of overtemperature or over- &amp; undervoltage. The
+ * availability consists of two pieces of information:
+
+ Availablility: the
+ * status itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
+
+ * AvailabilityReason: this informs about the last reason for a change in
+ * availability. The reasons itself are product specific.
+ */
+ am_Availability_s availability;
+ /**
+ * This is the representation of the Volume for the commandInterface. It is used
+ * by the HMI to set the volume of a sink, the AudioManagerController has to
+ * transform this into real source and sink volumes.
+ */
+ am_mainVolume_t volume;
+ am_MuteState_e muteState;
+ /**
+ * The sinkClassID references to a sinkClass. With the help of classification,
+ * rules can be setup to define the system behaviour.
+ */
+ am_sinkClass_t sinkClassID;
am_SinkType_s() = default;
am_SinkType_s(const am_sinkID_t& sinkID, const std::string& name, const am_Availability_s& availability, const am_mainVolume_t& volume, const am_MuteState_e& muteState, const am_sinkClass_t& sinkClassID);
@@ -207,15 +380,28 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
typedef std::vector<am_SinkType_s> am_SinkType_L;
-
typedef uint16_t am_sourceClass_t;
-
+ /**
+ * struct describing source classes
+ */
+ /**
+ * struct describing source classes
+ */
struct am_SourceClass_s: CommonAPI::SerializableStruct {
- am_sourceClass_t sourceClassID;
- std::string name;
- am_ClassProperty_L listClassProperties;
+ /**
+ * the source ID
+ */
+ am_sourceClass_t sourceClassID;
+ /**
+ * the name of the sourceClass - must be unique in the system
+ */
+ std::string name;
+ /**
+ * the list of the class properties. These are pairs of a project specific enum
+ * describing the type of the value and an integer holding the real value.
+ */
+ am_ClassProperty_L listClassProperties;
am_SourceClass_s() = default;
am_SourceClass_s(const am_sourceClass_t& sourceClassID, const std::string& name, const am_ClassProperty_L& listClassProperties);
@@ -234,14 +420,35 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
typedef std::vector<am_SourceClass_s> am_SourceClass_L;
-
+ /**
+ * this type holds all information of sources relevant to the HMI
+ */
+ /**
+ * this type holds all information of sources relevant to the HMI
+ */
struct am_SourceType_s: CommonAPI::SerializableStruct {
- am_sourceID_t sourceID;
- std::string name;
- am_Availability_s availability;
- am_sourceClass_t sourceClassID;
+ /**
+ * This is the ID of the source, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_sourceID_t sourceID;
+ /**
+ * The name of the source. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * the availability of the source
+ */
+ am_Availability_s availability;
+ /**
+ * the sourceClassID, indicates the class the source is in. This information can
+ * be used by the Controller to implement different behaviour for different
+ * classes.
+ */
+ am_sourceClass_t sourceClassID;
am_SourceType_s() = default;
am_SourceType_s(const am_sourceID_t& sourceID, const std::string& name, const am_Availability_s& availability, const am_sourceClass_t& sourceClassID);
@@ -259,14 +466,29 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
typedef std::vector<am_SourceType_s> am_SourceType_L;
-
+ /**
+ * describes the different system properties. Project specific
+ */
+ /**
+ * describes the different system properties. Project specific
+ */
typedef uint16_t am_SystemPropertyType_pe;
-
+ /**
+ * struct describing system properties
+ */
+ /**
+ * struct describing system properties
+ */
struct am_SystemProperty_s: CommonAPI::SerializableStruct {
- am_SystemPropertyType_pe type;
- int16_t value;
+ /**
+ * the type that is set
+ */
+ am_SystemPropertyType_pe type;
+ /**
+ * the value
+ */
+ int16_t value;
am_SystemProperty_s() = default;
am_SystemProperty_s(const am_SystemPropertyType_pe& type, const int16_t& value);
@@ -280,32 +502,75 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_SystemProperty_s> am_SystemProperty_L;
-
+ /**
+ * a connection ID
+ */
+ /**
+ * a connection ID
+ */
typedef uint16_t am_connectionID_t;
-
typedef std::vector<am_connectionID_t> am_ConnectionID_L;
-
+ /**
+ * The unit is 0.1 db steps,The smallest value -3000 (=AM_MUTE). The minimum and
+ * maximum can be limited by actual project.
+ */
+ /**
+ * The unit is 0.1 db steps,The smallest value -3000 (=AM_MUTE). The minimum and
+ * maximum can be limited by actual project.
+ */
typedef int16_t am_volume_t;
-
+ /**
+ * Project specific sound properties.
+ */
+ /**
+ * Project specific sound properties.
+ */
typedef uint16_t am_SoundPropertyType_pe;
-
+ /**
+ * This enum characterizes the data of the EarlyData_t
+ */
enum class am_EarlyDataType_e: int32_t {
+ /**
+ * default
+ */
ES_UNKNOWN = 0,
+ /**
+ * the source volume
+ */
ED_SOURCE_VOLUME = 1,
+ /**
+ * the sink volume
+ */
ED_SINK_VOLUME = 2,
+ /**
+ * a source property
+ */
ED_SOURCE_PROPERTY = 3,
+ /**
+ * a sink property
+ */
ED_SINK_PROPERTY = 4,
ED_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_EarlyDataType_eComparator;
-
+ /**
+ * struct describing the sound property
+ */
+ /**
+ * struct describing the sound property
+ */
struct am_SoundProperty_s: CommonAPI::SerializableStruct {
- am_SoundPropertyType_pe type;
- int16_t value;
+ /**
+ * the type of the property - a project specific enum
+ */
+ am_SoundPropertyType_pe type;
+ /**
+ * the actual value of the property
+ */
+ int16_t value;
am_SoundProperty_s() = default;
am_SoundProperty_s(const am_SoundPropertyType_pe& type, const int16_t& value);
@@ -319,15 +584,38 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
+ /**
+ * data type depends of am_EarlyDataType_e:
+ volume_t in case of ED_SOURCE_VOLUME,
+ * ED_SINK_VOLUME
+ soundProperty_t in case of ED_SOURCE_PROPERTY,
+ * ED_SINK_PROPERTY
+ */
+ /**
+ * data type depends of am_EarlyDataType_e:
+ volume_t in case of ED_SOURCE_VOLUME,
+ * ED_SINK_VOLUME
+ soundProperty_t in case of ED_SOURCE_PROPERTY,
+ * ED_SINK_PROPERTY
+ */
typedef CommonAPI::Variant<am_volume_t, am_SoundProperty_s> am_EarlyData_u;
-
+ /**
+ * data type depends of am_EarlyDataType_e:
+ sourceID in case of ED_SOURCE_VOLUME,
+ * ED_SOURCE_PROPERTY
+ sinkID in case of ED_SINK_VOLUME, ED_SINK_PROPERTY
+ */
+ /**
+ * data type depends of am_EarlyDataType_e:
+ sourceID in case of ED_SOURCE_VOLUME,
+ * ED_SOURCE_PROPERTY
+ sinkID in case of ED_SINK_VOLUME, ED_SINK_PROPERTY
+ */
typedef CommonAPI::Variant<am_sinkID_t, am_sourceID_t> am_DataType_u;
-
struct am_EarlyData_s: CommonAPI::SerializableStruct {
- am_EarlyDataType_e type;
- am_DataType_u sinksource;
- am_EarlyData_u data;
+ am_EarlyDataType_e type;
+ am_DataType_u sinksource;
+ am_EarlyData_u data;
am_EarlyData_s() = default;
am_EarlyData_s(const am_EarlyDataType_e& type, const am_DataType_u& sinksource, const am_EarlyData_u& data);
@@ -342,14 +630,31 @@ namespace am {
typeOutputStream.writeVariantType();
}
};
-
typedef std::vector<am_EarlyData_s> am_EarlyData_L;
-
+ /**
+ * Here are all SoundProperties that can be set via the CommandInterface. Product
+ * specific
+ */
+ /**
+ * Here are all SoundProperties that can be set via the CommandInterface. Product
+ * specific
+ */
typedef uint16_t am_MainSoundPropertyType_pe;
-
+ /**
+ * struct describung mainsound property
+ */
+ /**
+ * struct describung mainsound property
+ */
struct am_MainSoundProperty_s: CommonAPI::SerializableStruct {
- am_MainSoundPropertyType_pe type;
- int16_t value;
+ /**
+ * the type of the property
+ */
+ am_MainSoundPropertyType_pe type;
+ /**
+ * the actual value
+ */
+ int16_t value;
am_MainSoundProperty_s() = default;
am_MainSoundProperty_s(const am_MainSoundPropertyType_pe& type, const int16_t& value);
@@ -363,28 +668,74 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_MainSoundProperty_s> am_MainSoundProperty_L;
-
+ /**
+ * gives the type of the Notification.
+ */
+ /**
+ * gives the type of the Notification.
+ */
typedef uint16_t am_NotificationType_pe;
-
enum class am_NotificationStatus_e: int32_t {
NS_UNKNOWN = 0,
+ /**
+ * No notification, the function is turned off
+ */
NS_OFF = 1,
+ /**
+ * Periodic notifications are sent out. The period in ms is given by
+ * am_NotificationParameter
+ */
NS_PERIODIC = 2,
+ /**
+ * The notification is sent out when the minimum given by am_NotificationParameter
+ * is reached.
+ */
NS_MINIMUM = 3,
+ /**
+ * The notification is sent out when the maximum given by am_NotificationParameter
+ * is reached.
+ */
NS_MAXIMUM = 4,
+ /**
+ * The notification is sent out when a change happened. The Resolution of the
+ * change is defined by am_NotificationParameter.
+ */
NS_CHANGE_ = 5,
NS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_NotificationStatus_eComparator;
-
+ /**
+ * This struct holds information about the configuration for notifications
+ */
+ /**
+ * This struct holds information about the configuration for notifications
+ */
struct am_NotificationConfiguration_s: CommonAPI::SerializableStruct {
- am_NotificationType_pe type;
- am_NotificationStatus_e status;
- int16_t parameter;
+ /**
+ * The notification type of the notification
+ */
+ am_NotificationType_pe type;
+ /**
+ * The Notification status. This can be periodic, min/max value based or even off
+ * for example
+ */
+ am_NotificationStatus_e status;
+ /**
+ * This gives additional information to the notification status.
+ Relation
+ * between notification status and the value:
+ NS_PERIODIC - the period in
+ * ms
+ NS_MINIMUM - the minimum value that triggers the notification
+ NS_MAXIMUM
+ * - the maximum value that triggers the notifcation
+ NS_CHANGE - the resolution
+ * of the change value
+ */
+ int16_t parameter;
am_NotificationConfiguration_s() = default;
am_NotificationConfiguration_s(const am_NotificationType_pe& type, const am_NotificationStatus_e& status, const int16_t& parameter);
@@ -399,18 +750,46 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_NotificationConfiguration_s> am_NotificationConfiguration_L;
-
+ /**
+ * a domain ID
+ */
+ /**
+ * a domain ID
+ */
typedef uint16_t am_domainID_t;
-
+ /**
+ * This project specific value classifies the format in which data is exchanged
+ * within a connection.
+ */
+ /**
+ * This project specific value classifies the format in which data is exchanged
+ * within a connection.
+ */
typedef uint16_t am_ConnectionFormat_pe;
-
+ /**
+ * This represents one "hopp" in a route
+ */
+ /**
+ * This represents one "hopp" in a route
+ */
struct am_RoutingElement_s: CommonAPI::SerializableStruct {
- am_sourceID_t sourceID;
- am_sinkID_t sinkID;
- am_domainID_t domainID;
- am_ConnectionFormat_pe connectionFormat;
+ /**
+ * the source ID
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the sinkID
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the domainID the routeElement is in
+ */
+ am_domainID_t domainID;
+ /**
+ * the connectionformat that is used for the route
+ */
+ am_ConnectionFormat_pe connectionFormat;
am_RoutingElement_s() = default;
am_RoutingElement_s(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_domainID_t& domainID, const am_ConnectionFormat_pe& connectionFormat);
@@ -426,31 +805,74 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
typedef std::vector<am_RoutingElement_s> am_RoutingElement_L;
-
typedef std::vector<am_SoundProperty_s> am_SoundProperty_L;
-
+ /**
+ * time in ms!
+ */
+ /**
+ * time in ms!
+ */
typedef int16_t am_time_t;
-
+ /**
+ * For products, different ramp types can be defined here.
+ It is in the
+ * responsibility of the product to make sure that the routing plugins are aware
+ * of the ramp types used.
+ */
+ /**
+ * For products, different ramp types can be defined here.
+ It is in the
+ * responsibility of the product to make sure that the routing plugins are aware
+ * of the ramp types used.
+ */
typedef uint16_t am_RampType_pe;
-
+ /**
+ * This datatype determines if a sourceID or a sinkID is used in the union
+ * following
+ */
enum class am_VolumeType_e: int32_t {
VT_UNKNOWN = 0,
+ /**
+ * the following type is a sink
+ */
VT_SINK = 1,
+ /**
+ * the following type is a source
+ */
VT_SOURCE = 2,
VT_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_VolumeType_eComparator;
-
+ /**
+ * This types describe a mixed description for source and sinks volumes.
+ */
+ /**
+ * This types describe a mixed description for source and sinks volumes.
+ */
struct am_Volumes_s: CommonAPI::SerializableStruct {
- am_VolumeType_e volumeType;
- am_DataType_u volumeID;
- am_volume_t volume;
- am_RampType_pe ramp;
- am_time_t time;
+ /**
+ * describes the type of the volume: source or sink.
+ */
+ am_VolumeType_e volumeType;
+ /**
+ * either sourceID or sinkID
+ */
+ am_DataType_u volumeID;
+ /**
+ * The volume
+ */
+ am_volume_t volume;
+ /**
+ * the ramp that shall be driven
+ */
+ am_RampType_pe ramp;
+ /**
+ * the time for the ramp
+ */
+ am_time_t time;
am_Volumes_s() = default;
am_Volumes_s(const am_VolumeType_e& volumeType, const am_DataType_u& volumeID, const am_volume_t& volume, const am_RampType_pe& ramp, const am_time_t& time);
@@ -467,71 +889,156 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_Volumes_s> am_Volumes_L;
-
typedef std::vector<am_ConnectionFormat_pe> am_ConnectionFormat_L;
-
typedef bool am_bool_t;
-
typedef std::vector<am_bool_t> am_Convertion_L;
-
+ /**
+ * a gateway ID
+ */
+ /**
+ * a gateway ID
+ */
typedef uint16_t am_gatewayID_t;
-
+ /**
+ * a crossfader ID
+ */
+ /**
+ * a crossfader ID
+ */
typedef uint16_t am_crossfaderID_t;
-
+ /**
+ * speed
+ */
+ /**
+ * speed
+ */
typedef uint16_t am_speed_t;
-
+ /**
+ * describes the active sink of a crossfader.
+ */
enum class am_HotSink_e: int32_t {
+ /**
+ * default
+ */
HS_UNKNOWN = 0,
+ /**
+ * sinkA is active
+ */
HS_SINKA = 1,
+ /**
+ * sinkB is active
+ */
HS_SINKB = 2,
+ /**
+ * the crossfader is in the transition state
+ */
HS_INTERMEDIATE = 3,
HS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_HotSink_eComparator;
-
enum class am_DomainState_e: int32_t {
+ /**
+ * default
+ */
DS_UNKNOWN = 0,
+ /**
+ * the domain is controlled by the daemon
+ */
DS_CONTROLLED = 1,
+ /**
+ * the domain is independent starting up
+ */
DS_INDEPENDENT_STARTUP = 1,
+ /**
+ * the domain is independent running down
+ */
DS_INDEPENDENT_RUNDOWN = 2,
DS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_DomainState_eComparator;
-
+ /**
+ * the errors of the audiomanager. All possible errors are in here. This enum is
+ * used widely as return parameter.
+ */
enum class am_Error_e: int32_t {
+ /**
+ * no error - positive reply
+ */
E_OK = 0,
+ /**
+ * default
+ */
E_UNKNOWN = 1,
+ /**
+ * value out of range
+ */
E_OUT_OF_RANGE = 2,
+ /**
+ * not used
+ */
E_NOT_USED = 3,
+ /**
+ * a database error occurred
+ */
E_DATABASE_ERROR = 4,
+ /**
+ * the desired object already exists
+ */
E_ALREADY_EXISTS = 5,
+ /**
+ * there is no change
+ */
E_NO_CHANGE = 6,
+ /**
+ * the desired action is not possible
+ */
E_NOT_POSSIBLE = 7,
+ /**
+ * the desired object is non existent
+ */
E_NON_EXISTENT = 8,
+ /**
+ * the asynchronous action was aborted
+ */
E_ABORTED = 9,
+ /**
+ * This error is returned in case a connect is issued with a connectionFormat that
+ * cannot be selected for the connection. This could be either due to the
+ * capabilities of a source or a sink or gateway compatibilities for example
+ */
E_WRONG_FORMAT = 10,
E_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_Error_eComparator;
-
enum class am_InterruptState_e: int32_t {
+ /**
+ * default
+ */
IS_UNKNOWN = 0,
+ /**
+ * the interrupt state is off - no interrupt
+ */
IS_OFF = 1,
+ /**
+ * the interrupt state is interrupted - the interrupt is active
+ */
IS_INTERRUPTED = 2,
IS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_InterruptState_eComparator;
-
+ /**
+ * This enumeration is used to define the type of the action that is correlated to
+ * a handle.
+ */
enum class am_Handle_e: int32_t {
H_UNKNOWN = 0,
H_CONNECT = 1,
@@ -550,33 +1057,61 @@ namespace am {
H_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_Handle_eComparator;
-
+ /**
+ * The source state reflects the state of the source
+ */
enum class am_SourceState_e: int32_t {
SS_UNKNNOWN = 0,
+ /**
+ * The source can be activly heared
+ */
SS_ON = 1,
+ /**
+ * The source cannot be heared
+ */
SS_OFF = 2,
+ /**
+ * The source is paused. Meaning it cannot be heared but should be prepared to
+ * play again soon.
+ */
SS_PAUSED = 3,
SS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_SourceState_eComparator;
-
+ /**
+ * This enum describes the ready state of the routing part
+ */
enum class am_RoutingReady_e: int32_t {
RR_UNKNOWN = 0,
RR_READY = 1,
RR_RUNDOWN = 2
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_RoutingReady_eComparator;
-
+ /**
+ * a list of routing elements that lead from source to sink
+ */
+ /**
+ * a list of routing elements that lead from source to sink
+ */
struct am_Route_s: CommonAPI::SerializableStruct {
- am_sourceID_t sourceID;
- am_sinkID_t sinkID;
- am_RoutingElement_L route;
+ /**
+ * the sourceID where the route starts
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the sinkID where the route ends
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the actual route as list of routing elements
+ */
+ am_RoutingElement_L route;
am_Route_s() = default;
am_Route_s(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_RoutingElement_L& route);
@@ -595,14 +1130,51 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * This struct describes the attribiutes of a crossfader.
+ */
+ /**
+ * This struct describes the attribiutes of a crossfader.
+ */
struct am_Crossfader_s: CommonAPI::SerializableStruct {
- am_crossfaderID_t crossfaderID;
- std::string name;
- am_sinkID_t sinkID_A;
- am_sinkID_t sinkID_B;
- am_sourceID_t sourceID;
- am_HotSink_e hotSink;
+ /**
+ * This is the ID of the crossfader, it is unique in the system. There are 2 ways,
+ * ID can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManager daemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_crossfaderID_t crossfaderID;
+ /**
+ * The name of the crossfader. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * The sinkID of the SinkA. Sinks shall be registered before registering the
+ * crossfader.
+ */
+ am_sinkID_t sinkID_A;
+ /**
+ * The sinkID of the SinkB. Sinks shall be registered before registering the
+ * crossfader.
+ */
+ am_sinkID_t sinkID_B;
+ /**
+ * The sourceID of the crossfader source. The source shall be registered before
+ * the crossfader.
+ */
+ am_sourceID_t sourceID;
+ /**
+ * This enum can have 3 states:
+
+ HS_SINKA sinkA is the current hot one,
+ * sinkB is not audible
+ HS_SINKB sinkB is the current hot one, sinkB is not
+ * audible
+ HS_INTERMEDIATE the fader is stuck in between a cross-fading
+ * action. This could be due to an abort or an error. Before using the
+ * crossfader, it must be set to either HS_SINKA or HS_SINKB.
+ */
+ am_HotSink_e hotSink;
am_Crossfader_s() = default;
am_Crossfader_s(const am_crossfaderID_t& crossfaderID, const std::string& name, const am_sinkID_t& sinkID_A, const am_sinkID_t& sinkID_B, const am_sourceID_t& sourceID, const am_HotSink_e& hotSink);
@@ -620,18 +1192,86 @@ namespace am {
typeOutputStream.writeInt32Type();
}
};
-
+ /**
+ * This struct describes the attributes of a gateway.
+ */
+ /**
+ * This struct describes the attributes of a gateway.
+ */
struct am_Gateway_s: CommonAPI::SerializableStruct {
- am_gatewayID_t gatewayID;
- std::string name;
- am_sinkID_t sinkID;
- am_sourceID_t sourceID;
- am_domainID_t domainSinkID;
- am_domainID_t domainSourceID;
- am_domainID_t controlDomainID;
- am_ConnectionFormat_L listSourceFormats;
- am_ConnectionFormat_L listSinkFormats;
- am_Convertion_L convertionMatrix;
+ /**
+ * This is the ID of the gateway, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_gatewayID_t gatewayID;
+ /**
+ * The name of the gateway. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * The sinkID of the gateway sink-end. The sink is a full blown sink with
+ * connectionFormats, sinkClassIDs etc... It makes sense to register the sinks of
+ * a gateway as non-visible. Care needs to be taken that the connectionsFormats
+ * match with the ones in the conversionMatrix. If the sink is located in the
+ * controllingDomain, the ID needs to be retrieved by registering the sink before
+ * registering the gateway. In case the sink is in a different domain, the ID
+ * needs to be retrieved via peeking.
+ */
+ am_sinkID_t sinkID;
+ /**
+ * The sourceID of the gateway sink-end. The sink is a full blown source with
+ * connectionFormats, sinkClassIDs etc... It makes sense to register the sources
+ * of a gateway as non-visible. Care needs to be taken that the
+ * connectionsFormats match with the ones in the conversionMatrix. If the source
+ * is located in the controllingDomain, the ID needs to be retrieved by
+ * registering the source before registering the gateway. In case the source is
+ * in a different domain, the ID needs to be retrieved via peeking.
+ */
+ am_sourceID_t sourceID;
+ /**
+ * The ID of the sink. If the domain is the same like the controlling domain, the
+ * ID is known due to registration. If the domain is different, the ID needs to
+ * be retrieved via peeking.
+ */
+ am_domainID_t domainSinkID;
+ /**
+ * The ID of the source. If the domain is the same like the controlling domain,
+ * the ID is known due to registration. If the domain is different, the ID needs
+ * to be retrieved via peeking.
+ */
+ am_domainID_t domainSourceID;
+ /**
+ * This is the ID of the domain that registers the gateway.
+ */
+ am_domainID_t controlDomainID;
+ /**
+ * This is the list of available formats on the source side of the gateway. It is
+ * not defined during the gateway registration but copied from the source
+ * registration.
+ */
+ am_ConnectionFormat_L listSourceFormats;
+ /**
+ * This is the list of available formats on the sink side of the gateway. It is
+ * not defined during the gateway registration but copied from the sink
+ * registration.
+ */
+ am_ConnectionFormat_L listSinkFormats;
+ /**
+ * This is matrix holding information about the conversion capability of the
+ * gateway, it's length is defined by the length(listSinkFormats) x
+ * length(listSourceFormats).
+ If a SinkFormat can be converted into a
+ * SourceFormat, the vector will hold a 1, if no conversion is possible, a
+ * 0.
+ The data is stored row orientated, where the rows are related to the
+ * sinksFormats and the columns to the sourceFormats. The first value will hold
+ * the conversion information from the first sourceFormat to the first sinkFormat
+ * for example and the seventh value the information about the 3rd sinkFormat to
+ * the 1st sourceFormat in case we would have 3 sourceFormats.
+ */
+ am_Convertion_L convertionMatrix;
am_Gateway_s() = default;
am_Gateway_s(const am_gatewayID_t& gatewayID, const std::string& name, const am_sinkID_t& sinkID, const am_sourceID_t& sourceID, const am_domainID_t& domainSinkID, const am_domainID_t& domainSourceID, const am_domainID_t& controlDomainID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix);
@@ -659,10 +1299,23 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * a handle is used for asynchronous operations and is uniquely assigned for each
+ * of this operations
+ */
+ /**
+ * a handle is used for asynchronous operations and is uniquely assigned for each
+ * of this operations
+ */
struct am_Handle_s: CommonAPI::SerializableStruct {
- am_Handle_e handleType;
- uint16_t handle;
+ /**
+ * the handletype
+ */
+ am_Handle_e handleType;
+ /**
+ * the handle as value
+ */
+ uint16_t handle;
am_Handle_s() = default;
am_Handle_s(const am_Handle_e& handleType, const uint16_t& handle);
@@ -676,14 +1329,37 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
+ /**
+ * struct that holds attribiutes of a mainconnection
+ */
+ /**
+ * struct that holds attribiutes of a mainconnection
+ */
struct am_MainConnection_s: CommonAPI::SerializableStruct {
- am_mainConnectionID_t mainConnectionID;
- am_ConnectionState_e connectionState;
- am_sinkID_t sinkID;
- am_sourceID_t sourceID;
- am_timeSync_t delay;
- am_ConnectionID_L listConnectionID;
+ /**
+ * the assigned ID
+ */
+ am_mainConnectionID_t mainConnectionID;
+ /**
+ * the current connection state
+ */
+ am_ConnectionState_e connectionState;
+ /**
+ * the sinkID
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the sourceID
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the delay of the connection
+ */
+ am_timeSync_t delay;
+ /**
+ * the list of sub connection IDs the mainconnection consists of
+ */
+ am_ConnectionID_L listConnectionID;
am_MainConnection_s() = default;
am_MainConnection_s(const am_mainConnectionID_t& mainConnectionID, const am_ConnectionState_e& connectionState, const am_sinkID_t& sinkID, const am_sourceID_t& sourceID, const am_timeSync_t& delay, const am_ConnectionID_L& listConnectionID);
@@ -703,10 +1379,22 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * This struct holds the payload of a notification.
+ */
+ /**
+ * This struct holds the payload of a notification.
+ */
struct am_NotificationPayload_s: CommonAPI::SerializableStruct {
- am_NotificationType_pe type;
- int16_t value;
+ /**
+ * This defines the notification type
+ */
+ am_NotificationType_pe type;
+ /**
+ * This is finally the value of the notification. It's meaning depends on the
+ * notificationType
+ */
+ int16_t value;
am_NotificationPayload_s() = default;
am_NotificationPayload_s(const am_NotificationType_pe& type, const int16_t& value);
@@ -720,22 +1408,99 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
+ /**
+ * This struct describes the attribiutes of a sink
+ */
+ /**
+ * This struct describes the attribiutes of a sink
+ */
struct am_Sink_s: CommonAPI::SerializableStruct {
- am_sinkID_t sinkID;
- std::string name;
- am_domainID_t domainID;
- am_sinkClass_t sinkClassID;
- am_volume_t volume;
- bool visible;
- am_Availability_s available;
- am_MuteState_e muteState;
- am_mainVolume_t mainVolume;
- am_SoundProperty_L listSoundProperties;
- am_ConnectionFormat_L listConnectionFormats;
- am_MainSoundProperty_L listMainSoundProperties;
- am_NotificationConfiguration_L listMainNotificationConfigurations;
- am_NotificationConfiguration_L listNotificationConfigurations;
+ /**
+ * This is the ID of the sink, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_sinkID_t sinkID;
+ /**
+ * The name of the sink. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * The domainID is the domain the sink belongs to. A sink can only be in one
+ * domain.
+ */
+ am_domainID_t domainID;
+ /**
+ * The sinkClassID references to a sinkClass. With the help of classification,
+ * rules can be setup to define the system behaviour.
+ */
+ am_sinkClass_t sinkClassID;
+ /**
+ * This is the volume of the sink. It is set by the AudioManagerController.
+ */
+ am_volume_t volume;
+ /**
+ * This Boolean flag indicates whether a sink is visible to the commandInterface
+ * or not. If the User must have the possibility to choose the source in the HMI,
+ * it must be visible. But there are also good reasons for invisible sinks, for
+ * example if the sink is part of a crossfader or gateway. HMI relevant changes
+ * in visible sinks will be automatically reported by the daemon to the
+ * commandInterface.
+ */
+ bool visible;
+ /**
+ * This attribute reflects the availability of the sink. There are several reasons
+ * why a sink could be not available for the moment: for example the shutdown of
+ * a sink because of overtemperature or over- &amp; undervoltage. The
+ * availability consists of two pieces of information:
+
+ Availablility: the
+ * status itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
+
+ * AvailabilityReason: this informs about the last reason for a change in
+ * availability. The reasons itself are product specific.
+ */
+ am_Availability_s available;
+ /**
+ * This attribute reflects the muteState of the sink. The information is not the
+ * "real" state of the sink, but the HMI representation for he commandInterface
+ * controlled by the AudioManagerController.
+ */
+ am_MuteState_e muteState;
+ /**
+ * This is the representation of the Volume for the commandInterface. It is used
+ * by the HMI to set the volume of a sink, the AudioManagerController has to
+ * transform this into real source and sink volumes.
+ */
+ am_mainVolume_t mainVolume;
+ /**
+ * This is the list of soundProperties, that the sink is capable of. The
+ * soundProperties itself are project specific. For sinks, a possible
+ * soundProperty could be for example settings.
+ */
+ am_SoundProperty_L listSoundProperties;
+ /**
+ * This list holds information about the formats that the Source is capable of
+ * supporting when delivering audio.
+ */
+ am_ConnectionFormat_L listConnectionFormats;
+ /**
+ * This is the list of the available mainSoundProperties. The principle is the
+ * same than with soundProperties, but they are only visible to the
+ * CommandInterface.
+ */
+ am_MainSoundProperty_L listMainSoundProperties;
+ /**
+ * This is the list of the MainNotificationConfigurations. These notifications
+ * work on the level of command interface.
+ */
+ am_NotificationConfiguration_L listMainNotificationConfigurations;
+ /**
+ * This is the list of the NotificationConfigurations. These notifications work on
+ * the level of RoutingPlugins.
+ */
+ am_NotificationConfiguration_L listNotificationConfigurations;
am_Sink_s() = default;
am_Sink_s(const am_sinkID_t& sinkID, const std::string& name, const am_domainID_t& domainID, const am_sinkClass_t& sinkClassID, const am_volume_t& volume, const bool& visible, const am_Availability_s& available, const am_MuteState_e& muteState, const am_mainVolume_t& mainVolume, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, const am_NotificationConfiguration_L& listMainNotificationConfigurations, const am_NotificationConfiguration_L& listNotificationConfigurations);
@@ -781,22 +1546,118 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * This struct describes the attribiutes of a source
+ */
+ /**
+ * This struct describes the attribiutes of a source
+ */
struct am_Source_s: CommonAPI::SerializableStruct {
- am_sourceID_t sourceID;
- am_domainID_t domainID;
- std::string name;
- am_sourceClass_t sourceClassID;
- am_SourceState_e sourceState;
- am_volume_t volume;
- bool visible;
- am_Availability_s available;
- am_InterruptState_e interruptState;
- am_SoundProperty_L listSoundProperties;
- am_ConnectionFormat_L listConnectionFormats;
- am_MainSoundProperty_L listMainSoundProperties;
- am_NotificationConfiguration_L listMainNotificationConfigurations;
- am_NotificationConfiguration_L listNotificationConfigurations;
+ /**
+ * This is the ID of the source, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_sourceID_t sourceID;
+ /**
+ * The domainID is the domain the source belongs to. A source can only be in one
+ * domain.
+ */
+ am_domainID_t domainID;
+ /**
+ * The name of the source. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * the sourceClassID, indicates the class the source is in. This information can
+ * be used by the Controller to implement different behaviour for different
+ * classes.
+ */
+ am_sourceClass_t sourceClassID;
+ /**
+ * The source state is an indication towards the source if it is actively heard or
+ * not. The source can use this information to implement features like automatic
+ * spin down of CD's in case the CD is not the active source or AF following of a
+ * tuner that is not actively heard. The source state is set by the
+ * AudioManagerController.There are 3 possible states:
+
+ SS_ON: the source
+ * is active
+ SS_OFF: the source is off
+ SS_PAUSED: the source is paused
+ * and not active.
+ */
+ am_SourceState_e sourceState;
+ /**
+ * This is the volume of the source. It is set by the AudioManagerController. It
+ * is used to adopt different audiolevels in a system and mixing of sources (e.g.
+ * navigation hints &amp; music).
+ */
+ am_volume_t volume;
+ /**
+ * This Boolean flag indicates whether a source is visible to the commandInterface
+ * or not. If the User must have the possibility to choose the source in the HMI,
+ * it must be visible. But there are also good reasons for invisible sources, for
+ * example if the source is part of a crossfader or gateway. HMI relevant changes
+ * in visible sources will be automatically reported by the daemon to the
+ * commandInterface.
+ */
+ bool visible;
+ /**
+ * This attribute reflects the availability of the source. There are several
+ * reasons why a source could be not available for the moment. For example a CD
+ * player which has no CD entered in the slot can be unavailable, or a USB player
+ * with no or unreadable stick attached. Other scenarios involve the shutdown of
+ * a source because of overtemperature or over- &amp; undervoltage. The
+ * availability consists of two informations:
+
+ Availablility: the status
+ * itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
+
+ * AvailabilityReason: this informs about the last reason for a change in
+ * availability. The reasons itself are product specific.
+ */
+ am_Availability_s available;
+ /**
+ * Some special sources can have special behaviors, the are so called "Low Level
+ * Interrupts". Here the current status is documented. The information can be
+ * used by the AudioManagerController to react to the changes by for example
+ * lowering the volume of the mainSources. The two states are
+
+ IS_OFF: the
+ * interrupt is not active at the moment
+ IS_INTERRUPTED: the interrupt is
+ * playing at the moment.
+ */
+ am_InterruptState_e interruptState;
+ /**
+ * This is the list of soundProperties, that the source is capable of. The
+ * soundProperties itself are project specific. For sources, a possible
+ * soundProperty could be navigation volume offset, for example.
+ */
+ am_SoundProperty_L listSoundProperties;
+ /**
+ * This list holds information about the formats that the Source is capable of
+ * supporting when delivering audio.
+ */
+ am_ConnectionFormat_L listConnectionFormats;
+ /**
+ * This is the list of the available mainSoundProperties. The principle is the
+ * same than with soundProperties, but they are only visible to the
+ * CommandInterface.
+ */
+ am_MainSoundProperty_L listMainSoundProperties;
+ /**
+ * The list of MainNotificationConfigurations. These notifications work on the
+ * level of CommandInterface.
+ */
+ am_NotificationConfiguration_L listMainNotificationConfigurations;
+ /**
+ * The list of MainNotificationConfigurations. These notifications work on the
+ * level of RoutingInterface.
+ */
+ am_NotificationConfiguration_L listNotificationConfigurations;
am_Source_s() = default;
am_Source_s(const am_sourceID_t& sourceID, const am_domainID_t& domainID, const std::string& name, const am_sourceClass_t& sourceClassID, const am_SourceState_e& sourceState, const am_volume_t& volume, const bool& visible, const am_Availability_s& available, const am_InterruptState_e& interruptState, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, const am_NotificationConfiguration_L& listMainNotificationConfigurations, const am_NotificationConfiguration_L& listNotificationConfigurations);
@@ -842,15 +1703,42 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * This struct describes the attribiutes of a domain
+ */
+ /**
+ * This struct describes the attribiutes of a domain
+ */
struct am_Domain_s: CommonAPI::SerializableStruct {
- am_domainID_t domainID;
- std::string name;
- std::string busname;
- std::string nodename;
- bool early;
- bool complete;
- am_DomainState_e state;
+ /**
+ * the domain ID
+ */
+ am_domainID_t domainID;
+ /**
+ * the name of the domain
+ */
+ std::string name;
+ /**
+ * the busname. This is equal to a plugin name and is used to dispatch messages to
+ * the elements of a plugin
+ */
+ std::string busname;
+ /**
+ * the name of the node
+ */
+ std::string nodename;
+ /**
+ * indicated if the domain is independent at startup or not
+ */
+ bool early;
+ /**
+ * indicates if the domain registration is complete or not
+ */
+ bool complete;
+ /**
+ * the current domain state
+ */
+ am_DomainState_e state;
am_Domain_s() = default;
am_Domain_s(const am_domainID_t& domainID, const std::string& name, const std::string& busname, const std::string& nodename, const bool& early, const bool& complete, const am_DomainState_e& state);
@@ -869,13 +1757,33 @@ namespace am {
typeOutputStream.writeInt32Type();
}
};
-
+ /**
+ * a connection
+ */
+ /**
+ * a connection
+ */
struct am_Connection_s: CommonAPI::SerializableStruct {
- am_connectionID_t connectionID;
- am_sourceID_t sourceID;
- am_sinkID_t sinkID;
- am_timeSync_t delay;
- am_ConnectionFormat_pe connectionFormat;
+ /**
+ * the assigned ID
+ */
+ am_connectionID_t connectionID;
+ /**
+ * the source the audio flows from
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the sink the audio flows to
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the delay of the conneciton
+ */
+ am_timeSync_t delay;
+ /**
+ * the used connectionformat
+ */
+ am_ConnectionFormat_pe connectionFormat;
am_Connection_s() = default;
am_Connection_s(const am_connectionID_t& connectionID, const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_timeSync_t& delay, const am_ConnectionFormat_pe& connectionFormat);
@@ -892,7 +1800,6 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
inline CommonAPI::InputStream& operator>>(CommonAPI::InputStream& inputStream, am_Availability_e& enumValue) {
return inputStream.readEnumValue<int32_t>(enumValue);
@@ -1175,7 +2082,8 @@ inline bool operator!=(const am_Volumes_s& lhs, const am_Volumes_s& rhs) {
static inline const char* getTypeCollectionName() {
- return "org.genivi.am";
+ static const char* typeCollectionName = "org.genivi.am";
+ return typeCollectionName;
}
inline CommonAPI::Version getTypeCollectionVersion() {
@@ -1188,268 +2096,268 @@ inline CommonAPI::Version getTypeCollectionVersion() {
} // namespace org
namespace CommonAPI {
-
- template<>
- struct BasicTypeWriter<org::genivi::am::am_Availability_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_Availability_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Availability_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_Availability_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Availability_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_HotSink_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_HotSink_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_HotSink_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_HotSink_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_HotSink_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_ConnectionState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_ConnectionState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_ConnectionState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_ConnectionState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_ConnectionState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_DomainState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_DomainState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_DomainState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_DomainState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_DomainState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_EarlyDataType_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_EarlyDataType_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_EarlyDataType_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_EarlyDataType_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_EarlyDataType_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_Error_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_Error_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Error_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_Error_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Error_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_MuteState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_MuteState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_MuteState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_MuteState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_MuteState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_InterruptState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_InterruptState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_InterruptState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_InterruptState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_InterruptState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_VolumeType_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_VolumeType_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_VolumeType_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_VolumeType_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_VolumeType_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_NotificationStatus_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_NotificationStatus_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_NotificationStatus_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_NotificationStatus_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_NotificationStatus_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_Handle_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_Handle_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Handle_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_Handle_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Handle_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_SourceState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_SourceState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_SourceState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_SourceState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_SourceState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_RoutingReady_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_RoutingReady_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_RoutingReady_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_RoutingReady_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_RoutingReady_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
-
+
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_Availability_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_Availability_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Availability_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_Availability_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Availability_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_HotSink_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_HotSink_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_HotSink_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_HotSink_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_HotSink_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_ConnectionState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_ConnectionState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_ConnectionState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_ConnectionState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_ConnectionState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_DomainState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_DomainState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_DomainState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_DomainState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_DomainState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_EarlyDataType_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_EarlyDataType_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_EarlyDataType_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_EarlyDataType_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_EarlyDataType_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_Error_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_Error_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Error_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_Error_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Error_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_MuteState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_MuteState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_MuteState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_MuteState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_MuteState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_InterruptState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_InterruptState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_InterruptState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_InterruptState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_InterruptState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_VolumeType_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_VolumeType_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_VolumeType_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_VolumeType_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_VolumeType_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_NotificationStatus_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_NotificationStatus_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_NotificationStatus_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_NotificationStatus_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_NotificationStatus_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_Handle_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_Handle_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Handle_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_Handle_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Handle_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_SourceState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_SourceState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_SourceState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_SourceState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_SourceState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_RoutingReady_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_RoutingReady_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_RoutingReady_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_RoutingReady_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_RoutingReady_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+
}
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControl.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControl.h
index f631c92..f9adc0b 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControl.h
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControl.h
@@ -1,34 +1,39 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * 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>
@@ -47,7 +52,8 @@ class CommandControl {
};
const char* CommandControl::getInterfaceId() {
- return "org.genivi.am.CommandControl";
+ static const char* interfaceId = "org.genivi.am.CommandControl";
+ return interfaceId;
}
CommonAPI::Version CommandControl::getInterfaceVersion() {
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.cpp b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.cpp
index cf6f32b..b64c94c 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.cpp
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.cpp
@@ -1,28 +1,31 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * 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 {
@@ -30,12 +33,13 @@ 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>(commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
+ return std::make_shared<CommandControlDBusProxy>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
}
__attribute__((constructor)) void registerCommandControlDBusProxy(void) {
@@ -44,37 +48,38 @@ __attribute__((constructor)) void registerCommandControlDBusProxy(void) {
}
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(commonApiAddress, interfaceName, busName, objectPath, 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)")
- {
-}
+ 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() {
@@ -147,6 +152,11 @@ CommandControlDBusProxy::MainSourceNotificationConfigurationChangedEvent& Comman
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(
@@ -166,6 +176,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::connectAsync(const a
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(
@@ -185,6 +200,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::disconnectAsync(cons
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(
@@ -204,25 +224,36 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setVolumeAsync(const
sinkID, volume,
std::move(callback));
}
-void CommandControlDBusProxy::volumeStep(const am_sinkID_t& sinkID, const int16_t& volumeStep, CommonAPI::CallStatus& callStatus, 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.
+ */
+void CommandControlDBusProxy::volumeStep(const am_sinkID_t& sinkID, const int16_t& volumeStep_, 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, volumeStep,
+ sinkID, volumeStep_,
callStatus
, error);
}
-std::future<CommonAPI::CallStatus> CommandControlDBusProxy::volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volumeStep, VolumeStepAsyncCallback callback) {
+std::future<CommonAPI::CallStatus> CommandControlDBusProxy::volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volumeStep_, 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, volumeStep,
+ sinkID, volumeStep_,
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(
@@ -242,6 +273,13 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setSinkMuteStateAsyn
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(
@@ -261,6 +299,13 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setMainSinkSoundProp
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(
@@ -280,6 +325,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setMainSourceSoundPr
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(
@@ -299,6 +349,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setSystemPropertyAsy
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(
@@ -316,6 +371,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainConnectio
"",
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(
@@ -333,6 +393,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSinksAsyn
"",
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(
@@ -350,6 +415,12 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSourcesAs
"",
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(
@@ -369,6 +440,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSinkSound
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(
@@ -388,6 +464,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSourceSou
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(
@@ -405,6 +486,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::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(
@@ -422,6 +508,11 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListSinkClassesAs
"",
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(
@@ -439,6 +530,12 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListSystemPropert
"",
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(
@@ -458,6 +555,10 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getTimingInformation
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(
@@ -477,6 +578,10 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSinkNotif
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(
@@ -496,6 +601,12 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::getListMainSourceNot
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(
@@ -515,6 +626,12 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setMainSinkNotificat
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(
@@ -535,6 +652,8 @@ std::future<CommonAPI::CallStatus> CommandControlDBusProxy::setMainSourceNotific
std::move(callback));
}
+
+
void CommandControlDBusProxy::getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const {
ownVersionMajor = 1;
ownVersionMinor = 0;
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.h
index 3f146b7..aad93f7 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.h
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusProxy.h
@@ -1,34 +1,39 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * 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>
@@ -45,6 +50,7 @@ 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,
@@ -78,70 +84,162 @@ class CommandControlDBusProxy: virtual public CommandControlProxyBase, virtual p
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);
-
- virtual void volumeStep(const am_sinkID_t& sinkID, const int16_t& volumeStep, CommonAPI::CallStatus& callStatus, am_Error_e& error);
- virtual std::future<CommonAPI::CallStatus> volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volumeStep, VolumeStepAsyncCallback 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& volumeStep_, CommonAPI::CallStatus& callStatus, am_Error_e& error);
+ virtual std::future<CommonAPI::CallStatus> volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volumeStep_, 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:
@@ -169,8 +267,11 @@ class CommandControlDBusProxy: virtual public CommandControlProxyBase, virtual p
CommonAPI::DBus::DBusEvent<SourceNotificationEvent> sourceNotification_;
CommonAPI::DBus::DBusEvent<MainSinkNotificationConfigurationChangedEvent> mainSinkNotificationConfigurationChanged_;
CommonAPI::DBus::DBusEvent<MainSourceNotificationConfigurationChangedEvent> mainSourceNotificationConfigurationChanged_;
+
};
+
+
} // namespace am
} // namespace genivi
} // namespace org
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.cpp b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.cpp
index 4715cdb..751695f 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.cpp
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.cpp
@@ -1,26 +1,21 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
#include "CommandControlDBusStubAdapter.h"
@@ -31,13 +26,14 @@ 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>(commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection, stubBase);
+ return std::make_shared<CommandControlDBusStubAdapter>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection, stubBase);
}
__attribute__((constructor)) void registerCommandControlDBusStubAdapter(void) {
@@ -46,303 +42,610 @@ __attribute__((constructor)) void registerCommandControlDBusStubAdapter(void) {
}
CommandControlDBusStubAdapter::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):
- CommandControlDBusStubAdapterHelper(commonApiAddress, dbusInterfaceName, dbusBusName, dbusObjectPath, dbusConnection, std::dynamic_pointer_cast<CommandControlStub>(stub)) {
+ CommandControlDBusStubAdapterHelper(factory, commonApiAddress, dbusInterfaceName, dbusBusName, dbusObjectPath,
+ dbusConnection, std::dynamic_pointer_cast<CommandControlStub>(stub),
+ NULL)
+ {
+}
+
+CommandControlDBusStubAdapter::~CommandControlDBusStubAdapter() {
+ deactivateManagedInstances();
+ deinit();
+ stub_.reset();
+}
+
+void CommandControlDBusStubAdapter::deactivateManagedInstances() {
}
const char* CommandControlDBusStubAdapter::getMethodsDBusIntrospectionXmlData() const {
- return
+ static const char* introspectionData =
+ /**
+ * 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=\"volumeStep\" type=\"n\" direction=\"in\" />\n"
+ "<arg name=\"volumeStep_\" 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;
}
+/**
+ * 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(&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.
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_mainConnectionID_t>,
std::tuple<am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_sinkID_t, am_mainVolume_t>,
std::tuple<am_Error_e>
> 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.
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_sinkID_t, int16_t>,
std::tuple<am_Error_e>
> 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.
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_sinkID_t, am_MuteState_e>,
std::tuple<am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_sinkID_t, am_MainSoundProperty_s>,
std::tuple<am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_sourceID_t, am_MainSoundProperty_s>,
std::tuple<am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_SystemProperty_s>,
std::tuple<am_Error_e>
> setSystemPropertyStubDispatcher(&CommandControlStub::setSystemProperty, "i");
+/**
+ * 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(&CommandControlStub::getListMainConnections, "a(qqqni)i");
+/**
+ * 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(&CommandControlStub::getListMainSinks, "a(qs(iq)niq)i");
+/**
+ * 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(&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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_sinkID_t>,
std::tuple<am_MainSoundProperty_L, am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_sourceID_t>,
std::tuple<am_MainSoundProperty_L, am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<>,
std::tuple<am_SourceClass_L, am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<>,
std::tuple<am_SinkClass_L, am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<>,
std::tuple<am_SystemProperty_L, am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_mainConnectionID_t>,
std::tuple<am_timeSync_t, am_Error_e>
> getTimingInformationStubDispatcher(&CommandControlStub::getTimingInformation, "ni");
+/**
+ * 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(&CommandControlStub::getListMainSinkNotificationConfigurations, "a(qin)i");
+/**
+ * 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(&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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_sinkID_t, am_NotificationConfiguration_s>,
std::tuple<am_Error_e>
> 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
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
CommandControlStub,
std::tuple<am_sourceID_t, am_NotificationConfiguration_s>,
@@ -350,6 +653,9 @@ static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
> setMainSourceNotificationConfigurationStubDispatcher(&CommandControlStub::setMainSourceNotificationConfiguration, "i");
+/**
+ * Callback that is called when the number of connections change
+ */
void CommandControlDBusStubAdapter::fireNewMainConnectionEvent(const am_MainConnectionType_s& mainConnection) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_MainConnectionType_s>>
::sendSignal(
@@ -359,6 +665,9 @@ void CommandControlDBusStubAdapter::fireNewMainConnectionEvent(const am_MainConn
mainConnection
);
}
+/**
+ * Callback that is called when the number of connections change
+ */
void CommandControlDBusStubAdapter::fireRemovedMainConnectionEvent(const am_mainConnectionID_t& mainConnection) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t>>
::sendSignal(
@@ -368,6 +677,9 @@ void CommandControlDBusStubAdapter::fireRemovedMainConnectionEvent(const am_main
mainConnection
);
}
+/**
+ * Callback that is called when the number of sinks change
+ */
void CommandControlDBusStubAdapter::fireNewSinkEvent(const am_SinkType_s& sink) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_SinkType_s>>
::sendSignal(
@@ -377,6 +689,9 @@ void CommandControlDBusStubAdapter::fireNewSinkEvent(const am_SinkType_s& sink)
sink
);
}
+/**
+ * Callback that is called when the number of sinks change
+ */
void CommandControlDBusStubAdapter::fireRemovedSinkEvent(const am_sinkID_t& sinkID) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t>>
::sendSignal(
@@ -386,6 +701,9 @@ void CommandControlDBusStubAdapter::fireRemovedSinkEvent(const am_sinkID_t& sink
sinkID
);
}
+/**
+ * Callback that is called when the number of sources change
+ */
void CommandControlDBusStubAdapter::fireNewSourceEvent(const am_SourceType_s& source) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_SourceType_s>>
::sendSignal(
@@ -395,6 +713,9 @@ void CommandControlDBusStubAdapter::fireNewSourceEvent(const am_SourceType_s& so
source
);
}
+/**
+ * Callback that is called when the number of sources change
+ */
void CommandControlDBusStubAdapter::fireRemovedSourceEvent(const am_sourceID_t& source) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t>>
::sendSignal(
@@ -404,6 +725,9 @@ void CommandControlDBusStubAdapter::fireRemovedSourceEvent(const am_sourceID_t&
source
);
}
+/**
+ * this callback is fired if the number of sink classes changed
+ */
void CommandControlDBusStubAdapter::fireNumberOfSinkClassesChangedEvent() {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<>>
::sendSignal(
@@ -412,6 +736,9 @@ void CommandControlDBusStubAdapter::fireNumberOfSinkClassesChangedEvent() {
""
);
}
+/**
+ * this callback is fired if the number of source classes changed
+ */
void CommandControlDBusStubAdapter::fireNumberOfSourceClassesChangedEvent() {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<>>
::sendSignal(
@@ -420,6 +747,9 @@ void CommandControlDBusStubAdapter::fireNumberOfSourceClassesChangedEvent() {
""
);
}
+/**
+ * This callback is called when the ConnectionState of a connection changed.
+ */
void CommandControlDBusStubAdapter::fireMainConnectionStateChangedEvent(const am_mainConnectionID_t& connectionID, const am_ConnectionState_e& connectionState) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t, am_ConnectionState_e>>
::sendSignal(
@@ -429,6 +759,9 @@ void CommandControlDBusStubAdapter::fireMainConnectionStateChangedEvent(const am
connectionID, connectionState
);
}
+/**
+ * this callback indicates that a sinkSoundProperty has changed.
+ */
void CommandControlDBusStubAdapter::fireMainSinkSoundPropertyChangedEvent(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_MainSoundProperty_s>>
::sendSignal(
@@ -438,6 +771,9 @@ void CommandControlDBusStubAdapter::fireMainSinkSoundPropertyChangedEvent(const
sinkID, soundProperty
);
}
+/**
+ * this callback indicates that a sourceSoundProperty has changed.
+ */
void CommandControlDBusStubAdapter::fireMainSourceSoundPropertyChangedEvent(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_MainSoundProperty_s>>
::sendSignal(
@@ -447,6 +783,9 @@ void CommandControlDBusStubAdapter::fireMainSourceSoundPropertyChangedEvent(cons
sourceID, soundProperty
);
}
+/**
+ * this callback is called when the availability of a sink has changed
+ */
void CommandControlDBusStubAdapter::fireSinkAvailabilityChangedEvent(const am_sinkID_t& sinkID, const am_Availability_s& availability) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Availability_s>>
::sendSignal(
@@ -456,6 +795,9 @@ void CommandControlDBusStubAdapter::fireSinkAvailabilityChangedEvent(const am_si
sinkID, availability
);
}
+/**
+ * this callback is called when the availability of source has changed.
+ */
void CommandControlDBusStubAdapter::fireSourceAvailabilityChangedEvent(const am_sourceID_t& sourceID, const am_Availability_s& availability) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_Availability_s>>
::sendSignal(
@@ -465,6 +807,9 @@ void CommandControlDBusStubAdapter::fireSourceAvailabilityChangedEvent(const am_
sourceID, availability
);
}
+/**
+ * this callback indicates a volume change on the indicated sink
+ */
void CommandControlDBusStubAdapter::fireVolumeChangedEvent(const am_sinkID_t& sinkID, const am_mainVolume_t& volume) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_mainVolume_t>>
::sendSignal(
@@ -474,6 +819,9 @@ void CommandControlDBusStubAdapter::fireVolumeChangedEvent(const am_sinkID_t& si
sinkID, volume
);
}
+/**
+ * this callback indicates a mute state change on a sink.
+ */
void CommandControlDBusStubAdapter::fireSinkMuteStateChangedEvent(const am_sinkID_t& sinkID, const am_MuteState_e& muteState) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_MuteState_e>>
::sendSignal(
@@ -483,6 +831,9 @@ void CommandControlDBusStubAdapter::fireSinkMuteStateChangedEvent(const am_sinkI
sinkID, muteState
);
}
+/**
+ * is fired if a systemProperty changed
+ */
void CommandControlDBusStubAdapter::fireSystemPropertyChangedEvent(const am_SystemProperty_s& systemProperty) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_SystemProperty_s>>
::sendSignal(
@@ -492,6 +843,9 @@ void CommandControlDBusStubAdapter::fireSystemPropertyChangedEvent(const am_Syst
systemProperty
);
}
+/**
+ * This callback is fired if the timinginformation for a mainConnectionID changed
+ */
void CommandControlDBusStubAdapter::fireTimingInformationChangedEvent(const am_mainConnectionID_t& mainConnectionID, const am_timeSync_t& time) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_mainConnectionID_t, am_timeSync_t>>
::sendSignal(
@@ -501,6 +855,9 @@ void CommandControlDBusStubAdapter::fireTimingInformationChangedEvent(const am_m
mainConnectionID, time
);
}
+/**
+ * This callback is called when a sink is updated.
+ */
void CommandControlDBusStubAdapter::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(
@@ -510,6 +867,9 @@ void CommandControlDBusStubAdapter::fireSinkUpdatedEvent(const am_sinkID_t& sink
sinkID, sinkClassID, listMainSoundProperties
);
}
+/**
+ * This callback is called when a source is updated.
+ */
void CommandControlDBusStubAdapter::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(
@@ -519,6 +879,9 @@ void CommandControlDBusStubAdapter::fireSourceUpdatedEvent(const am_sourceID_t&
sourceID, sourceClassID, listMainSoundProperties
);
}
+/**
+ * This callback is called when a notificated value of a sink changes.
+ */
void CommandControlDBusStubAdapter::fireSinkNotificationEvent(const am_sinkID_t& sinkID, const am_NotificationPayload_s& notification) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_NotificationPayload_s>>
::sendSignal(
@@ -528,6 +891,9 @@ void CommandControlDBusStubAdapter::fireSinkNotificationEvent(const am_sinkID_t&
sinkID, notification
);
}
+/**
+ * This callback is called when a notifcated value of a source changes.
+ */
void CommandControlDBusStubAdapter::fireSourceNotificationEvent(const am_sourceID_t& sourceID, const am_NotificationPayload_s& notification) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_NotificationPayload_s>>
::sendSignal(
@@ -537,6 +903,9 @@ void CommandControlDBusStubAdapter::fireSourceNotificationEvent(const am_sourceI
sourceID, notification
);
}
+/**
+ * This callback is triggered when a mainNotificationConfiguration is changed.
+ */
void CommandControlDBusStubAdapter::fireMainSinkNotificationConfigurationChangedEvent(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_NotificationConfiguration_s>>
::sendSignal(
@@ -546,6 +915,9 @@ void CommandControlDBusStubAdapter::fireMainSinkNotificationConfigurationChanged
sinkID, mainNotificationConfiguration
);
}
+/**
+ * This callback is triggered when a mainNotificationConfiguration is changed.
+ */
void CommandControlDBusStubAdapter::fireMainSourceNotificationConfigurationChangedEvent(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration) {
CommonAPI::DBus::DBusStubSignalHelper<CommonAPI::DBus::DBusSerializableArguments<am_sourceID_t, am_NotificationConfiguration_s>>
::sendSignal(
@@ -556,31 +928,146 @@ void CommandControlDBusStubAdapter::fireMainSourceNotificationConfigurationChang
);
}
+const CommandControlDBusStubAdapter::StubDispatcherTable& CommandControlDBusStubAdapter::getStubDispatcherTable() {
+ static const CommandControlDBusStubAdapter::StubDispatcherTable 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::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::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::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::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::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::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::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::setSystemPropertyStubDispatcher },
+ /**
+ * returns the actual list of MainConnections
+ (at)return E_OK on success,
+ * E_DATABASE_ERROR on error
+ */
+ { { "getListMainConnections", "" }, &org::genivi::am::getListMainConnectionsStubDispatcher },
+ /**
+ * returns the actual list of Sinks
+ (at)return E_OK on success, E_DATABASE_ERROR
+ * on error
+ */
+ { { "getListMainSinks", "" }, &org::genivi::am::getListMainSinksStubDispatcher },
+ /**
+ * returns the actual list of Sources
+ (at)return E_OK on success,
+ * E_DATABASE_ERROR on error
+ */
+ { { "getListMainSources", "" }, &org::genivi::am::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::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::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::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::getListSinkClassesStubDispatcher },
+ /**
+ * Retrieves a complete list of all systemProperties.
+ (at)return E_OK on success,
+ * E_DATABASE_ERROR on error
+ */
+ { { "getListSystemProperties", "" }, &org::genivi::am::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::getTimingInformationStubDispatcher },
+ /**
+ * Retrieves the list of MainNotifications for a sink. Does not return the
+ * possible ones.
+ */
+ { { "getListMainSinkNotificationConfigurations", "q" }, &org::genivi::am::getListMainSinkNotificationConfigurationsStubDispatcher },
+ /**
+ * Retrieves the list of MainNotifications for a source. Does not return the
+ * possible ones.
+ */
+ { { "getListMainSourceNotificationConfigurations", "q" }, &org::genivi::am::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::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::setMainSourceNotificationConfigurationStubDispatcher }
+ };
+ return stubDispatcherTable;
+}
+
+
} // namespace am
} // namespace genivi
} // namespace org
-
-template<>
-const org::genivi::am::CommandControlDBusStubAdapterHelper::StubDispatcherTable org::genivi::am::CommandControlDBusStubAdapterHelper::stubDispatcherTable_ = {
- { { "connect", "qq" }, &org::genivi::am::connectStubDispatcher },
- { { "disconnect", "q" }, &org::genivi::am::disconnectStubDispatcher },
- { { "setVolume", "qn" }, &org::genivi::am::setVolumeStubDispatcher },
- { { "volumeStep", "qn" }, &org::genivi::am::volumeStepStubDispatcher },
- { { "setSinkMuteState", "qi" }, &org::genivi::am::setSinkMuteStateStubDispatcher },
- { { "setMainSinkSoundProperty", "q(qn)" }, &org::genivi::am::setMainSinkSoundPropertyStubDispatcher },
- { { "setMainSourceSoundProperty", "q(qn)" }, &org::genivi::am::setMainSourceSoundPropertyStubDispatcher },
- { { "setSystemProperty", "(qn)" }, &org::genivi::am::setSystemPropertyStubDispatcher },
- { { "getListMainConnections", "" }, &org::genivi::am::getListMainConnectionsStubDispatcher },
- { { "getListMainSinks", "" }, &org::genivi::am::getListMainSinksStubDispatcher },
- { { "getListMainSources", "" }, &org::genivi::am::getListMainSourcesStubDispatcher },
- { { "getListMainSinkSoundProperties", "q" }, &org::genivi::am::getListMainSinkSoundPropertiesStubDispatcher },
- { { "getListMainSourceSoundProperties", "q" }, &org::genivi::am::getListMainSourceSoundPropertiesStubDispatcher },
- { { "getListSourceClasses", "" }, &org::genivi::am::getListSourceClassesStubDispatcher },
- { { "getListSinkClasses", "" }, &org::genivi::am::getListSinkClassesStubDispatcher },
- { { "getListSystemProperties", "" }, &org::genivi::am::getListSystemPropertiesStubDispatcher },
- { { "getTimingInformation", "q" }, &org::genivi::am::getTimingInformationStubDispatcher },
- { { "getListMainSinkNotificationConfigurations", "q" }, &org::genivi::am::getListMainSinkNotificationConfigurationsStubDispatcher },
- { { "getListMainSourceNotificationConfigurations", "q" }, &org::genivi::am::getListMainSourceNotificationConfigurationsStubDispatcher },
- { { "setMainSinkNotificationConfiguration", "q(qin)" }, &org::genivi::am::setMainSinkNotificationConfigurationStubDispatcher },
- { { "setMainSourceNotificationConfiguration", "q(qin)" }, &org::genivi::am::setMainSourceNotificationConfigurationStubDispatcher }
-};
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.h
index d51fdd7..851f12b 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.h
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlDBusStubAdapter.h
@@ -1,37 +1,44 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * 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
@@ -44,40 +51,119 @@ typedef CommonAPI::DBus::DBusStubAdapterHelper<CommandControlStub> CommandContro
class CommandControlDBusStubAdapter: public CommandControlStubAdapter, public CommandControlDBusStubAdapterHelper {
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);
-
+ ~CommandControlDBusStubAdapter();
+
+
+ /**
+ * 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 StubDispatcherTable& getStubDispatcherTable();
+
+ void deactivateManagedInstances();
protected:
virtual const char* getMethodsDBusIntrospectionXmlData() const;
+
+ private:
};
} // namespace am
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxy.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxy.h
index 8bcb7fe..9ad4d49 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxy.h
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxy.h
@@ -1,34 +1,39 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * 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
@@ -44,132 +49,226 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
~CommandControlProxy();
- /// Returns the wrapper class that provides access to the broadcast newMainConnection.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast removedMainConnection.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast newSink.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast removedSink.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast newSource.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast removedSource.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast numberOfSinkClassesChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast numberOfSourceClassesChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast mainConnectionStateChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast mainSinkSoundPropertyChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast mainSourceSoundPropertyChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast sinkAvailabilityChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast sourceAvailabilityChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast volumeChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast sinkMuteStateChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast systemPropertyChanged.
+ /**
+ * is fired if a systemProperty changed
+ */
+ /**
+ * Returns the wrapper class that provides access to the broadcast systemPropertyChanged.
+ */
virtual SystemPropertyChangedEvent& getSystemPropertyChangedEvent() {
return delegate_->getSystemPropertyChangedEvent();
}
-
- /// Returns the wrapper class that provides access to the broadcast timingInformationChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast sinkUpdated.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast sourceUpdated.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast sinkNotification.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast sourceNotification.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast mainSinkNotificationConfigurationChanged.
+ /**
+ * 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();
}
-
- /// Returns the wrapper class that provides access to the broadcast mainSourceNotificationConfigurationChanged.
+ /**
+ * 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void connect(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_mainConnectionID_t& mainConnectionID, am_Error_e& error);
/**
@@ -183,16 +282,18 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void disconnect(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_Error_e& error);
/**
@@ -206,16 +307,18 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void setVolume(const am_sinkID_t& sinkID, const am_mainVolume_t& volume, CommonAPI::CallStatus& callStatus, am_Error_e& error);
/**
@@ -229,18 +332,21 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
- virtual void volumeStep(const am_sinkID_t& sinkID, const int16_t& volumeStep, CommonAPI::CallStatus& callStatus, am_Error_e& error);
+ virtual void volumeStep(const am_sinkID_t& sinkID, const int16_t& volumeStep_, CommonAPI::CallStatus& callStatus, am_Error_e& error);
/**
* Calls volumeStep with asynchronous semantics.
*
@@ -251,17 +357,19 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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& volumeStep, VolumeStepAsyncCallback callback);
-
+ virtual std::future<CommonAPI::CallStatus> volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volumeStep_, 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void setSinkMuteState(const am_sinkID_t& sinkID, const am_MuteState_e& muteState, CommonAPI::CallStatus& callStatus, am_Error_e& error);
/**
@@ -275,16 +383,20 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void setMainSinkSoundProperty(const am_sinkID_t& sinkID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error);
/**
@@ -298,16 +410,20 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void setMainSourceSoundProperty(const am_sourceID_t& sourceID, const am_MainSoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus, am_Error_e& error);
/**
@@ -321,16 +437,18 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void setSystemProperty(const am_SystemProperty_s& property, CommonAPI::CallStatus& callStatus, am_Error_e& error);
/**
@@ -344,15 +462,17 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListMainConnections(CommonAPI::CallStatus& callStatus, am_MainConnection_L& listConnections, am_Error_e& error);
/**
@@ -366,15 +486,17 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListMainSinks(CommonAPI::CallStatus& callStatus, am_SinkType_L& listMainSinks, am_Error_e& error);
/**
@@ -388,15 +510,17 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListMainSources(CommonAPI::CallStatus& callStatus, am_SourceType_L& listMainSources, am_Error_e& error);
/**
@@ -410,16 +534,19 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListMainSinkSoundProperties(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error);
/**
@@ -433,16 +560,18 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListMainSourceSoundProperties(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error);
/**
@@ -456,15 +585,17 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListSourceClasses(CommonAPI::CallStatus& callStatus, am_SourceClass_L& listSourceClasses, am_Error_e& error);
/**
@@ -478,15 +609,17 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListSinkClasses(CommonAPI::CallStatus& callStatus, am_SinkClass_L& listSinkClasses, am_Error_e& error);
/**
@@ -500,15 +633,17 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListSystemProperties(CommonAPI::CallStatus& callStatus, am_SystemProperty_L& listSystemProperties, am_Error_e& error);
/**
@@ -522,16 +657,19 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getTimingInformation(const am_mainConnectionID_t& mainConnectionID, CommonAPI::CallStatus& callStatus, am_timeSync_t& delay, am_Error_e& error);
/**
@@ -545,16 +683,17 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListMainSinkNotificationConfigurations(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error);
/**
@@ -568,16 +707,17 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void getListMainSourceNotificationConfigurations(const am_sourceID_t& sourceID, CommonAPI::CallStatus& callStatus, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error);
/**
@@ -591,16 +731,19 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void setMainSinkNotificationConfiguration(const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error);
/**
@@ -614,16 +757,19 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ * 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.
- * Synchronous calls are not supported (will block indefinitely) when mainloop integration is used.
*/
virtual void setMainSourceNotificationConfiguration(const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& mainNotificationConfiguration, CommonAPI::CallStatus& callStatus, am_Error_e& error);
/**
@@ -637,23 +783,39 @@ class CommandControlProxy: virtual public CommandControl, virtual public Command
* 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.
+ /**
+ * 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.
+ /**
+ * 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.
+ /**
+ * 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.
+ /**
+ * 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 available.
+ /**
+ * 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.
*/
@@ -683,6 +845,11 @@ 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);
@@ -692,7 +859,11 @@ 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);
@@ -702,7 +873,11 @@ 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);
@@ -712,17 +887,26 @@ 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& volumeStep, CommonAPI::CallStatus& callStatus, am_Error_e& error) {
- delegate_->volumeStep(sinkID, volumeStep, callStatus, error);
+void CommandControlProxy<_AttributeExtensions...>::volumeStep(const am_sinkID_t& sinkID, const int16_t& volumeStep_, CommonAPI::CallStatus& callStatus, am_Error_e& error) {
+ delegate_->volumeStep(sinkID, volumeStep_, callStatus, error);
}
template <typename ... _AttributeExtensions>
-std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volumeStep, VolumeStepAsyncCallback callback) {
- return delegate_->volumeStepAsync(sinkID, volumeStep, callback);
+std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>::volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volumeStep_, VolumeStepAsyncCallback callback) {
+ return delegate_->volumeStepAsync(sinkID, volumeStep_, 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);
@@ -732,7 +916,13 @@ 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);
@@ -742,7 +932,13 @@ 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);
@@ -752,7 +948,11 @@ 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);
@@ -762,7 +962,11 @@ 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);
@@ -772,7 +976,11 @@ 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);
@@ -782,7 +990,11 @@ 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);
@@ -792,7 +1004,12 @@ 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);
@@ -802,7 +1019,11 @@ 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);
@@ -812,7 +1033,11 @@ 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);
@@ -822,7 +1047,11 @@ 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);
@@ -832,7 +1061,11 @@ 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);
@@ -842,7 +1075,12 @@ 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);
@@ -852,7 +1090,10 @@ 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);
@@ -862,7 +1103,10 @@ 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);
@@ -872,7 +1116,12 @@ 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);
@@ -882,7 +1131,12 @@ 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);
@@ -893,7 +1147,6 @@ std::future<CommonAPI::CallStatus> CommandControlProxy<_AttributeExtensions...>:
return delegate_->setMainSourceNotificationConfigurationAsync(sourceID, mainNotificationConfiguration, callback);
}
-
template <typename ... _AttributeExtensions>
std::string CommandControlProxy<_AttributeExtensions...>::getAddress() const {
return delegate_->getAddress();
@@ -920,6 +1173,11 @@ bool CommandControlProxy<_AttributeExtensions...>::isAvailable() const {
}
template <typename ... _AttributeExtensions>
+bool CommandControlProxy<_AttributeExtensions...>::isAvailableBlocking() const {
+ return delegate_->isAvailableBlocking();
+}
+
+template <typename ... _AttributeExtensions>
CommonAPI::ProxyStatusEvent& CommandControlProxy<_AttributeExtensions...>::getProxyStatusEvent() {
return delegate_->getProxyStatusEvent();
}
@@ -929,10 +1187,11 @@ CommonAPI::InterfaceVersionAttribute& CommandControlProxy<_AttributeExtensions..
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
index 588e2a7..8bc83e5 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxyBase.h
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlProxyBase.h
@@ -1,195 +1,361 @@
- /*
- * This file was generated by the CommonAPI Generators.
- *
- * This file was generated by the CommonAPI Generators.
- *
- * This file was generated by the CommonAPI Generators.
- *
- * Copyright (C) 2012, BMW AG
- *
- * This file is part of GENIVI Project AudioManager.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
- * \author Christian Linke christian.linke@bmw.de BMW 2013
- *
- * For further information see http://www.genivi.org/.
+/*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
+*
+* Copyright (c) 2012 BMW
+*
+* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
+* For further information see http://www.genivi.org/.
+*/
+/**
+ * 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>
-
- #define COMMONAPI_INTERNAL_COMPILATION
-
- #include <CommonAPI/InputStream.h>
- #include <CommonAPI/OutputStream.h>
- #include <CommonAPI/SerializableStruct.h>
- #include <cstdint>
- #include <string>
- #include <vector>
+#ifndef ORG_GENIVI_AM_Command_Control_PROXY_BASE_H_
+#define ORG_GENIVI_AM_Command_Control_PROXY_BASE_H_
- #include <CommonAPI/Event.h>
- #include <CommonAPI/Proxy.h>
- #include <functional>
- #include <future>
-
- #undef COMMONAPI_INTERNAL_COMPILATION
+#include "CommandControl.h"
- 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;
+#include <org/genivi/am.h>
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
+#define COMMONAPI_INTERNAL_COMPILATION
+#endif
- virtual NewMainConnectionEvent& getNewMainConnectionEvent() = 0;
- virtual RemovedMainConnectionEvent& getRemovedMainConnectionEvent() = 0;
- virtual NewSinkEvent& getNewSinkEvent() = 0;
- virtual RemovedSinkEvent& getRemovedSinkEvent() = 0;
- virtual NewSourceEvent& getNewSourceEvent() = 0;
- virtual RemovedSourceEvent& getRemovedSourceEvent() = 0;
- virtual NumberOfSinkClassesChangedEvent& getNumberOfSinkClassesChangedEvent() = 0;
- virtual NumberOfSourceClassesChangedEvent& getNumberOfSourceClassesChangedEvent() = 0;
- virtual MainConnectionStateChangedEvent& getMainConnectionStateChangedEvent() = 0;
- virtual MainSinkSoundPropertyChangedEvent& getMainSinkSoundPropertyChangedEvent() = 0;
- virtual MainSourceSoundPropertyChangedEvent& getMainSourceSoundPropertyChangedEvent() = 0;
- virtual SinkAvailabilityChangedEvent& getSinkAvailabilityChangedEvent() = 0;
- virtual SourceAvailabilityChangedEvent& getSourceAvailabilityChangedEvent() = 0;
- virtual VolumeChangedEvent& getVolumeChangedEvent() = 0;
- virtual SinkMuteStateChangedEvent& getSinkMuteStateChangedEvent() = 0;
- virtual SystemPropertyChangedEvent& getSystemPropertyChangedEvent() = 0;
- virtual TimingInformationChangedEvent& getTimingInformationChangedEvent() = 0;
- virtual SinkUpdatedEvent& getSinkUpdatedEvent() = 0;
- virtual SourceUpdatedEvent& getSourceUpdatedEvent() = 0;
- virtual SinkNotificationEvent& getSinkNotificationEvent() = 0;
- virtual SourceNotificationEvent& getSourceNotificationEvent() = 0;
- virtual MainSinkNotificationConfigurationChangedEvent& getMainSinkNotificationConfigurationChangedEvent() = 0;
- virtual MainSourceNotificationConfigurationChangedEvent& getMainSourceNotificationConfigurationChangedEvent() = 0;
+#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>
- 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;
+#undef COMMONAPI_INTERNAL_COMPILATION
- 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;
+namespace org {
+namespace genivi {
+namespace am {
- 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;
+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;
- virtual void volumeStep(const am_sinkID_t& sinkID, const int16_t& volumeStep, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0;
- virtual std::future<CommonAPI::CallStatus> volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volumeStep, VolumeStepAsyncCallback callback) = 0;
+ 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;
- 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;
- 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;
+ /**
+ * 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;
- 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;
+ /**
+ * 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& volumeStep_, CommonAPI::CallStatus& callStatus, am_Error_e& error) = 0;
+ virtual std::future<CommonAPI::CallStatus> volumeStepAsync(const am_sinkID_t& sinkID, const int16_t& volumeStep_, 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;
+};
- 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;
+} // namespace am
+} // namespace genivi
+} // namespace org
- virtual void getListMainConnections(CommonAPI::CallStatus& callStatus, am_MainConnection_L& listConnections, am_Error_e& error) = 0;
- virtual std::future<CommonAPI::CallStatus> getListMainConnectionsAsync(GetListMainConnectionsAsyncCallback callback) = 0;
-
- virtual void getListMainSinks(CommonAPI::CallStatus& callStatus, am_SinkType_L& listMainSinks, am_Error_e& error) = 0;
- virtual std::future<CommonAPI::CallStatus> getListMainSinksAsync(GetListMainSinksAsyncCallback callback) = 0;
-
- virtual void getListMainSources(CommonAPI::CallStatus& callStatus, am_SourceType_L& listMainSources, am_Error_e& error) = 0;
- virtual std::future<CommonAPI::CallStatus> getListMainSourcesAsync(GetListMainSourcesAsyncCallback callback) = 0;
-
- 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;
-
- 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;
-
- virtual void getListSourceClasses(CommonAPI::CallStatus& callStatus, am_SourceClass_L& listSourceClasses, am_Error_e& error) = 0;
- virtual std::future<CommonAPI::CallStatus> getListSourceClassesAsync(GetListSourceClassesAsyncCallback callback) = 0;
-
- virtual void getListSinkClasses(CommonAPI::CallStatus& callStatus, am_SinkClass_L& listSinkClasses, am_Error_e& error) = 0;
- virtual std::future<CommonAPI::CallStatus> getListSinkClassesAsync(GetListSinkClassesAsyncCallback callback) = 0;
-
- virtual void getListSystemProperties(CommonAPI::CallStatus& callStatus, am_SystemProperty_L& listSystemProperties, am_Error_e& error) = 0;
- virtual std::future<CommonAPI::CallStatus> getListSystemPropertiesAsync(GetListSystemPropertiesAsyncCallback callback) = 0;
-
- 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;
-
- 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;
-
- 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;
-
- 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;
-
- 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_
+#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
index 838a7e6..d7819a3 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStub.h
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStub.h
@@ -1,28 +1,31 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * 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_
@@ -32,13 +35,16 @@
#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>
@@ -173,6 +179,15 @@ class CommandControlStubAdapter: virtual public CommonAPI::StubAdapter, public C
* 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
+ */
};
@@ -206,95 +221,276 @@ class CommandControlStub : public CommonAPI::Stub<CommandControlStubAdapter , Co
virtual ~CommandControlStub() { }
+ /**
+ * 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(am_sourceID_t sourceID, am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID, am_Error_e& error) = 0;
+ 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(am_mainConnectionID_t mainConnectionID, am_Error_e& error) = 0;
+ 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(am_sinkID_t sinkID, am_mainVolume_t volume, am_Error_e& error) = 0;
+ 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(am_sinkID_t sinkID, int16_t volumeStep, am_Error_e& error) = 0;
+ virtual void volumeStep(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, int16_t volumeStep_, 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(am_sinkID_t sinkID, am_MuteState_e muteState, am_Error_e& error) = 0;
+ 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(am_sinkID_t sinkID, am_MainSoundProperty_s soundProperty, am_Error_e& error) = 0;
+ 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(am_sourceID_t sourceID, am_MainSoundProperty_s soundProperty, am_Error_e& error) = 0;
+ 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(am_SystemProperty_s property, am_Error_e& error) = 0;
+ 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(am_MainConnection_L& listConnections, am_Error_e& error) = 0;
+ 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(am_SinkType_L& listMainSinks, am_Error_e& error) = 0;
+ 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(am_SourceType_L& listMainSources, am_Error_e& error) = 0;
+ 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(am_sinkID_t sinkID, am_MainSoundProperty_L& listSoundProperties, am_Error_e& error) = 0;
+ 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(am_sourceID_t sourceID, am_MainSoundProperty_L& listSourceProperties, am_Error_e& error) = 0;
+ 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(am_SourceClass_L& listSourceClasses, am_Error_e& error) = 0;
+ 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(am_SinkClass_L& listSinkClasses, am_Error_e& error) = 0;
+ 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(am_SystemProperty_L& listSystemProperties, am_Error_e& error) = 0;
+ 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(am_mainConnectionID_t mainConnectionID, am_timeSync_t& delay, am_Error_e& error) = 0;
+ 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(am_sinkID_t sinkID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) = 0;
+ 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(am_sourceID_t sourceID, am_NotificationConfiguration_L& listMainNotificationConfigurations, am_Error_e& error) = 0;
+ 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(am_sinkID_t sinkID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error) = 0;
+ 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(am_sourceID_t sourceID, am_NotificationConfiguration_s mainNotificationConfiguration, am_Error_e& error) = 0;
-
+ 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;
+
};
} // namespace am
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.cpp b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.cpp
index 9e8e39b..9040c71 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.cpp
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.cpp
@@ -1,26 +1,21 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
#include <org/genivi/am/CommandControlStubDefault.h>
@@ -39,161 +34,427 @@ CommandControlStubRemoteEvent* CommandControlStubDefault::initStubAdapter(const
}
+/**
+ * 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
}
-void CommandControlStubDefault::volumeStep(am_sinkID_t sinkID, int16_t volumeStep, 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.
+ */
+void CommandControlStubDefault::volumeStep(const std::shared_ptr<CommonAPI::ClientId> clientId, am_sinkID_t sinkID, int16_t volumeStep_, am_Error_e& error) {
+ // Call old style methods in default
+ volumeStep(sinkID, volumeStep_, error);
+}
+void CommandControlStubDefault::volumeStep(am_sinkID_t sinkID, int16_t volumeStep_, 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) {
}
diff --git a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.h b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.h
index 5b30746..a18c079 100644
--- a/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.h
+++ b/PluginCommandInterfaceCAPI/src-gen/org/genivi/am/CommandControlStubDefault.h
@@ -1,32 +1,36 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * 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 {
@@ -37,7 +41,7 @@ namespace am {
* 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.
@@ -49,75 +53,278 @@ class CommandControlStubDefault : public CommandControlStub {
CommandControlStubRemoteEvent* initStubAdapter(const std::shared_ptr<CommandControlStubAdapter>& stubAdapter);
+ /**
+ * 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);
- virtual void volumeStep(am_sinkID_t sinkID, int16_t volumeStep, 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 volumeStep_, am_Error_e& error);
+ virtual void volumeStep(am_sinkID_t sinkID, int16_t volumeStep_, 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:
-
+ std::shared_ptr<CommandControlStubAdapter> stubAdapter_;
private:
class RemoteEventHandler: public CommandControlStubRemoteEvent {
public:
@@ -129,7 +336,6 @@ class CommandControlStubDefault : public CommandControlStub {
};
RemoteEventHandler remoteEventHandler_;
- std::shared_ptr<CommandControlStubAdapter> stubAdapter_;
};
diff --git a/PluginRoutingInterfaceCAPI/fidl/PluginRoutingInterfaceCAPI_dbus.conf b/PluginRoutingInterfaceCAPI/fidl/PluginRoutingInterfaceCAPI_dbus.conf
index 583d99d..85e6284 100755
--- a/PluginRoutingInterfaceCAPI/fidl/PluginRoutingInterfaceCAPI_dbus.conf
+++ b/PluginRoutingInterfaceCAPI/fidl/PluginRoutingInterfaceCAPI_dbus.conf
@@ -4,5 +4,5 @@
##################################################################################################################
[local:org.genivi.audiomanger.routinginterface:org.genivi.audiomanger]
dbus_connection=org.genivi.audiomanager
-dbus_object=/org/genivi/audiomanager/RoutingObserver
-dbus_interface=org.genivi.audiomanager.RoutingObserver \ No newline at end of file
+dbus_object=/org/genivi/audiomanager/RoutingControlObserver
+dbus_interface=org.genivi.audiomanager.RoutingControlObserver \ No newline at end of file
diff --git a/PluginRoutingInterfaceCAPI/fidl/RoutingInterface.fidl b/PluginRoutingInterfaceCAPI/fidl/RoutingInterface.fidl
index 4c47707..912ce13 100644
--- a/PluginRoutingInterfaceCAPI/fidl/RoutingInterface.fidl
+++ b/PluginRoutingInterfaceCAPI/fidl/RoutingInterface.fidl
@@ -201,7 +201,7 @@ interface RoutingControlObserver {
@description : This attribute signals to the clients the current routing state.
A client should notify himself to this attribute in order to know the current state and act accordingly.
**>
- attribute am_RoutingReady_e RoutingReady //readonly
+ attribute am_RoutingReady_e RoutingReady readonly
<**
@description : acknowledges a asyncConnect
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.cpp
index ab69bbb..b3bec03 100644
--- a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.cpp
+++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.cpp
@@ -1,28 +1,26 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#include "am.h"
@@ -30,6 +28,59 @@ namespace org {
namespace genivi {
namespace am {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
am_Route_s::am_Route_s(const am_sourceID_t& sourceIDValue, const am_sinkID_t& sinkIDValue, const am_RoutingElement_L& routeValue):
sourceID(sourceIDValue),
sinkID(sinkIDValue),
@@ -60,6 +111,7 @@ void am_Route_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) cons
outputStream << sinkID;
outputStream << route;
}
+
am_Availability_s::am_Availability_s(const am_Availability_e& availabilityValue, const am_AvailabilityReason_pe& availabilityReasonValue):
availability(availabilityValue),
availabilityReason(availabilityReasonValue)
@@ -86,6 +138,7 @@ void am_Availability_s::writeToOutputStream(CommonAPI::OutputStream& outputStrea
outputStream << availability;
outputStream << availabilityReason;
}
+
am_ClassProperty_s::am_ClassProperty_s(const am_ClassProperty_pe& classPropertyValue, const int16_t& valueValue):
classProperty(classPropertyValue),
value(valueValue)
@@ -112,6 +165,7 @@ void am_ClassProperty_s::writeToOutputStream(CommonAPI::OutputStream& outputStre
outputStream << classProperty;
outputStream << value;
}
+
am_Crossfader_s::am_Crossfader_s(const am_crossfaderID_t& crossfaderIDValue, const std::string& nameValue, const am_sinkID_t& sinkID_AValue, const am_sinkID_t& sinkID_BValue, const am_sourceID_t& sourceIDValue, const am_HotSink_e& hotSinkValue):
crossfaderID(crossfaderIDValue),
name(nameValue),
@@ -154,6 +208,7 @@ void am_Crossfader_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << sourceID;
outputStream << hotSink;
}
+
am_Gateway_s::am_Gateway_s(const am_gatewayID_t& gatewayIDValue, const std::string& nameValue, const am_sinkID_t& sinkIDValue, const am_sourceID_t& sourceIDValue, const am_domainID_t& domainSinkIDValue, const am_domainID_t& domainSourceIDValue, const am_domainID_t& controlDomainIDValue, const am_ConnectionFormat_L& listSourceFormatsValue, const am_ConnectionFormat_L& listSinkFormatsValue, const am_Convertion_L& convertionMatrixValue):
gatewayID(gatewayIDValue),
name(nameValue),
@@ -212,6 +267,7 @@ void am_Gateway_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) co
outputStream << listSinkFormats;
outputStream << convertionMatrix;
}
+
am_RoutingElement_s::am_RoutingElement_s(const am_sourceID_t& sourceIDValue, const am_sinkID_t& sinkIDValue, const am_domainID_t& domainIDValue, const am_ConnectionFormat_pe& connectionFormatValue):
sourceID(sourceIDValue),
sinkID(sinkIDValue),
@@ -246,6 +302,7 @@ void am_RoutingElement_s::writeToOutputStream(CommonAPI::OutputStream& outputStr
outputStream << domainID;
outputStream << connectionFormat;
}
+
am_SoundProperty_s::am_SoundProperty_s(const am_SoundPropertyType_pe& typeValue, const int16_t& valueValue):
type(typeValue),
value(valueValue)
@@ -272,6 +329,7 @@ void am_SoundProperty_s::writeToOutputStream(CommonAPI::OutputStream& outputStre
outputStream << type;
outputStream << value;
}
+
am_SystemProperty_s::am_SystemProperty_s(const am_SystemPropertyType_pe& typeValue, const int16_t& valueValue):
type(typeValue),
value(valueValue)
@@ -298,6 +356,7 @@ void am_SystemProperty_s::writeToOutputStream(CommonAPI::OutputStream& outputStr
outputStream << type;
outputStream << value;
}
+
am_SinkClass_s::am_SinkClass_s(const am_sinkClass_t& sinkClassIDValue, const std::string& nameValue, const am_ClassProperty_L& listClassPropertiesValue):
sinkClassID(sinkClassIDValue),
name(nameValue),
@@ -328,6 +387,7 @@ void am_SinkClass_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << name;
outputStream << listClassProperties;
}
+
am_SourceClass_s::am_SourceClass_s(const am_sourceClass_t& sourceClassIDValue, const std::string& nameValue, const am_ClassProperty_L& listClassPropertiesValue):
sourceClassID(sourceClassIDValue),
name(nameValue),
@@ -358,6 +418,7 @@ void am_SourceClass_s::writeToOutputStream(CommonAPI::OutputStream& outputStream
outputStream << name;
outputStream << listClassProperties;
}
+
am_SourceType_s::am_SourceType_s(const am_sourceID_t& sourceIDValue, const std::string& nameValue, const am_Availability_s& availabilityValue, const am_sourceClass_t& sourceClassIDValue):
sourceID(sourceIDValue),
name(nameValue),
@@ -392,6 +453,7 @@ void am_SourceType_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << availability;
outputStream << sourceClassID;
}
+
am_SinkType_s::am_SinkType_s(const am_sinkID_t& sinkIDValue, const std::string& nameValue, const am_Availability_s& availabilityValue, const am_mainVolume_t& volumeValue, const am_MuteState_e& muteStateValue, const am_sinkClass_t& sinkClassIDValue):
sinkID(sinkIDValue),
name(nameValue),
@@ -434,6 +496,7 @@ void am_SinkType_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) c
outputStream << muteState;
outputStream << sinkClassID;
}
+
am_Handle_s::am_Handle_s(const am_Handle_e& handleTypeValue, const uint16_t& handleValue):
handleType(handleTypeValue),
handle(handleValue)
@@ -460,6 +523,7 @@ void am_Handle_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) con
outputStream << handleType;
outputStream << handle;
}
+
am_MainSoundProperty_s::am_MainSoundProperty_s(const am_MainSoundPropertyType_pe& typeValue, const int16_t& valueValue):
type(typeValue),
value(valueValue)
@@ -486,6 +550,7 @@ void am_MainSoundProperty_s::writeToOutputStream(CommonAPI::OutputStream& output
outputStream << type;
outputStream << value;
}
+
am_MainConnectionType_s::am_MainConnectionType_s(const am_mainConnectionID_t& mainConnectionIDValue, const am_sourceID_t& sourceIDValue, const am_sinkID_t& sinkIDValue, const am_timeSync_t& delayValue, const am_ConnectionState_e& connectionStateValue):
mainConnectionID(mainConnectionIDValue),
sourceID(sourceIDValue),
@@ -524,6 +589,7 @@ void am_MainConnectionType_s::writeToOutputStream(CommonAPI::OutputStream& outpu
outputStream << delay;
outputStream << connectionState;
}
+
am_MainConnection_s::am_MainConnection_s(const am_mainConnectionID_t& mainConnectionIDValue, const am_ConnectionState_e& connectionStateValue, const am_sinkID_t& sinkIDValue, const am_sourceID_t& sourceIDValue, const am_timeSync_t& delayValue, const am_ConnectionID_L& listConnectionIDValue):
mainConnectionID(mainConnectionIDValue),
connectionState(connectionStateValue),
@@ -566,6 +632,7 @@ void am_MainConnection_s::writeToOutputStream(CommonAPI::OutputStream& outputStr
outputStream << delay;
outputStream << listConnectionID;
}
+
am_NotificationPayload_s::am_NotificationPayload_s(const am_NotificationType_pe& typeValue, const int16_t& valueValue):
type(typeValue),
value(valueValue)
@@ -592,6 +659,7 @@ void am_NotificationPayload_s::writeToOutputStream(CommonAPI::OutputStream& outp
outputStream << type;
outputStream << value;
}
+
am_NotificationConfiguration_s::am_NotificationConfiguration_s(const am_NotificationType_pe& typeValue, const am_NotificationStatus_e& statusValue, const int16_t& parameterValue):
type(typeValue),
status(statusValue),
@@ -622,6 +690,7 @@ void am_NotificationConfiguration_s::writeToOutputStream(CommonAPI::OutputStream
outputStream << status;
outputStream << parameter;
}
+
am_Sink_s::am_Sink_s(const am_sinkID_t& sinkIDValue, const std::string& nameValue, const am_domainID_t& domainIDValue, const am_sinkClass_t& sinkClassIDValue, const am_volume_t& volumeValue, const bool& visibleValue, const am_Availability_s& availableValue, const am_MuteState_e& muteStateValue, const am_mainVolume_t& mainVolumeValue, const am_SoundProperty_L& listSoundPropertiesValue, const am_ConnectionFormat_L& listConnectionFormatsValue, const am_MainSoundProperty_L& listMainSoundPropertiesValue, const am_NotificationConfiguration_L& listMainNotificationConfigurationsValue, const am_NotificationConfiguration_L& listNotificationConfigurationsValue):
sinkID(sinkIDValue),
name(nameValue),
@@ -696,6 +765,7 @@ void am_Sink_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) const
outputStream << listMainNotificationConfigurations;
outputStream << listNotificationConfigurations;
}
+
am_Source_s::am_Source_s(const am_sourceID_t& sourceIDValue, const am_domainID_t& domainIDValue, const std::string& nameValue, const am_sourceClass_t& sourceClassIDValue, const am_SourceState_e& sourceStateValue, const am_volume_t& volumeValue, const bool& visibleValue, const am_Availability_s& availableValue, const am_InterruptState_e& interruptStateValue, const am_SoundProperty_L& listSoundPropertiesValue, const am_ConnectionFormat_L& listConnectionFormatsValue, const am_MainSoundProperty_L& listMainSoundPropertiesValue, const am_NotificationConfiguration_L& listMainNotificationConfigurationsValue, const am_NotificationConfiguration_L& listNotificationConfigurationsValue):
sourceID(sourceIDValue),
domainID(domainIDValue),
@@ -770,6 +840,7 @@ void am_Source_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) con
outputStream << listMainNotificationConfigurations;
outputStream << listNotificationConfigurations;
}
+
am_Domain_s::am_Domain_s(const am_domainID_t& domainIDValue, const std::string& nameValue, const std::string& busnameValue, const std::string& nodenameValue, const bool& earlyValue, const bool& completeValue, const am_DomainState_e& stateValue):
domainID(domainIDValue),
name(nameValue),
@@ -816,6 +887,7 @@ void am_Domain_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) con
outputStream << complete;
outputStream << state;
}
+
am_EarlyData_s::am_EarlyData_s(const am_EarlyDataType_e& typeValue, const am_DataType_u& sinksourceValue, const am_EarlyData_u& dataValue):
type(typeValue),
sinksource(sinksourceValue),
@@ -846,6 +918,7 @@ void am_EarlyData_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << sinksource;
outputStream << data;
}
+
am_Connection_s::am_Connection_s(const am_connectionID_t& connectionIDValue, const am_sourceID_t& sourceIDValue, const am_sinkID_t& sinkIDValue, const am_timeSync_t& delayValue, const am_ConnectionFormat_pe& connectionFormatValue):
connectionID(connectionIDValue),
sourceID(sourceIDValue),
@@ -884,6 +957,7 @@ void am_Connection_s::writeToOutputStream(CommonAPI::OutputStream& outputStream)
outputStream << delay;
outputStream << connectionFormat;
}
+
am_Volumes_s::am_Volumes_s(const am_VolumeType_e& volumeTypeValue, const am_DataType_u& volumeIDValue, const am_volume_t& volumeValue, const am_RampType_pe& rampValue, const am_time_t& timeValue):
volumeType(volumeTypeValue),
volumeID(volumeIDValue),
@@ -923,6 +997,8 @@ void am_Volumes_s::writeToOutputStream(CommonAPI::OutputStream& outputStream) co
outputStream << time;
}
+
+
} // namespace am
} // namespace genivi
} // namespace org
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.h
index 4d94244..d0b8606 100644
--- a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.h
+++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am.h
@@ -1,34 +1,34 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * @author Christian Linke
+ */
#ifndef ORG_GENIVI_am_H_
#define ORG_GENIVI_am_H_
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/InputStream.h>
#include <CommonAPI/OutputStream.h>
@@ -46,33 +46,92 @@ namespace org {
namespace genivi {
namespace am {
+ /**
+ * a source ID
+ */
+ /**
+ * a source ID
+ */
typedef uint16_t am_sourceID_t;
-
+ /**
+ * a mainConnection ID
+ */
+ /**
+ * a mainConnection ID
+ */
typedef uint16_t am_mainConnectionID_t;
-
+ /**
+ * offset time that is introduced in milli seconds.
+ */
+ /**
+ * offset time that is introduced in milli seconds.
+ */
typedef int16_t am_timeSync_t;
-
+ /**
+ * a sink ID
+ */
+ /**
+ * a sink ID
+ */
typedef uint16_t am_sinkID_t;
-
+ /**
+ * represents the connection state
+ */
enum class am_ConnectionState_e: int32_t {
CS_UNKNOWN = 0,
+ /**
+ * This means the connection is just building up
+ */
CS_CONNECTING = 1,
+ /**
+ * the connection is ready to be used
+ */
CS_CONNECTED = 2,
+ /**
+ * the connection is in the course to be knocked down
+ */
CS_DISCONNECTING = 3,
+ /**
+ * only relevant for connectionStatechanged. Is send after the connection was
+ * removed
+ */
CS_DISCONNECTED = 4,
+ /**
+ * this means the connection is still build up but unused at the moment
+ */
CS_SUSPENDED = 5,
CS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_ConnectionState_eComparator;
-
+ /**
+ * this type holds all information of connections relevant to the HMI
+ */
+ /**
+ * this type holds all information of connections relevant to the HMI
+ */
struct am_MainConnectionType_s: CommonAPI::SerializableStruct {
- am_mainConnectionID_t mainConnectionID;
- am_sourceID_t sourceID;
- am_sinkID_t sinkID;
- am_timeSync_t delay;
- am_ConnectionState_e connectionState;
+ /**
+ * the ID of the mainconnection
+ */
+ am_mainConnectionID_t mainConnectionID;
+ /**
+ * the sourceID where the connection starts
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the sinkID where the connection ends
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the delay of the mainconnection
+ */
+ am_timeSync_t delay;
+ /**
+ * the current connection state
+ */
+ am_ConnectionState_e connectionState;
am_MainConnectionType_s() = default;
am_MainConnectionType_s(const am_mainConnectionID_t& mainConnectionID, const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_timeSync_t& delay, const am_ConnectionState_e& connectionState);
@@ -89,14 +148,29 @@ namespace am {
typeOutputStream.writeInt32Type();
}
};
-
typedef std::vector<am_MainConnectionType_s> am_MainConnection_L;
-
+ /**
+ * product specific identifier of property
+ */
+ /**
+ * product specific identifier of property
+ */
typedef uint16_t am_ClassProperty_pe;
-
+ /**
+ * describes class properties
+ */
+ /**
+ * describes class properties
+ */
struct am_ClassProperty_s: CommonAPI::SerializableStruct {
- am_ClassProperty_pe classProperty;
- int16_t value;
+ /**
+ * the property as enum
+ */
+ am_ClassProperty_pe classProperty;
+ /**
+ * the value of the property
+ */
+ int16_t value;
am_ClassProperty_s() = default;
am_ClassProperty_s(const am_ClassProperty_pe& classProperty, const int16_t& value);
@@ -110,15 +184,28 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_ClassProperty_s> am_ClassProperty_L;
-
typedef uint16_t am_sinkClass_t;
-
+ /**
+ * struct describing sinkclasses
+ */
+ /**
+ * struct describing sinkclasses
+ */
struct am_SinkClass_s: CommonAPI::SerializableStruct {
- am_sinkClass_t sinkClassID;
- std::string name;
- am_ClassProperty_L listClassProperties;
+ /**
+ * the ID of the sinkClass
+ */
+ am_sinkClass_t sinkClassID;
+ /**
+ * the name of the sinkClass - must be unique in the system
+ */
+ std::string name;
+ /**
+ * the list of the class properties. These are pairs of a project specific enum
+ * describing the type of the value and an integer holding the real value.
+ */
+ am_ClassProperty_L listClassProperties;
am_SinkClass_s() = default;
am_SinkClass_s(const am_sinkClass_t& sinkClassID, const std::string& name, const am_ClassProperty_L& listClassProperties);
@@ -137,36 +224,87 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
typedef std::vector<am_SinkClass_s> am_SinkClass_L;
-
+ /**
+ * This is the volume presented on the command interface. It is in the duty of the
+ * Controller to change the volumes given here into meaningful values on the
+ * routing interface.
+ The range of this type is customer specific.
+ */
+ /**
+ * This is the volume presented on the command interface. It is in the duty of the
+ * Controller to change the volumes given here into meaningful values on the
+ * routing interface.
+ The range of this type is customer specific.
+ */
typedef int16_t am_mainVolume_t;
-
+ /**
+ * This project specific value gives the information about reason for reason for
+ * Source/Sink change
+ */
+ /**
+ * This project specific value gives the information about reason for reason for
+ * Source/Sink change
+ */
typedef uint16_t am_AvailabilityReason_pe;
-
+ /**
+ * with the help of this enum, sinks and sources can report their availability
+ * state
+ */
enum class am_Availability_e: int32_t {
+ /**
+ * default
+ */
A_UNKNOWN = 0,
+ /**
+ * The source / sink is available
+ */
A_AVAILABLE = 1,
+ /**
+ * the source / sink is not available
+ */
A_UNAVAILABLE = 2,
A_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_Availability_eComparator;
-
enum class am_MuteState_e: int32_t {
+ /**
+ * default
+ */
MS_UNKNOWN = 0,
+ /**
+ * the source / sink is muted
+ */
MS_MUTED = 1,
+ /**
+ * the source / sink is unmuted
+ */
MS_UNMUTED = 2,
MS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_MuteState_eComparator;
-
+ /**
+ * this describes the availability of a sink or a source together with the latest
+ * change
+ */
+ /**
+ * this describes the availability of a sink or a source together with the latest
+ * change
+ */
struct am_Availability_s: CommonAPI::SerializableStruct {
- am_Availability_e availability;
- am_AvailabilityReason_pe availabilityReason;
+ /**
+ * the current availability state
+ */
+ am_Availability_e availability;
+ /**
+ * the reason for the last change. This can be used to trigger events that deal
+ * with state changes.
+ */
+ am_AvailabilityReason_pe availabilityReason;
am_Availability_s() = default;
am_Availability_s(const am_Availability_e& availability, const am_AvailabilityReason_pe& availabilityReason);
@@ -180,14 +318,49 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
+ /**
+ * this type holds all information of sinks relevant to the HMI
+ */
+ /**
+ * this type holds all information of sinks relevant to the HMI
+ */
struct am_SinkType_s: CommonAPI::SerializableStruct {
- am_sinkID_t sinkID;
- std::string name;
- am_Availability_s availability;
- am_mainVolume_t volume;
- am_MuteState_e muteState;
- am_sinkClass_t sinkClassID;
+ /**
+ * This is the ID of the sink, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_sinkID_t sinkID;
+ /**
+ * The name of the sink. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * This attribute reflects the availability of the sink. There are several reasons
+ * why a sink could be not available for the moment: for example the shutdown of
+ * a sink because of overtemperature or over- &amp; undervoltage. The
+ * availability consists of two pieces of information:
+
+ Availablility: the
+ * status itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
+
+ * AvailabilityReason: this informs about the last reason for a change in
+ * availability. The reasons itself are product specific.
+ */
+ am_Availability_s availability;
+ /**
+ * This is the representation of the Volume for the commandInterface. It is used
+ * by the HMI to set the volume of a sink, the AudioManagerController has to
+ * transform this into real source and sink volumes.
+ */
+ am_mainVolume_t volume;
+ am_MuteState_e muteState;
+ /**
+ * The sinkClassID references to a sinkClass. With the help of classification,
+ * rules can be setup to define the system behaviour.
+ */
+ am_sinkClass_t sinkClassID;
am_SinkType_s() = default;
am_SinkType_s(const am_sinkID_t& sinkID, const std::string& name, const am_Availability_s& availability, const am_mainVolume_t& volume, const am_MuteState_e& muteState, const am_sinkClass_t& sinkClassID);
@@ -207,15 +380,28 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
typedef std::vector<am_SinkType_s> am_SinkType_L;
-
typedef uint16_t am_sourceClass_t;
-
+ /**
+ * struct describing source classes
+ */
+ /**
+ * struct describing source classes
+ */
struct am_SourceClass_s: CommonAPI::SerializableStruct {
- am_sourceClass_t sourceClassID;
- std::string name;
- am_ClassProperty_L listClassProperties;
+ /**
+ * the source ID
+ */
+ am_sourceClass_t sourceClassID;
+ /**
+ * the name of the sourceClass - must be unique in the system
+ */
+ std::string name;
+ /**
+ * the list of the class properties. These are pairs of a project specific enum
+ * describing the type of the value and an integer holding the real value.
+ */
+ am_ClassProperty_L listClassProperties;
am_SourceClass_s() = default;
am_SourceClass_s(const am_sourceClass_t& sourceClassID, const std::string& name, const am_ClassProperty_L& listClassProperties);
@@ -234,14 +420,35 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
typedef std::vector<am_SourceClass_s> am_SourceClass_L;
-
+ /**
+ * this type holds all information of sources relevant to the HMI
+ */
+ /**
+ * this type holds all information of sources relevant to the HMI
+ */
struct am_SourceType_s: CommonAPI::SerializableStruct {
- am_sourceID_t sourceID;
- std::string name;
- am_Availability_s availability;
- am_sourceClass_t sourceClassID;
+ /**
+ * This is the ID of the source, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_sourceID_t sourceID;
+ /**
+ * The name of the source. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * the availability of the source
+ */
+ am_Availability_s availability;
+ /**
+ * the sourceClassID, indicates the class the source is in. This information can
+ * be used by the Controller to implement different behaviour for different
+ * classes.
+ */
+ am_sourceClass_t sourceClassID;
am_SourceType_s() = default;
am_SourceType_s(const am_sourceID_t& sourceID, const std::string& name, const am_Availability_s& availability, const am_sourceClass_t& sourceClassID);
@@ -259,14 +466,29 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
typedef std::vector<am_SourceType_s> am_SourceType_L;
-
+ /**
+ * describes the different system properties. Project specific
+ */
+ /**
+ * describes the different system properties. Project specific
+ */
typedef uint16_t am_SystemPropertyType_pe;
-
+ /**
+ * struct describing system properties
+ */
+ /**
+ * struct describing system properties
+ */
struct am_SystemProperty_s: CommonAPI::SerializableStruct {
- am_SystemPropertyType_pe type;
- int16_t value;
+ /**
+ * the type that is set
+ */
+ am_SystemPropertyType_pe type;
+ /**
+ * the value
+ */
+ int16_t value;
am_SystemProperty_s() = default;
am_SystemProperty_s(const am_SystemPropertyType_pe& type, const int16_t& value);
@@ -280,32 +502,75 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_SystemProperty_s> am_SystemProperty_L;
-
+ /**
+ * a connection ID
+ */
+ /**
+ * a connection ID
+ */
typedef uint16_t am_connectionID_t;
-
typedef std::vector<am_connectionID_t> am_ConnectionID_L;
-
+ /**
+ * The unit is 0.1 db steps,The smallest value -3000 (=AM_MUTE). The minimum and
+ * maximum can be limited by actual project.
+ */
+ /**
+ * The unit is 0.1 db steps,The smallest value -3000 (=AM_MUTE). The minimum and
+ * maximum can be limited by actual project.
+ */
typedef int16_t am_volume_t;
-
+ /**
+ * Project specific sound properties.
+ */
+ /**
+ * Project specific sound properties.
+ */
typedef uint16_t am_SoundPropertyType_pe;
-
+ /**
+ * This enum characterizes the data of the EarlyData_t
+ */
enum class am_EarlyDataType_e: int32_t {
+ /**
+ * default
+ */
ES_UNKNOWN = 0,
+ /**
+ * the source volume
+ */
ED_SOURCE_VOLUME = 1,
+ /**
+ * the sink volume
+ */
ED_SINK_VOLUME = 2,
+ /**
+ * a source property
+ */
ED_SOURCE_PROPERTY = 3,
+ /**
+ * a sink property
+ */
ED_SINK_PROPERTY = 4,
ED_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_EarlyDataType_eComparator;
-
+ /**
+ * struct describing the sound property
+ */
+ /**
+ * struct describing the sound property
+ */
struct am_SoundProperty_s: CommonAPI::SerializableStruct {
- am_SoundPropertyType_pe type;
- int16_t value;
+ /**
+ * the type of the property - a project specific enum
+ */
+ am_SoundPropertyType_pe type;
+ /**
+ * the actual value of the property
+ */
+ int16_t value;
am_SoundProperty_s() = default;
am_SoundProperty_s(const am_SoundPropertyType_pe& type, const int16_t& value);
@@ -319,15 +584,38 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
+ /**
+ * data type depends of am_EarlyDataType_e:
+ volume_t in case of ED_SOURCE_VOLUME,
+ * ED_SINK_VOLUME
+ soundProperty_t in case of ED_SOURCE_PROPERTY,
+ * ED_SINK_PROPERTY
+ */
+ /**
+ * data type depends of am_EarlyDataType_e:
+ volume_t in case of ED_SOURCE_VOLUME,
+ * ED_SINK_VOLUME
+ soundProperty_t in case of ED_SOURCE_PROPERTY,
+ * ED_SINK_PROPERTY
+ */
typedef CommonAPI::Variant<am_volume_t, am_SoundProperty_s> am_EarlyData_u;
-
+ /**
+ * data type depends of am_EarlyDataType_e:
+ sourceID in case of ED_SOURCE_VOLUME,
+ * ED_SOURCE_PROPERTY
+ sinkID in case of ED_SINK_VOLUME, ED_SINK_PROPERTY
+ */
+ /**
+ * data type depends of am_EarlyDataType_e:
+ sourceID in case of ED_SOURCE_VOLUME,
+ * ED_SOURCE_PROPERTY
+ sinkID in case of ED_SINK_VOLUME, ED_SINK_PROPERTY
+ */
typedef CommonAPI::Variant<am_sinkID_t, am_sourceID_t> am_DataType_u;
-
struct am_EarlyData_s: CommonAPI::SerializableStruct {
- am_EarlyDataType_e type;
- am_DataType_u sinksource;
- am_EarlyData_u data;
+ am_EarlyDataType_e type;
+ am_DataType_u sinksource;
+ am_EarlyData_u data;
am_EarlyData_s() = default;
am_EarlyData_s(const am_EarlyDataType_e& type, const am_DataType_u& sinksource, const am_EarlyData_u& data);
@@ -342,14 +630,31 @@ namespace am {
typeOutputStream.writeVariantType();
}
};
-
typedef std::vector<am_EarlyData_s> am_EarlyData_L;
-
+ /**
+ * Here are all SoundProperties that can be set via the CommandInterface. Product
+ * specific
+ */
+ /**
+ * Here are all SoundProperties that can be set via the CommandInterface. Product
+ * specific
+ */
typedef uint16_t am_MainSoundPropertyType_pe;
-
+ /**
+ * struct describung mainsound property
+ */
+ /**
+ * struct describung mainsound property
+ */
struct am_MainSoundProperty_s: CommonAPI::SerializableStruct {
- am_MainSoundPropertyType_pe type;
- int16_t value;
+ /**
+ * the type of the property
+ */
+ am_MainSoundPropertyType_pe type;
+ /**
+ * the actual value
+ */
+ int16_t value;
am_MainSoundProperty_s() = default;
am_MainSoundProperty_s(const am_MainSoundPropertyType_pe& type, const int16_t& value);
@@ -363,28 +668,74 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_MainSoundProperty_s> am_MainSoundProperty_L;
-
+ /**
+ * gives the type of the Notification.
+ */
+ /**
+ * gives the type of the Notification.
+ */
typedef uint16_t am_NotificationType_pe;
-
enum class am_NotificationStatus_e: int32_t {
NS_UNKNOWN = 0,
+ /**
+ * No notification, the function is turned off
+ */
NS_OFF = 1,
+ /**
+ * Periodic notifications are sent out. The period in ms is given by
+ * am_NotificationParameter
+ */
NS_PERIODIC = 2,
+ /**
+ * The notification is sent out when the minimum given by am_NotificationParameter
+ * is reached.
+ */
NS_MINIMUM = 3,
+ /**
+ * The notification is sent out when the maximum given by am_NotificationParameter
+ * is reached.
+ */
NS_MAXIMUM = 4,
+ /**
+ * The notification is sent out when a change happened. The Resolution of the
+ * change is defined by am_NotificationParameter.
+ */
NS_CHANGE_ = 5,
NS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_NotificationStatus_eComparator;
-
+ /**
+ * This struct holds information about the configuration for notifications
+ */
+ /**
+ * This struct holds information about the configuration for notifications
+ */
struct am_NotificationConfiguration_s: CommonAPI::SerializableStruct {
- am_NotificationType_pe type;
- am_NotificationStatus_e status;
- int16_t parameter;
+ /**
+ * The notification type of the notification
+ */
+ am_NotificationType_pe type;
+ /**
+ * The Notification status. This can be periodic, min/max value based or even off
+ * for example
+ */
+ am_NotificationStatus_e status;
+ /**
+ * This gives additional information to the notification status.
+ Relation
+ * between notification status and the value:
+ NS_PERIODIC - the period in
+ * ms
+ NS_MINIMUM - the minimum value that triggers the notification
+ NS_MAXIMUM
+ * - the maximum value that triggers the notifcation
+ NS_CHANGE - the resolution
+ * of the change value
+ */
+ int16_t parameter;
am_NotificationConfiguration_s() = default;
am_NotificationConfiguration_s(const am_NotificationType_pe& type, const am_NotificationStatus_e& status, const int16_t& parameter);
@@ -399,18 +750,46 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_NotificationConfiguration_s> am_NotificationConfiguration_L;
-
+ /**
+ * a domain ID
+ */
+ /**
+ * a domain ID
+ */
typedef uint16_t am_domainID_t;
-
+ /**
+ * This project specific value classifies the format in which data is exchanged
+ * within a connection.
+ */
+ /**
+ * This project specific value classifies the format in which data is exchanged
+ * within a connection.
+ */
typedef uint16_t am_ConnectionFormat_pe;
-
+ /**
+ * This represents one "hopp" in a route
+ */
+ /**
+ * This represents one "hopp" in a route
+ */
struct am_RoutingElement_s: CommonAPI::SerializableStruct {
- am_sourceID_t sourceID;
- am_sinkID_t sinkID;
- am_domainID_t domainID;
- am_ConnectionFormat_pe connectionFormat;
+ /**
+ * the source ID
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the sinkID
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the domainID the routeElement is in
+ */
+ am_domainID_t domainID;
+ /**
+ * the connectionformat that is used for the route
+ */
+ am_ConnectionFormat_pe connectionFormat;
am_RoutingElement_s() = default;
am_RoutingElement_s(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_domainID_t& domainID, const am_ConnectionFormat_pe& connectionFormat);
@@ -426,31 +805,74 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
typedef std::vector<am_RoutingElement_s> am_RoutingElement_L;
-
typedef std::vector<am_SoundProperty_s> am_SoundProperty_L;
-
+ /**
+ * time in ms!
+ */
+ /**
+ * time in ms!
+ */
typedef int16_t am_time_t;
-
+ /**
+ * For products, different ramp types can be defined here.
+ It is in the
+ * responsibility of the product to make sure that the routing plugins are aware
+ * of the ramp types used.
+ */
+ /**
+ * For products, different ramp types can be defined here.
+ It is in the
+ * responsibility of the product to make sure that the routing plugins are aware
+ * of the ramp types used.
+ */
typedef uint16_t am_RampType_pe;
-
+ /**
+ * This datatype determines if a sourceID or a sinkID is used in the union
+ * following
+ */
enum class am_VolumeType_e: int32_t {
VT_UNKNOWN = 0,
+ /**
+ * the following type is a sink
+ */
VT_SINK = 1,
+ /**
+ * the following type is a source
+ */
VT_SOURCE = 2,
VT_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_VolumeType_eComparator;
-
+ /**
+ * This types describe a mixed description for source and sinks volumes.
+ */
+ /**
+ * This types describe a mixed description for source and sinks volumes.
+ */
struct am_Volumes_s: CommonAPI::SerializableStruct {
- am_VolumeType_e volumeType;
- am_DataType_u volumeID;
- am_volume_t volume;
- am_RampType_pe ramp;
- am_time_t time;
+ /**
+ * describes the type of the volume: source or sink.
+ */
+ am_VolumeType_e volumeType;
+ /**
+ * either sourceID or sinkID
+ */
+ am_DataType_u volumeID;
+ /**
+ * The volume
+ */
+ am_volume_t volume;
+ /**
+ * the ramp that shall be driven
+ */
+ am_RampType_pe ramp;
+ /**
+ * the time for the ramp
+ */
+ am_time_t time;
am_Volumes_s() = default;
am_Volumes_s(const am_VolumeType_e& volumeType, const am_DataType_u& volumeID, const am_volume_t& volume, const am_RampType_pe& ramp, const am_time_t& time);
@@ -467,71 +889,156 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
typedef std::vector<am_Volumes_s> am_Volumes_L;
-
typedef std::vector<am_ConnectionFormat_pe> am_ConnectionFormat_L;
-
typedef bool am_bool_t;
-
typedef std::vector<am_bool_t> am_Convertion_L;
-
+ /**
+ * a gateway ID
+ */
+ /**
+ * a gateway ID
+ */
typedef uint16_t am_gatewayID_t;
-
+ /**
+ * a crossfader ID
+ */
+ /**
+ * a crossfader ID
+ */
typedef uint16_t am_crossfaderID_t;
-
+ /**
+ * speed
+ */
+ /**
+ * speed
+ */
typedef uint16_t am_speed_t;
-
+ /**
+ * describes the active sink of a crossfader.
+ */
enum class am_HotSink_e: int32_t {
+ /**
+ * default
+ */
HS_UNKNOWN = 0,
+ /**
+ * sinkA is active
+ */
HS_SINKA = 1,
+ /**
+ * sinkB is active
+ */
HS_SINKB = 2,
+ /**
+ * the crossfader is in the transition state
+ */
HS_INTERMEDIATE = 3,
HS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_HotSink_eComparator;
-
enum class am_DomainState_e: int32_t {
+ /**
+ * default
+ */
DS_UNKNOWN = 0,
+ /**
+ * the domain is controlled by the daemon
+ */
DS_CONTROLLED = 1,
+ /**
+ * the domain is independent starting up
+ */
DS_INDEPENDENT_STARTUP = 1,
+ /**
+ * the domain is independent running down
+ */
DS_INDEPENDENT_RUNDOWN = 2,
DS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_DomainState_eComparator;
-
+ /**
+ * the errors of the audiomanager. All possible errors are in here. This enum is
+ * used widely as return parameter.
+ */
enum class am_Error_e: int32_t {
+ /**
+ * no error - positive reply
+ */
E_OK = 0,
+ /**
+ * default
+ */
E_UNKNOWN = 1,
+ /**
+ * value out of range
+ */
E_OUT_OF_RANGE = 2,
+ /**
+ * not used
+ */
E_NOT_USED = 3,
+ /**
+ * a database error occurred
+ */
E_DATABASE_ERROR = 4,
+ /**
+ * the desired object already exists
+ */
E_ALREADY_EXISTS = 5,
+ /**
+ * there is no change
+ */
E_NO_CHANGE = 6,
+ /**
+ * the desired action is not possible
+ */
E_NOT_POSSIBLE = 7,
+ /**
+ * the desired object is non existent
+ */
E_NON_EXISTENT = 8,
+ /**
+ * the asynchronous action was aborted
+ */
E_ABORTED = 9,
+ /**
+ * This error is returned in case a connect is issued with a connectionFormat that
+ * cannot be selected for the connection. This could be either due to the
+ * capabilities of a source or a sink or gateway compatibilities for example
+ */
E_WRONG_FORMAT = 10,
E_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_Error_eComparator;
-
enum class am_InterruptState_e: int32_t {
+ /**
+ * default
+ */
IS_UNKNOWN = 0,
+ /**
+ * the interrupt state is off - no interrupt
+ */
IS_OFF = 1,
+ /**
+ * the interrupt state is interrupted - the interrupt is active
+ */
IS_INTERRUPTED = 2,
IS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_InterruptState_eComparator;
-
+ /**
+ * This enumeration is used to define the type of the action that is correlated to
+ * a handle.
+ */
enum class am_Handle_e: int32_t {
H_UNKNOWN = 0,
H_CONNECT = 1,
@@ -550,33 +1057,61 @@ namespace am {
H_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_Handle_eComparator;
-
+ /**
+ * The source state reflects the state of the source
+ */
enum class am_SourceState_e: int32_t {
SS_UNKNNOWN = 0,
+ /**
+ * The source can be activly heared
+ */
SS_ON = 1,
+ /**
+ * The source cannot be heared
+ */
SS_OFF = 2,
+ /**
+ * The source is paused. Meaning it cannot be heared but should be prepared to
+ * play again soon.
+ */
SS_PAUSED = 3,
SS_MAX
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_SourceState_eComparator;
-
+ /**
+ * This enum describes the ready state of the routing part
+ */
enum class am_RoutingReady_e: int32_t {
RR_UNKNOWN = 0,
RR_READY = 1,
RR_RUNDOWN = 2
};
- // XXX Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
+ // Definition of a comparator still is necessary for GCC 4.4.1, topic is fixed since 4.5.1
struct am_RoutingReady_eComparator;
-
+ /**
+ * a list of routing elements that lead from source to sink
+ */
+ /**
+ * a list of routing elements that lead from source to sink
+ */
struct am_Route_s: CommonAPI::SerializableStruct {
- am_sourceID_t sourceID;
- am_sinkID_t sinkID;
- am_RoutingElement_L route;
+ /**
+ * the sourceID where the route starts
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the sinkID where the route ends
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the actual route as list of routing elements
+ */
+ am_RoutingElement_L route;
am_Route_s() = default;
am_Route_s(const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_RoutingElement_L& route);
@@ -595,14 +1130,51 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * This struct describes the attribiutes of a crossfader.
+ */
+ /**
+ * This struct describes the attribiutes of a crossfader.
+ */
struct am_Crossfader_s: CommonAPI::SerializableStruct {
- am_crossfaderID_t crossfaderID;
- std::string name;
- am_sinkID_t sinkID_A;
- am_sinkID_t sinkID_B;
- am_sourceID_t sourceID;
- am_HotSink_e hotSink;
+ /**
+ * This is the ID of the crossfader, it is unique in the system. There are 2 ways,
+ * ID can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManager daemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_crossfaderID_t crossfaderID;
+ /**
+ * The name of the crossfader. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * The sinkID of the SinkA. Sinks shall be registered before registering the
+ * crossfader.
+ */
+ am_sinkID_t sinkID_A;
+ /**
+ * The sinkID of the SinkB. Sinks shall be registered before registering the
+ * crossfader.
+ */
+ am_sinkID_t sinkID_B;
+ /**
+ * The sourceID of the crossfader source. The source shall be registered before
+ * the crossfader.
+ */
+ am_sourceID_t sourceID;
+ /**
+ * This enum can have 3 states:
+
+ HS_SINKA sinkA is the current hot one,
+ * sinkB is not audible
+ HS_SINKB sinkB is the current hot one, sinkB is not
+ * audible
+ HS_INTERMEDIATE the fader is stuck in between a cross-fading
+ * action. This could be due to an abort or an error. Before using the
+ * crossfader, it must be set to either HS_SINKA or HS_SINKB.
+ */
+ am_HotSink_e hotSink;
am_Crossfader_s() = default;
am_Crossfader_s(const am_crossfaderID_t& crossfaderID, const std::string& name, const am_sinkID_t& sinkID_A, const am_sinkID_t& sinkID_B, const am_sourceID_t& sourceID, const am_HotSink_e& hotSink);
@@ -620,18 +1192,86 @@ namespace am {
typeOutputStream.writeInt32Type();
}
};
-
+ /**
+ * This struct describes the attributes of a gateway.
+ */
+ /**
+ * This struct describes the attributes of a gateway.
+ */
struct am_Gateway_s: CommonAPI::SerializableStruct {
- am_gatewayID_t gatewayID;
- std::string name;
- am_sinkID_t sinkID;
- am_sourceID_t sourceID;
- am_domainID_t domainSinkID;
- am_domainID_t domainSourceID;
- am_domainID_t controlDomainID;
- am_ConnectionFormat_L listSourceFormats;
- am_ConnectionFormat_L listSinkFormats;
- am_Convertion_L convertionMatrix;
+ /**
+ * This is the ID of the gateway, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_gatewayID_t gatewayID;
+ /**
+ * The name of the gateway. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * The sinkID of the gateway sink-end. The sink is a full blown sink with
+ * connectionFormats, sinkClassIDs etc... It makes sense to register the sinks of
+ * a gateway as non-visible. Care needs to be taken that the connectionsFormats
+ * match with the ones in the conversionMatrix. If the sink is located in the
+ * controllingDomain, the ID needs to be retrieved by registering the sink before
+ * registering the gateway. In case the sink is in a different domain, the ID
+ * needs to be retrieved via peeking.
+ */
+ am_sinkID_t sinkID;
+ /**
+ * The sourceID of the gateway sink-end. The sink is a full blown source with
+ * connectionFormats, sinkClassIDs etc... It makes sense to register the sources
+ * of a gateway as non-visible. Care needs to be taken that the
+ * connectionsFormats match with the ones in the conversionMatrix. If the source
+ * is located in the controllingDomain, the ID needs to be retrieved by
+ * registering the source before registering the gateway. In case the source is
+ * in a different domain, the ID needs to be retrieved via peeking.
+ */
+ am_sourceID_t sourceID;
+ /**
+ * The ID of the sink. If the domain is the same like the controlling domain, the
+ * ID is known due to registration. If the domain is different, the ID needs to
+ * be retrieved via peeking.
+ */
+ am_domainID_t domainSinkID;
+ /**
+ * The ID of the source. If the domain is the same like the controlling domain,
+ * the ID is known due to registration. If the domain is different, the ID needs
+ * to be retrieved via peeking.
+ */
+ am_domainID_t domainSourceID;
+ /**
+ * This is the ID of the domain that registers the gateway.
+ */
+ am_domainID_t controlDomainID;
+ /**
+ * This is the list of available formats on the source side of the gateway. It is
+ * not defined during the gateway registration but copied from the source
+ * registration.
+ */
+ am_ConnectionFormat_L listSourceFormats;
+ /**
+ * This is the list of available formats on the sink side of the gateway. It is
+ * not defined during the gateway registration but copied from the sink
+ * registration.
+ */
+ am_ConnectionFormat_L listSinkFormats;
+ /**
+ * This is matrix holding information about the conversion capability of the
+ * gateway, it's length is defined by the length(listSinkFormats) x
+ * length(listSourceFormats).
+ If a SinkFormat can be converted into a
+ * SourceFormat, the vector will hold a 1, if no conversion is possible, a
+ * 0.
+ The data is stored row orientated, where the rows are related to the
+ * sinksFormats and the columns to the sourceFormats. The first value will hold
+ * the conversion information from the first sourceFormat to the first sinkFormat
+ * for example and the seventh value the information about the 3rd sinkFormat to
+ * the 1st sourceFormat in case we would have 3 sourceFormats.
+ */
+ am_Convertion_L convertionMatrix;
am_Gateway_s() = default;
am_Gateway_s(const am_gatewayID_t& gatewayID, const std::string& name, const am_sinkID_t& sinkID, const am_sourceID_t& sourceID, const am_domainID_t& domainSinkID, const am_domainID_t& domainSourceID, const am_domainID_t& controlDomainID, const am_ConnectionFormat_L& listSourceFormats, const am_ConnectionFormat_L& listSinkFormats, const am_Convertion_L& convertionMatrix);
@@ -659,10 +1299,23 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * a handle is used for asynchronous operations and is uniquely assigned for each
+ * of this operations
+ */
+ /**
+ * a handle is used for asynchronous operations and is uniquely assigned for each
+ * of this operations
+ */
struct am_Handle_s: CommonAPI::SerializableStruct {
- am_Handle_e handleType;
- uint16_t handle;
+ /**
+ * the handletype
+ */
+ am_Handle_e handleType;
+ /**
+ * the handle as value
+ */
+ uint16_t handle;
am_Handle_s() = default;
am_Handle_s(const am_Handle_e& handleType, const uint16_t& handle);
@@ -676,14 +1329,37 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
+ /**
+ * struct that holds attribiutes of a mainconnection
+ */
+ /**
+ * struct that holds attribiutes of a mainconnection
+ */
struct am_MainConnection_s: CommonAPI::SerializableStruct {
- am_mainConnectionID_t mainConnectionID;
- am_ConnectionState_e connectionState;
- am_sinkID_t sinkID;
- am_sourceID_t sourceID;
- am_timeSync_t delay;
- am_ConnectionID_L listConnectionID;
+ /**
+ * the assigned ID
+ */
+ am_mainConnectionID_t mainConnectionID;
+ /**
+ * the current connection state
+ */
+ am_ConnectionState_e connectionState;
+ /**
+ * the sinkID
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the sourceID
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the delay of the connection
+ */
+ am_timeSync_t delay;
+ /**
+ * the list of sub connection IDs the mainconnection consists of
+ */
+ am_ConnectionID_L listConnectionID;
am_MainConnection_s() = default;
am_MainConnection_s(const am_mainConnectionID_t& mainConnectionID, const am_ConnectionState_e& connectionState, const am_sinkID_t& sinkID, const am_sourceID_t& sourceID, const am_timeSync_t& delay, const am_ConnectionID_L& listConnectionID);
@@ -703,10 +1379,22 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * This struct holds the payload of a notification.
+ */
+ /**
+ * This struct holds the payload of a notification.
+ */
struct am_NotificationPayload_s: CommonAPI::SerializableStruct {
- am_NotificationType_pe type;
- int16_t value;
+ /**
+ * This defines the notification type
+ */
+ am_NotificationType_pe type;
+ /**
+ * This is finally the value of the notification. It's meaning depends on the
+ * notificationType
+ */
+ int16_t value;
am_NotificationPayload_s() = default;
am_NotificationPayload_s(const am_NotificationType_pe& type, const int16_t& value);
@@ -720,22 +1408,99 @@ namespace am {
typeOutputStream.writeInt16Type();
}
};
-
+ /**
+ * This struct describes the attribiutes of a sink
+ */
+ /**
+ * This struct describes the attribiutes of a sink
+ */
struct am_Sink_s: CommonAPI::SerializableStruct {
- am_sinkID_t sinkID;
- std::string name;
- am_domainID_t domainID;
- am_sinkClass_t sinkClassID;
- am_volume_t volume;
- bool visible;
- am_Availability_s available;
- am_MuteState_e muteState;
- am_mainVolume_t mainVolume;
- am_SoundProperty_L listSoundProperties;
- am_ConnectionFormat_L listConnectionFormats;
- am_MainSoundProperty_L listMainSoundProperties;
- am_NotificationConfiguration_L listMainNotificationConfigurations;
- am_NotificationConfiguration_L listNotificationConfigurations;
+ /**
+ * This is the ID of the sink, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_sinkID_t sinkID;
+ /**
+ * The name of the sink. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * The domainID is the domain the sink belongs to. A sink can only be in one
+ * domain.
+ */
+ am_domainID_t domainID;
+ /**
+ * The sinkClassID references to a sinkClass. With the help of classification,
+ * rules can be setup to define the system behaviour.
+ */
+ am_sinkClass_t sinkClassID;
+ /**
+ * This is the volume of the sink. It is set by the AudioManagerController.
+ */
+ am_volume_t volume;
+ /**
+ * This Boolean flag indicates whether a sink is visible to the commandInterface
+ * or not. If the User must have the possibility to choose the source in the HMI,
+ * it must be visible. But there are also good reasons for invisible sinks, for
+ * example if the sink is part of a crossfader or gateway. HMI relevant changes
+ * in visible sinks will be automatically reported by the daemon to the
+ * commandInterface.
+ */
+ bool visible;
+ /**
+ * This attribute reflects the availability of the sink. There are several reasons
+ * why a sink could be not available for the moment: for example the shutdown of
+ * a sink because of overtemperature or over- &amp; undervoltage. The
+ * availability consists of two pieces of information:
+
+ Availablility: the
+ * status itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
+
+ * AvailabilityReason: this informs about the last reason for a change in
+ * availability. The reasons itself are product specific.
+ */
+ am_Availability_s available;
+ /**
+ * This attribute reflects the muteState of the sink. The information is not the
+ * "real" state of the sink, but the HMI representation for he commandInterface
+ * controlled by the AudioManagerController.
+ */
+ am_MuteState_e muteState;
+ /**
+ * This is the representation of the Volume for the commandInterface. It is used
+ * by the HMI to set the volume of a sink, the AudioManagerController has to
+ * transform this into real source and sink volumes.
+ */
+ am_mainVolume_t mainVolume;
+ /**
+ * This is the list of soundProperties, that the sink is capable of. The
+ * soundProperties itself are project specific. For sinks, a possible
+ * soundProperty could be for example settings.
+ */
+ am_SoundProperty_L listSoundProperties;
+ /**
+ * This list holds information about the formats that the Source is capable of
+ * supporting when delivering audio.
+ */
+ am_ConnectionFormat_L listConnectionFormats;
+ /**
+ * This is the list of the available mainSoundProperties. The principle is the
+ * same than with soundProperties, but they are only visible to the
+ * CommandInterface.
+ */
+ am_MainSoundProperty_L listMainSoundProperties;
+ /**
+ * This is the list of the MainNotificationConfigurations. These notifications
+ * work on the level of command interface.
+ */
+ am_NotificationConfiguration_L listMainNotificationConfigurations;
+ /**
+ * This is the list of the NotificationConfigurations. These notifications work on
+ * the level of RoutingPlugins.
+ */
+ am_NotificationConfiguration_L listNotificationConfigurations;
am_Sink_s() = default;
am_Sink_s(const am_sinkID_t& sinkID, const std::string& name, const am_domainID_t& domainID, const am_sinkClass_t& sinkClassID, const am_volume_t& volume, const bool& visible, const am_Availability_s& available, const am_MuteState_e& muteState, const am_mainVolume_t& mainVolume, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, const am_NotificationConfiguration_L& listMainNotificationConfigurations, const am_NotificationConfiguration_L& listNotificationConfigurations);
@@ -781,22 +1546,118 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * This struct describes the attribiutes of a source
+ */
+ /**
+ * This struct describes the attribiutes of a source
+ */
struct am_Source_s: CommonAPI::SerializableStruct {
- am_sourceID_t sourceID;
- am_domainID_t domainID;
- std::string name;
- am_sourceClass_t sourceClassID;
- am_SourceState_e sourceState;
- am_volume_t volume;
- bool visible;
- am_Availability_s available;
- am_InterruptState_e interruptState;
- am_SoundProperty_L listSoundProperties;
- am_ConnectionFormat_L listConnectionFormats;
- am_MainSoundProperty_L listMainSoundProperties;
- am_NotificationConfiguration_L listMainNotificationConfigurations;
- am_NotificationConfiguration_L listNotificationConfigurations;
+ /**
+ * This is the ID of the source, it is unique in the system. There are 2 ways, ID
+ * can be created: either it is assigned during the registration process (in a
+ * dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it
+ * is a fixed (the project has to ensure the uniqueness of the ID).
+ */
+ am_sourceID_t sourceID;
+ /**
+ * The domainID is the domain the source belongs to. A source can only be in one
+ * domain.
+ */
+ am_domainID_t domainID;
+ /**
+ * The name of the source. Must be unique in the whole system.
+ */
+ std::string name;
+ /**
+ * the sourceClassID, indicates the class the source is in. This information can
+ * be used by the Controller to implement different behaviour for different
+ * classes.
+ */
+ am_sourceClass_t sourceClassID;
+ /**
+ * The source state is an indication towards the source if it is actively heard or
+ * not. The source can use this information to implement features like automatic
+ * spin down of CD's in case the CD is not the active source or AF following of a
+ * tuner that is not actively heard. The source state is set by the
+ * AudioManagerController.There are 3 possible states:
+
+ SS_ON: the source
+ * is active
+ SS_OFF: the source is off
+ SS_PAUSED: the source is paused
+ * and not active.
+ */
+ am_SourceState_e sourceState;
+ /**
+ * This is the volume of the source. It is set by the AudioManagerController. It
+ * is used to adopt different audiolevels in a system and mixing of sources (e.g.
+ * navigation hints &amp; music).
+ */
+ am_volume_t volume;
+ /**
+ * This Boolean flag indicates whether a source is visible to the commandInterface
+ * or not. If the User must have the possibility to choose the source in the HMI,
+ * it must be visible. But there are also good reasons for invisible sources, for
+ * example if the source is part of a crossfader or gateway. HMI relevant changes
+ * in visible sources will be automatically reported by the daemon to the
+ * commandInterface.
+ */
+ bool visible;
+ /**
+ * This attribute reflects the availability of the source. There are several
+ * reasons why a source could be not available for the moment. For example a CD
+ * player which has no CD entered in the slot can be unavailable, or a USB player
+ * with no or unreadable stick attached. Other scenarios involve the shutdown of
+ * a source because of overtemperature or over- &amp; undervoltage. The
+ * availability consists of two informations:
+
+ Availablility: the status
+ * itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
+
+ * AvailabilityReason: this informs about the last reason for a change in
+ * availability. The reasons itself are product specific.
+ */
+ am_Availability_s available;
+ /**
+ * Some special sources can have special behaviors, the are so called "Low Level
+ * Interrupts". Here the current status is documented. The information can be
+ * used by the AudioManagerController to react to the changes by for example
+ * lowering the volume of the mainSources. The two states are
+
+ IS_OFF: the
+ * interrupt is not active at the moment
+ IS_INTERRUPTED: the interrupt is
+ * playing at the moment.
+ */
+ am_InterruptState_e interruptState;
+ /**
+ * This is the list of soundProperties, that the source is capable of. The
+ * soundProperties itself are project specific. For sources, a possible
+ * soundProperty could be navigation volume offset, for example.
+ */
+ am_SoundProperty_L listSoundProperties;
+ /**
+ * This list holds information about the formats that the Source is capable of
+ * supporting when delivering audio.
+ */
+ am_ConnectionFormat_L listConnectionFormats;
+ /**
+ * This is the list of the available mainSoundProperties. The principle is the
+ * same than with soundProperties, but they are only visible to the
+ * CommandInterface.
+ */
+ am_MainSoundProperty_L listMainSoundProperties;
+ /**
+ * The list of MainNotificationConfigurations. These notifications work on the
+ * level of CommandInterface.
+ */
+ am_NotificationConfiguration_L listMainNotificationConfigurations;
+ /**
+ * The list of MainNotificationConfigurations. These notifications work on the
+ * level of RoutingInterface.
+ */
+ am_NotificationConfiguration_L listNotificationConfigurations;
am_Source_s() = default;
am_Source_s(const am_sourceID_t& sourceID, const am_domainID_t& domainID, const std::string& name, const am_sourceClass_t& sourceClassID, const am_SourceState_e& sourceState, const am_volume_t& volume, const bool& visible, const am_Availability_s& available, const am_InterruptState_e& interruptState, const am_SoundProperty_L& listSoundProperties, const am_ConnectionFormat_L& listConnectionFormats, const am_MainSoundProperty_L& listMainSoundProperties, const am_NotificationConfiguration_L& listMainNotificationConfigurations, const am_NotificationConfiguration_L& listNotificationConfigurations);
@@ -842,15 +1703,42 @@ namespace am {
typeOutputStream.endWriteVectorType();
}
};
-
+ /**
+ * This struct describes the attribiutes of a domain
+ */
+ /**
+ * This struct describes the attribiutes of a domain
+ */
struct am_Domain_s: CommonAPI::SerializableStruct {
- am_domainID_t domainID;
- std::string name;
- std::string busname;
- std::string nodename;
- bool early;
- bool complete;
- am_DomainState_e state;
+ /**
+ * the domain ID
+ */
+ am_domainID_t domainID;
+ /**
+ * the name of the domain
+ */
+ std::string name;
+ /**
+ * the busname. This is equal to a plugin name and is used to dispatch messages to
+ * the elements of a plugin
+ */
+ std::string busname;
+ /**
+ * the name of the node
+ */
+ std::string nodename;
+ /**
+ * indicated if the domain is independent at startup or not
+ */
+ bool early;
+ /**
+ * indicates if the domain registration is complete or not
+ */
+ bool complete;
+ /**
+ * the current domain state
+ */
+ am_DomainState_e state;
am_Domain_s() = default;
am_Domain_s(const am_domainID_t& domainID, const std::string& name, const std::string& busname, const std::string& nodename, const bool& early, const bool& complete, const am_DomainState_e& state);
@@ -869,13 +1757,33 @@ namespace am {
typeOutputStream.writeInt32Type();
}
};
-
+ /**
+ * a connection
+ */
+ /**
+ * a connection
+ */
struct am_Connection_s: CommonAPI::SerializableStruct {
- am_connectionID_t connectionID;
- am_sourceID_t sourceID;
- am_sinkID_t sinkID;
- am_timeSync_t delay;
- am_ConnectionFormat_pe connectionFormat;
+ /**
+ * the assigned ID
+ */
+ am_connectionID_t connectionID;
+ /**
+ * the source the audio flows from
+ */
+ am_sourceID_t sourceID;
+ /**
+ * the sink the audio flows to
+ */
+ am_sinkID_t sinkID;
+ /**
+ * the delay of the conneciton
+ */
+ am_timeSync_t delay;
+ /**
+ * the used connectionformat
+ */
+ am_ConnectionFormat_pe connectionFormat;
am_Connection_s() = default;
am_Connection_s(const am_connectionID_t& connectionID, const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_timeSync_t& delay, const am_ConnectionFormat_pe& connectionFormat);
@@ -892,7 +1800,6 @@ namespace am {
typeOutputStream.writeUInt16Type();
}
};
-
inline CommonAPI::InputStream& operator>>(CommonAPI::InputStream& inputStream, am_Availability_e& enumValue) {
return inputStream.readEnumValue<int32_t>(enumValue);
@@ -1175,7 +2082,8 @@ inline bool operator!=(const am_Volumes_s& lhs, const am_Volumes_s& rhs) {
static inline const char* getTypeCollectionName() {
- return "org.genivi.am";
+ static const char* typeCollectionName = "org.genivi.am";
+ return typeCollectionName;
}
inline CommonAPI::Version getTypeCollectionVersion() {
@@ -1188,268 +2096,268 @@ inline CommonAPI::Version getTypeCollectionVersion() {
} // namespace org
namespace CommonAPI {
-
- template<>
- struct BasicTypeWriter<org::genivi::am::am_Availability_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_Availability_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Availability_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_Availability_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Availability_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_HotSink_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_HotSink_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_HotSink_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_HotSink_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_HotSink_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_ConnectionState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_ConnectionState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_ConnectionState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_ConnectionState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_ConnectionState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_DomainState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_DomainState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_DomainState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_DomainState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_DomainState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_EarlyDataType_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_EarlyDataType_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_EarlyDataType_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_EarlyDataType_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_EarlyDataType_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_Error_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_Error_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Error_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_Error_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Error_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_MuteState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_MuteState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_MuteState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_MuteState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_MuteState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_InterruptState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_InterruptState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_InterruptState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_InterruptState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_InterruptState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_VolumeType_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_VolumeType_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_VolumeType_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_VolumeType_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_VolumeType_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_NotificationStatus_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_NotificationStatus_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_NotificationStatus_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_NotificationStatus_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_NotificationStatus_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_Handle_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_Handle_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Handle_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_Handle_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Handle_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_SourceState_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_SourceState_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_SourceState_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_SourceState_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_SourceState_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
- template<>
- struct BasicTypeWriter<org::genivi::am::am_RoutingReady_e> {
- inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
- typeStream.writeInt32EnumType();
- }
- };
-
- template<>
- struct InputStreamVectorHelper<org::genivi::am::am_RoutingReady_e> {
- static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_RoutingReady_e>& vectorValue) {
- inputStream.beginReadInt32EnumVector();
- }
- };
-
- template <>
- struct OutputStreamVectorHelper<org::genivi::am::am_RoutingReady_e> {
- static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_RoutingReady_e>& vectorValue) {
- outputStream.beginWriteInt32EnumVector(vectorValue.size());
- }
- };
-
+
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_Availability_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_Availability_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Availability_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_Availability_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Availability_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_HotSink_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_HotSink_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_HotSink_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_HotSink_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_HotSink_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_ConnectionState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_ConnectionState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_ConnectionState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_ConnectionState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_ConnectionState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_DomainState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_DomainState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_DomainState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_DomainState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_DomainState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_EarlyDataType_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_EarlyDataType_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_EarlyDataType_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_EarlyDataType_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_EarlyDataType_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_Error_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_Error_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Error_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_Error_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Error_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_MuteState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_MuteState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_MuteState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_MuteState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_MuteState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_InterruptState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_InterruptState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_InterruptState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_InterruptState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_InterruptState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_VolumeType_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_VolumeType_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_VolumeType_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_VolumeType_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_VolumeType_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_NotificationStatus_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_NotificationStatus_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_NotificationStatus_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_NotificationStatus_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_NotificationStatus_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_Handle_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_Handle_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_Handle_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_Handle_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_Handle_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_SourceState_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_SourceState_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_SourceState_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_SourceState_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_SourceState_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+ template<>
+ struct BasicTypeWriter<org::genivi::am::am_RoutingReady_e> {
+ inline static void writeType (CommonAPI::TypeOutputStream& typeStream) {
+ typeStream.writeInt32EnumType();
+ }
+ };
+
+ template<>
+ struct InputStreamVectorHelper<org::genivi::am::am_RoutingReady_e> {
+ static void beginReadVector(InputStream& inputStream, const std::vector<org::genivi::am::am_RoutingReady_e>& vectorValue) {
+ inputStream.beginReadInt32EnumVector();
+ }
+ };
+
+ template <>
+ struct OutputStreamVectorHelper<org::genivi::am::am_RoutingReady_e> {
+ static void beginWriteVector(OutputStream& outputStream, const std::vector<org::genivi::am::am_RoutingReady_e>& vectorValue) {
+ outputStream.beginWriteInt32EnumVector(vectorValue.size());
+ }
+ };
+
}
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControl.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControl.h
index 04818d5..76c05a7 100644
--- a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControl.h
+++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControl.h
@@ -1,34 +1,35 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * This class implements everything from Audiomanager -&gt; RoutingAdapter
+ * @author Christian Mueller
+ */
#ifndef ORG_GENIVI_AM_Routing_Control_H_
#define ORG_GENIVI_AM_Routing_Control_H_
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/types.h>
@@ -47,7 +48,8 @@ class RoutingControl {
};
const char* RoutingControl::getInterfaceId() {
- return "org.genivi.am.RoutingControl";
+ static const char* interfaceId = "org.genivi.am.RoutingControl";
+ return interfaceId;
}
CommonAPI::Version RoutingControl::getInterfaceVersion() {
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.cpp
index dfb0e8c..7183537 100644
--- a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.cpp
+++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.cpp
@@ -1,28 +1,27 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * This class implements everything from Audiomanager -&gt; RoutingAdapter
+ * @author Christian Mueller
+ */
#include "RoutingControlDBusProxy.h"
namespace org {
@@ -30,12 +29,13 @@ namespace genivi {
namespace am {
std::shared_ptr<CommonAPI::DBus::DBusProxy> createRoutingControlDBusProxy(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& interfaceName,
const std::string& busName,
const std::string& objectPath,
const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyConnection) {
- return std::make_shared<RoutingControlDBusProxy>(commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
+ return std::make_shared<RoutingControlDBusProxy>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
}
__attribute__((constructor)) void registerRoutingControlDBusProxy(void) {
@@ -44,17 +44,23 @@ __attribute__((constructor)) void registerRoutingControlDBusProxy(void) {
}
RoutingControlDBusProxy::RoutingControlDBusProxy(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& interfaceName,
const std::string& busName,
const std::string& objectPath,
const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyconnection):
- CommonAPI::DBus::DBusProxy(commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection)
- {
-}
+ CommonAPI::DBus::DBusProxy(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection)
+ {
+ }
+/**
+ * aborts an asynchronous action.
+(at)return E_OK on success, E_UNKNOWN on error,
+ * E_NON_EXISTENT if handle was not found
+ */
void RoutingControlDBusProxy::asyncAbort(const am_Handle_s& handle, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -74,6 +80,11 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncAbortAsync(cons
handle,
std::move(callback));
}
+/**
+ * connects a source to a sink
+(at)return E_OK on success, E_UNKNOWN on error,
+ * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match
+ */
void RoutingControlDBusProxy::asyncConnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_ConnectionFormat_pe& connectionFormat, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t, am_sourceID_t, am_sinkID_t, am_ConnectionFormat_pe>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -93,6 +104,11 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncConnectAsync(co
handle, connectionID, sourceID, sinkID, connectionFormat,
std::move(callback));
}
+/**
+ * disconnect a connection with given connectionID
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found
+ */
void RoutingControlDBusProxy::asyncDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -112,6 +128,13 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncDisconnectAsync
handle, connectionID,
std::move(callback));
}
+/**
+ * this method is used to set the volume of a sink. This function is used to drive
+ * ramps, to mute or unmute or directly set the value. The difference is made
+ * through the ramptype.
+(at)return E_OK on success, E_UNKNOWN on error,
+ * E_OUT_OF_RANGE if new volume is out of range
+ */
void RoutingControlDBusProxy::asyncSetSinkVolume(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, const am_RampType_pe& ramp, const am_time_t& time, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_volume_t, am_RampType_pe, am_time_t>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -131,6 +154,15 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSinkVolumeAs
handle, sinkID, volume, ramp, time,
std::move(callback));
}
+/**
+ * sets the volume of a source. This method is used to set the volume of a sink.
+ * This function is used to drive ramps, to mute or unmute or directly set the
+ * value. The difference is made through the ramptype.
+(at)return E_OK on
+ * success, E_UNKNOWN on error, E_OUT_OF_RANGE if volume is out of
+ * range.
+triggers the acknowledge ackSourceVolumeChange
+ */
void RoutingControlDBusProxy::asyncSetSourceVolume(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, const am_RampType_pe& ramp, const am_time_t& time, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_volume_t, am_RampType_pe, am_time_t>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -150,6 +182,11 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSourceVolume
handle, sourceID, volume, ramp, time,
std::move(callback));
}
+/**
+ * This function is used to set the source state of a particular
+ * source.
+(at)return E_OK on success, E_UNKNOWN on error
+ */
void RoutingControlDBusProxy::asyncSetSourceState(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_SourceState_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -169,6 +206,11 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSourceStateA
handle, sourceID, state,
std::move(callback));
}
+/**
+ * this function sets the sinksoundproperty.
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
void RoutingControlDBusProxy::asyncSetSinkSoundProperties(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_SoundProperty_L>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -188,6 +230,11 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSinkSoundPro
handle, sinkID, listSoundProperties,
std::move(callback));
}
+/**
+ * this function sets the sinksoundproperty.
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
void RoutingControlDBusProxy::asyncSetSinkSoundProperty(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_SoundProperty_s>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -207,6 +254,11 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSinkSoundPro
handle, sinkID, soundProperty,
std::move(callback));
}
+/**
+ * this function sets the sourcesoundproperty.
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
void RoutingControlDBusProxy::asyncSetSourceSoundProperties(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_SoundProperty_L>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -226,6 +278,11 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSourceSoundP
handle, sourceID, listSoundProperties,
std::move(callback));
}
+/**
+ * this function sets the sourcesoundproperty.
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
void RoutingControlDBusProxy::asyncSetSourceSoundProperty(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_SoundProperty_s>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -245,6 +302,11 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSourceSoundP
handle, sourceID, soundProperty,
std::move(callback));
}
+/**
+ * this function triggers crossfading.
+(at)return E_OK on success, E_UNKNOWN on
+ * error
+ */
void RoutingControlDBusProxy::asyncCrossFade(const am_Handle_s& handle, const am_crossfaderID_t& crossfaderID, const am_HotSink_e& hotSink, const am_RampType_pe& rampType, const am_time_t& time, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_crossfaderID_t, am_HotSink_e, am_RampType_pe, am_time_t>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -264,6 +326,11 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncCrossFadeAsync(
handle, crossfaderID, hotSink, rampType, time,
std::move(callback));
}
+/**
+ * this function is used for early and late audio functions to set the domain
+ * state
+(at)return E_OK on success, E_UNKNOWN on error
+ */
void RoutingControlDBusProxy::setDomainState(const am_domainID_t& domainID, const am_DomainState_e& domainState, CommonAPI::CallStatus& callStatus, am_Error_e& error) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_DomainState_e>,
CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply(
@@ -341,6 +408,8 @@ std::future<CommonAPI::CallStatus> RoutingControlDBusProxy::asyncSetSourceNotifi
std::move(callback));
}
+
+
void RoutingControlDBusProxy::getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const {
ownVersionMajor = 0;
ownVersionMinor = 1;
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.h
index 96e8f2d..4e08ecd 100644
--- a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.h
+++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusProxy.h
@@ -1,34 +1,35 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * This class implements everything from Audiomanager -&gt; RoutingAdapter
+ * @author Christian Mueller
+ */
#ifndef ORG_GENIVI_AM_Routing_Control_DBUS_PROXY_H_
#define ORG_GENIVI_AM_Routing_Control_DBUS_PROXY_H_
#include <org/genivi/am/RoutingControlProxyBase.h>
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/DBus/DBusFactory.h>
#include <CommonAPI/DBus/DBusProxy.h>
@@ -44,6 +45,7 @@ namespace am {
class RoutingControlDBusProxy: virtual public RoutingControlProxyBase, virtual public CommonAPI::DBus::DBusProxy {
public:
RoutingControlDBusProxy(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& interfaceName,
const std::string& busName,
@@ -54,58 +56,113 @@ class RoutingControlDBusProxy: virtual public RoutingControlProxyBase, virtual p
-
+ /**
+ * aborts an asynchronous action.
+ (at)return E_OK on success, E_UNKNOWN on error,
+ * E_NON_EXISTENT if handle was not found
+ */
virtual void asyncAbort(const am_Handle_s& handle, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncAbortAsync(const am_Handle_s& handle, AsyncAbortAsyncCallback callback);
-
+ /**
+ * connects a source to a sink
+ (at)return E_OK on success, E_UNKNOWN on error,
+ * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match
+ */
virtual void asyncConnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_ConnectionFormat_pe& connectionFormat, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncConnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_sourceID_t& sourceID, const am_sinkID_t& sinkID, const am_ConnectionFormat_pe& connectionFormat, AsyncConnectAsyncCallback callback);
-
+ /**
+ * disconnect a connection with given connectionID
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found
+ */
virtual void asyncDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncDisconnectAsync(const am_Handle_s& handle, const am_connectionID_t& connectionID, AsyncDisconnectAsyncCallback callback);
-
+ /**
+ * this method is used to set the volume of a sink. This function is used to drive
+ * ramps, to mute or unmute or directly set the value. The difference is made
+ * through the ramptype.
+ (at)return E_OK on success, E_UNKNOWN on error,
+ * E_OUT_OF_RANGE if new volume is out of range
+ */
virtual void asyncSetSinkVolume(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, const am_RampType_pe& ramp, const am_time_t& time, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetSinkVolumeAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, const am_RampType_pe& ramp, const am_time_t& time, AsyncSetSinkVolumeAsyncCallback callback);
-
+ /**
+ * sets the volume of a source. This method is used to set the volume of a sink.
+ * This function is used to drive ramps, to mute or unmute or directly set the
+ * value. The difference is made through the ramptype.
+ (at)return E_OK on
+ * success, E_UNKNOWN on error, E_OUT_OF_RANGE if volume is out of
+ * range.
+ triggers the acknowledge ackSourceVolumeChange
+ */
virtual void asyncSetSourceVolume(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, const am_RampType_pe& ramp, const am_time_t& time, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetSourceVolumeAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, const am_RampType_pe& ramp, const am_time_t& time, AsyncSetSourceVolumeAsyncCallback callback);
-
+ /**
+ * This function is used to set the source state of a particular
+ * source.
+ (at)return E_OK on success, E_UNKNOWN on error
+ */
virtual void asyncSetSourceState(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetSourceStateAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SourceState_e& state, AsyncSetSourceStateAsyncCallback callback);
-
+ /**
+ * this function sets the sinksoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
virtual void asyncSetSinkSoundProperties(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetSinkSoundPropertiesAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_L& listSoundProperties, AsyncSetSinkSoundPropertiesAsyncCallback callback);
-
+ /**
+ * this function sets the sinksoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
virtual void asyncSetSinkSoundProperty(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetSinkSoundPropertyAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_SoundProperty_s& soundProperty, AsyncSetSinkSoundPropertyAsyncCallback callback);
-
+ /**
+ * this function sets the sourcesoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
virtual void asyncSetSourceSoundProperties(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetSourceSoundPropertiesAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_L& listSoundProperties, AsyncSetSourceSoundPropertiesAsyncCallback callback);
-
+ /**
+ * this function sets the sourcesoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
virtual void asyncSetSourceSoundProperty(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetSourceSoundPropertyAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_SoundProperty_s& soundProperty, AsyncSetSourceSoundPropertyAsyncCallback callback);
-
+ /**
+ * this function triggers crossfading.
+ (at)return E_OK on success, E_UNKNOWN on
+ * error
+ */
virtual void asyncCrossFade(const am_Handle_s& handle, const am_crossfaderID_t& crossfaderID, const am_HotSink_e& hotSink, const am_RampType_pe& rampType, const am_time_t& time, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncCrossFadeAsync(const am_Handle_s& handle, const am_crossfaderID_t& crossfaderID, const am_HotSink_e& hotSink, const am_RampType_pe& rampType, const am_time_t& time, AsyncCrossFadeAsyncCallback callback);
-
+ /**
+ * this function is used for early and late audio functions to set the domain
+ * state
+ (at)return E_OK on success, E_UNKNOWN on error
+ */
virtual void setDomainState(const am_domainID_t& domainID, const am_DomainState_e& domainState, CommonAPI::CallStatus& callStatus, am_Error_e& error);
virtual std::future<CommonAPI::CallStatus> setDomainStateAsync(const am_domainID_t& domainID, const am_DomainState_e& domainState, SetDomainStateAsyncCallback callback);
-
virtual void asyncSetVolumes(const am_Handle_s& handle, const am_Volumes_L& volumes, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetVolumesAsync(const am_Handle_s& handle, const am_Volumes_L& volumes, AsyncSetVolumesAsyncCallback callback);
-
virtual void asyncSetSinkNotificationConfiguration(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetSinkNotificationConfigurationAsync(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSinkNotificationConfigurationAsyncCallback callback);
-
virtual void asyncSetSourceNotificationConfiguration(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, CommonAPI::CallStatus& callStatus);
virtual std::future<CommonAPI::CallStatus> asyncSetSourceNotificationConfigurationAsync(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_NotificationConfiguration_s& notificationConfiguration, AsyncSetSourceNotificationConfigurationAsyncCallback callback);
+
virtual void getOwnVersion(uint16_t& ownVersionMajor, uint16_t& ownVersionMinor) const;
private:
+
};
+
+
} // namespace am
} // namespace genivi
} // namespace org
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.cpp
index 9b66f5a..a87d5f8 100644
--- a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.cpp
+++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.cpp
@@ -1,26 +1,21 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
#include "RoutingControlDBusStubAdapter.h"
@@ -31,13 +26,14 @@ namespace genivi {
namespace am {
std::shared_ptr<CommonAPI::DBus::DBusStubAdapter> createRoutingControlDBusStubAdapter(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& interfaceName,
const std::string& busName,
const std::string& objectPath,
const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyConnection,
const std::shared_ptr<CommonAPI::StubBase>& stubBase) {
- return std::make_shared<RoutingControlDBusStubAdapter>(commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection, stubBase);
+ return std::make_shared<RoutingControlDBusStubAdapter>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection, stubBase);
}
__attribute__((constructor)) void registerRoutingControlDBusStubAdapter(void) {
@@ -46,20 +42,43 @@ __attribute__((constructor)) void registerRoutingControlDBusStubAdapter(void) {
}
RoutingControlDBusStubAdapter::RoutingControlDBusStubAdapter(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& dbusInterfaceName,
const std::string& dbusBusName,
const std::string& dbusObjectPath,
const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection,
const std::shared_ptr<CommonAPI::StubBase>& stub):
- RoutingControlDBusStubAdapterHelper(commonApiAddress, dbusInterfaceName, dbusBusName, dbusObjectPath, dbusConnection, std::dynamic_pointer_cast<RoutingControlStub>(stub)) {
+ RoutingControlDBusStubAdapterHelper(factory, commonApiAddress, dbusInterfaceName, dbusBusName, dbusObjectPath,
+ dbusConnection, std::dynamic_pointer_cast<RoutingControlStub>(stub),
+ NULL)
+ {
+}
+
+RoutingControlDBusStubAdapter::~RoutingControlDBusStubAdapter() {
+ deactivateManagedInstances();
+ deinit();
+ stub_.reset();
+}
+
+void RoutingControlDBusStubAdapter::deactivateManagedInstances() {
}
const char* RoutingControlDBusStubAdapter::getMethodsDBusIntrospectionXmlData() const {
- return
+ static const char* introspectionData =
+ /**
+ * aborts an asynchronous action.
+ (at)return E_OK on success, E_UNKNOWN on error,
+ * E_NON_EXISTENT if handle was not found
+ */
"<method name=\"asyncAbort\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * connects a source to a sink
+ (at)return E_OK on success, E_UNKNOWN on error,
+ * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match
+ */
"<method name=\"asyncConnect\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"connectionID\" type=\"q\" direction=\"in\" />\n"
@@ -67,10 +86,22 @@ const char* RoutingControlDBusStubAdapter::getMethodsDBusIntrospectionXmlData()
"<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"connectionFormat\" type=\"q\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * disconnect a connection with given connectionID
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found
+ */
"<method name=\"asyncDisconnect\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"connectionID\" type=\"q\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * this method is used to set the volume of a sink. This function is used to drive
+ * ramps, to mute or unmute or directly set the value. The difference is made
+ * through the ramptype.
+ (at)return E_OK on success, E_UNKNOWN on error,
+ * E_OUT_OF_RANGE if new volume is out of range
+ */
"<method name=\"asyncSetSinkVolume\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n"
@@ -78,6 +109,15 @@ const char* RoutingControlDBusStubAdapter::getMethodsDBusIntrospectionXmlData()
"<arg name=\"ramp\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"time\" type=\"n\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * sets the volume of a source. This method is used to set the volume of a sink.
+ * This function is used to drive ramps, to mute or unmute or directly set the
+ * value. The difference is made through the ramptype.
+ (at)return E_OK on
+ * success, E_UNKNOWN on error, E_OUT_OF_RANGE if volume is out of
+ * range.
+ triggers the acknowledge ackSourceVolumeChange
+ */
"<method name=\"asyncSetSourceVolume\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n"
@@ -85,31 +125,61 @@ const char* RoutingControlDBusStubAdapter::getMethodsDBusIntrospectionXmlData()
"<arg name=\"ramp\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"time\" type=\"n\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * This function is used to set the source state of a particular
+ * source.
+ (at)return E_OK on success, E_UNKNOWN on error
+ */
"<method name=\"asyncSetSourceState\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"state\" type=\"i\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * this function sets the sinksoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
"<method name=\"asyncSetSinkSoundProperties\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"listSoundProperties\" type=\"a(qn)\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * this function sets the sinksoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
"<method name=\"asyncSetSinkSoundProperty\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"sinkID\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"soundProperty\" type=\"(qn)\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * this function sets the sourcesoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
"<method name=\"asyncSetSourceSoundProperties\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"listSoundProperties\" type=\"a(qn)\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * this function sets the sourcesoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
"<method name=\"asyncSetSourceSoundProperty\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"sourceID\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"soundProperty\" type=\"(qn)\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * this function triggers crossfading.
+ (at)return E_OK on success, E_UNKNOWN on
+ * error
+ */
"<method name=\"asyncCrossFade\">\n"
"<arg name=\"handle\" type=\"(iq)\" direction=\"in\" />\n"
"<arg name=\"crossfaderID\" type=\"q\" direction=\"in\" />\n"
@@ -117,6 +187,11 @@ const char* RoutingControlDBusStubAdapter::getMethodsDBusIntrospectionXmlData()
"<arg name=\"rampType\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"time\" type=\"n\" direction=\"in\" />\n"
"</method>\n"
+ /**
+ * this function is used for early and late audio functions to set the domain
+ * state
+ (at)return E_OK on success, E_UNKNOWN on error
+ */
"<method name=\"setDomainState\">\n"
"<arg name=\"domainID\" type=\"q\" direction=\"in\" />\n"
"<arg name=\"domainState\" type=\"i\" direction=\"in\" />\n"
@@ -137,65 +212,132 @@ const char* RoutingControlDBusStubAdapter::getMethodsDBusIntrospectionXmlData()
"<arg name=\"notificationConfiguration\" type=\"(qin)\" direction=\"in\" />\n"
"</method>\n"
;
+ return introspectionData;
}
+/**
+ * aborts an asynchronous action.
+(at)return E_OK on success, E_UNKNOWN on error,
+ * E_NON_EXISTENT if handle was not found
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s>,
std::tuple<>
> asyncAbortStubDispatcher(&RoutingControlStub::asyncAbort, "");
+/**
+ * connects a source to a sink
+(at)return E_OK on success, E_UNKNOWN on error,
+ * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_connectionID_t, am_sourceID_t, am_sinkID_t, am_ConnectionFormat_pe>,
std::tuple<>
> asyncConnectStubDispatcher(&RoutingControlStub::asyncConnect, "");
+/**
+ * disconnect a connection with given connectionID
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_connectionID_t>,
std::tuple<>
> asyncDisconnectStubDispatcher(&RoutingControlStub::asyncDisconnect, "");
+/**
+ * this method is used to set the volume of a sink. This function is used to drive
+ * ramps, to mute or unmute or directly set the value. The difference is made
+ * through the ramptype.
+(at)return E_OK on success, E_UNKNOWN on error,
+ * E_OUT_OF_RANGE if new volume is out of range
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_sinkID_t, am_volume_t, am_RampType_pe, am_time_t>,
std::tuple<>
> asyncSetSinkVolumeStubDispatcher(&RoutingControlStub::asyncSetSinkVolume, "");
+/**
+ * sets the volume of a source. This method is used to set the volume of a sink.
+ * This function is used to drive ramps, to mute or unmute or directly set the
+ * value. The difference is made through the ramptype.
+(at)return E_OK on
+ * success, E_UNKNOWN on error, E_OUT_OF_RANGE if volume is out of
+ * range.
+triggers the acknowledge ackSourceVolumeChange
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_sourceID_t, am_volume_t, am_RampType_pe, am_time_t>,
std::tuple<>
> asyncSetSourceVolumeStubDispatcher(&RoutingControlStub::asyncSetSourceVolume, "");
+/**
+ * This function is used to set the source state of a particular
+ * source.
+(at)return E_OK on success, E_UNKNOWN on error
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_sourceID_t, am_SourceState_e>,
std::tuple<>
> asyncSetSourceStateStubDispatcher(&RoutingControlStub::asyncSetSourceState, "");
+/**
+ * this function sets the sinksoundproperty.
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_sinkID_t, am_SoundProperty_L>,
std::tuple<>
> asyncSetSinkSoundPropertiesStubDispatcher(&RoutingControlStub::asyncSetSinkSoundProperties, "");
+/**
+ * this function sets the sinksoundproperty.
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_sinkID_t, am_SoundProperty_s>,
std::tuple<>
> asyncSetSinkSoundPropertyStubDispatcher(&RoutingControlStub::asyncSetSinkSoundProperty, "");
+/**
+ * this function sets the sourcesoundproperty.
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_sourceID_t, am_SoundProperty_L>,
std::tuple<>
> asyncSetSourceSoundPropertiesStubDispatcher(&RoutingControlStub::asyncSetSourceSoundProperties, "");
+/**
+ * this function sets the sourcesoundproperty.
+(at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_sourceID_t, am_SoundProperty_s>,
std::tuple<>
> asyncSetSourceSoundPropertyStubDispatcher(&RoutingControlStub::asyncSetSourceSoundProperty, "");
+/**
+ * this function triggers crossfading.
+(at)return E_OK on success, E_UNKNOWN on
+ * error
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_Handle_s, am_crossfaderID_t, am_HotSink_e, am_RampType_pe, am_time_t>,
std::tuple<>
> asyncCrossFadeStubDispatcher(&RoutingControlStub::asyncCrossFade, "");
+/**
+ * this function is used for early and late audio functions to set the domain
+ * state
+(at)return E_OK on success, E_UNKNOWN on error
+ */
static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
RoutingControlStub,
std::tuple<am_domainID_t, am_DomainState_e>,
@@ -219,25 +361,94 @@ static CommonAPI::DBus::DBusMethodWithReplyStubDispatcher<
+const RoutingControlDBusStubAdapter::StubDispatcherTable& RoutingControlDBusStubAdapter::getStubDispatcherTable() {
+ static const RoutingControlDBusStubAdapter::StubDispatcherTable stubDispatcherTable = {
+ /**
+ * aborts an asynchronous action.
+ (at)return E_OK on success, E_UNKNOWN on error,
+ * E_NON_EXISTENT if handle was not found
+ */
+ { { "asyncAbort", "(iq)" }, &org::genivi::am::asyncAbortStubDispatcher },
+ /**
+ * connects a source to a sink
+ (at)return E_OK on success, E_UNKNOWN on error,
+ * E_WRONG_FORMAT in case am_ConnectionFormat_e does not match
+ */
+ { { "asyncConnect", "(iq)qqqq" }, &org::genivi::am::asyncConnectStubDispatcher },
+ /**
+ * disconnect a connection with given connectionID
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_NON_EXISTENT if connection was not found
+ */
+ { { "asyncDisconnect", "(iq)q" }, &org::genivi::am::asyncDisconnectStubDispatcher },
+ /**
+ * this method is used to set the volume of a sink. This function is used to drive
+ * ramps, to mute or unmute or directly set the value. The difference is made
+ * through the ramptype.
+ (at)return E_OK on success, E_UNKNOWN on error,
+ * E_OUT_OF_RANGE if new volume is out of range
+ */
+ { { "asyncSetSinkVolume", "(iq)qnqn" }, &org::genivi::am::asyncSetSinkVolumeStubDispatcher },
+ /**
+ * sets the volume of a source. This method is used to set the volume of a sink.
+ * This function is used to drive ramps, to mute or unmute or directly set the
+ * value. The difference is made through the ramptype.
+ (at)return E_OK on
+ * success, E_UNKNOWN on error, E_OUT_OF_RANGE if volume is out of
+ * range.
+ triggers the acknowledge ackSourceVolumeChange
+ */
+ { { "asyncSetSourceVolume", "(iq)qnqn" }, &org::genivi::am::asyncSetSourceVolumeStubDispatcher },
+ /**
+ * This function is used to set the source state of a particular
+ * source.
+ (at)return E_OK on success, E_UNKNOWN on error
+ */
+ { { "asyncSetSourceState", "(iq)qi" }, &org::genivi::am::asyncSetSourceStateStubDispatcher },
+ /**
+ * this function sets the sinksoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
+ { { "asyncSetSinkSoundProperties", "(iq)qa(qn)" }, &org::genivi::am::asyncSetSinkSoundPropertiesStubDispatcher },
+ /**
+ * this function sets the sinksoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
+ { { "asyncSetSinkSoundProperty", "(iq)q(qn)" }, &org::genivi::am::asyncSetSinkSoundPropertyStubDispatcher },
+ /**
+ * this function sets the sourcesoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
+ { { "asyncSetSourceSoundProperties", "(iq)qa(qn)" }, &org::genivi::am::asyncSetSourceSoundPropertiesStubDispatcher },
+ /**
+ * this function sets the sourcesoundproperty.
+ (at)return E_OK on success,
+ * E_UNKNOWN on error, E_OUT_OF_RANGE in case the propery value is out of range
+ */
+ { { "asyncSetSourceSoundProperty", "(iq)q(qn)" }, &org::genivi::am::asyncSetSourceSoundPropertyStubDispatcher },
+ /**
+ * this function triggers crossfading.
+ (at)return E_OK on success, E_UNKNOWN on
+ * error
+ */
+ { { "asyncCrossFade", "(iq)qiqn" }, &org::genivi::am::asyncCrossFadeStubDispatcher },
+ /**
+ * this function is used for early and late audio functions to set the domain
+ * state
+ (at)return E_OK on success, E_UNKNOWN on error
+ */
+ { { "setDomainState", "qi" }, &org::genivi::am::setDomainStateStubDispatcher },
+ { { "asyncSetVolumes", "(iq)a(i(yv)nqn)" }, &org::genivi::am::asyncSetVolumesStubDispatcher },
+ { { "asyncSetSinkNotificationConfiguration", "(iq)q(qin)" }, &org::genivi::am::asyncSetSinkNotificationConfigurationStubDispatcher },
+ { { "asyncSetSourceNotificationConfiguration", "(iq)q(qin)" }, &org::genivi::am::asyncSetSourceNotificationConfigurationStubDispatcher }
+ };
+ return stubDispatcherTable;
+}
+
+
} // namespace am
} // namespace genivi
} // namespace org
-
-template<>
-const org::genivi::am::RoutingControlDBusStubAdapterHelper::StubDispatcherTable org::genivi::am::RoutingControlDBusStubAdapterHelper::stubDispatcherTable_ = {
- { { "asyncAbort", "(iq)" }, &org::genivi::am::asyncAbortStubDispatcher },
- { { "asyncConnect", "(iq)qqqq" }, &org::genivi::am::asyncConnectStubDispatcher },
- { { "asyncDisconnect", "(iq)q" }, &org::genivi::am::asyncDisconnectStubDispatcher },
- { { "asyncSetSinkVolume", "(iq)qnqn" }, &org::genivi::am::asyncSetSinkVolumeStubDispatcher },
- { { "asyncSetSourceVolume", "(iq)qnqn" }, &org::genivi::am::asyncSetSourceVolumeStubDispatcher },
- { { "asyncSetSourceState", "(iq)qi" }, &org::genivi::am::asyncSetSourceStateStubDispatcher },
- { { "asyncSetSinkSoundProperties", "(iq)qa(qn)" }, &org::genivi::am::asyncSetSinkSoundPropertiesStubDispatcher },
- { { "asyncSetSinkSoundProperty", "(iq)q(qn)" }, &org::genivi::am::asyncSetSinkSoundPropertyStubDispatcher },
- { { "asyncSetSourceSoundProperties", "(iq)qa(qn)" }, &org::genivi::am::asyncSetSourceSoundPropertiesStubDispatcher },
- { { "asyncSetSourceSoundProperty", "(iq)q(qn)" }, &org::genivi::am::asyncSetSourceSoundPropertyStubDispatcher },
- { { "asyncCrossFade", "(iq)qiqn" }, &org::genivi::am::asyncCrossFadeStubDispatcher },
- { { "setDomainState", "qi" }, &org::genivi::am::setDomainStateStubDispatcher },
- { { "asyncSetVolumes", "(iq)a(i(yv)nqn)" }, &org::genivi::am::asyncSetVolumesStubDispatcher },
- { { "asyncSetSinkNotificationConfiguration", "(iq)q(qin)" }, &org::genivi::am::asyncSetSinkNotificationConfigurationStubDispatcher },
- { { "asyncSetSourceNotificationConfiguration", "(iq)q(qin)" }, &org::genivi::am::asyncSetSourceNotificationConfigurationStubDispatcher }
-};
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.h
index 0cd33f3..eca4dbd 100644
--- a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.h
+++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlDBusStubAdapter.h
@@ -1,37 +1,40 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * This class implements everything from Audiomanager -&gt; RoutingAdapter
+ * @author Christian Mueller
+ */
#ifndef ORG_GENIVI_AM_Routing_Control_DBUS_STUB_ADAPTER_H_
#define ORG_GENIVI_AM_Routing_Control_DBUS_STUB_ADAPTER_H_
#include <org/genivi/am/RoutingControlStub.h>
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/DBus/DBusStubAdapterHelper.h>
+#include <CommonAPI/DBus/DBusStubAdapter.h>
#include <CommonAPI/DBus/DBusFactory.h>
+#include <CommonAPI/DBus/DBusServicePublisher.h>
#undef COMMONAPI_INTERNAL_COMPILATION
@@ -44,17 +47,27 @@ typedef CommonAPI::DBus::DBusStubAdapterHelper<RoutingControlStub> RoutingContro
class RoutingControlDBusStubAdapter: public RoutingControlStubAdapter, public RoutingControlDBusStubAdapterHelper {
public:
RoutingControlDBusStubAdapter(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& dbusInterfaceName,
const std::string& dbusBusName,
const std::string& dbusObjectPath,
const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusConnection,
const std::shared_ptr<CommonAPI::StubBase>& stub);
+
+ ~RoutingControlDBusStubAdapter();
+
+
+ const StubDispatcherTable& getStubDispatcherTable();
+
+ void deactivateManagedInstances();
protected:
virtual const char* getMethodsDBusIntrospectionXmlData() const;
+
+ private:
};
} // namespace am
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserver.h b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserver.h
index 85a2ac0..a44ab34 100644
--- a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserver.h
+++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserver.h
@@ -1,34 +1,35 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * Routing Receive sendInterface description.
+ * @author Christian Mueller
+ */
#ifndef ORG_GENIVI_AM_Routing_Control_Observer_H_
#define ORG_GENIVI_AM_Routing_Control_Observer_H_
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
#define COMMONAPI_INTERNAL_COMPILATION
+#endif
#include <CommonAPI/types.h>
@@ -47,7 +48,8 @@ class RoutingControlObserver {
};
const char* RoutingControlObserver::getInterfaceId() {
- return "org.genivi.am.RoutingControlObserver";
+ static const char* interfaceId = "org.genivi.am.RoutingControlObserver";
+ return interfaceId;
}
CommonAPI::Version RoutingControlObserver::getInterfaceVersion() {
diff --git a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.cpp b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.cpp
index 637b174..203d734 100644
--- a/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.cpp
+++ b/PluginRoutingInterfaceCAPI/src-gen/org/genivi/am/RoutingControlObserverDBusProxy.cpp
@@ -1,28 +1,27 @@
/*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* This file was generated by the CommonAPI Generators.
-*
-* Copyright (C) 2012, BMW AG
-*
-* This file is part of GENIVI Project AudioManager.
-*
-* Contributions are licensed to the GENIVI Alliance under one or more
-* Contribution License Agreements.
-*
-* \copyright
-* This Source Code Form is subject to the terms of the
-* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*
+* This file was generated by the CommonAPI Generators.
+* Used org.genivi.commonapi.core 2.1.1.201309251246.
+* Used org.franca.core 0.8.9.201308271211.
*
+* Copyright (c) 2012 BMW
+*
* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
-* \author Christian Linke christian.linke@bmw.de BMW 2013
-*
+*
+* \copyright
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,
+* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+* subject to the following conditions:
+* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*
* For further information see http://www.genivi.org/.
*/
+/**
+ * Routing Receive sendInterface description.
+ * @author Christian Mueller
+ */
#include "RoutingControlObserverDBusProxy.h"
namespace org {
@@ -30,12 +29,13 @@ namespace genivi {
namespace am {
std::shared_ptr<CommonAPI::DBus::DBusProxy> createRoutingControlObserverDBusProxy(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& interfaceName,
const std::string& busName,
const std::string& objectPath,
const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyConnection) {
- return std::make_shared<RoutingControlObserverDBusProxy>(commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
+ return std::make_shared<RoutingControlObserverDBusProxy>(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyConnection);
}
__attribute__((constructor)) void registerRoutingControlObserverDBusProxy(void) {
@@ -44,21 +44,25 @@ __attribute__((constructor)) void registerRoutingControlObserverDBusProxy(void)
}
RoutingControlObserverDBusProxy::RoutingControlObserverDBusProxy(
+ const std::shared_ptr<CommonAPI::DBus::DBusFactory>& factory,
const std::string& commonApiAddress,
const std::string& interfaceName,
const std::string& busName,
const std::string& objectPath,
const std::shared_ptr<CommonAPI::DBus::DBusProxyConnection>& dbusProxyconnection):
- CommonAPI::DBus::DBusProxy(commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection)
-, routingReady_(*this, "onRoutingReadyAttributeChanged", "setRoutingReadyAttribute", "i", "getRoutingReadyAttribute")
- {
-}
+ CommonAPI::DBus::DBusProxy(factory, commonApiAddress, interfaceName, busName, objectPath, dbusProxyconnection)
+,routingReady_(*this, "onRoutingReadyAttributeChanged", "i", "getRoutingReadyAttribute")
+ {
+ }
RoutingControlObserverDBusProxy::RoutingReadyAttribute& RoutingControlObserverDBusProxy::getRoutingReadyAttribute() {
return routingReady_;
}
+/**
+ * acknowledges a asyncConnect
+ */
void RoutingControlObserverDBusProxy::ackConnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -78,6 +82,9 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackConnectAs
handle, connectionID, error,
std::move(callback));
}
+/**
+ * acknowledges a asyncDisconnect
+ */
void RoutingControlObserverDBusProxy::ackDisconnect(const am_Handle_s& handle, const am_connectionID_t& connectionID, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_connectionID_t, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -97,6 +104,9 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackDisconnec
handle, connectionID, error,
std::move(callback));
}
+/**
+ * acknowledges a asyncsetSinkVolume
+ */
void RoutingControlObserverDBusProxy::ackSetSinkVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_volume_t, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -116,6 +126,9 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSinkVo
handle, volume, error,
std::move(callback));
}
+/**
+ * acknowledges a asyncsetSourceVolume
+ */
void RoutingControlObserverDBusProxy::ackSetSourceVolumeChange(const am_Handle_s& handle, const am_volume_t& volume, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_volume_t, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -135,6 +148,9 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSource
handle, volume, error,
std::move(callback));
}
+/**
+ * acknowlegde for asyncSetSourceState
+ */
void RoutingControlObserverDBusProxy::ackSetSourceState(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -154,6 +170,9 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSource
handle, error,
std::move(callback));
}
+/**
+ * acknowledges asyncSetSinkSoundProperties
+ */
void RoutingControlObserverDBusProxy::ackSetSinkSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -173,6 +192,9 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSinkSo
handle, error,
std::move(callback));
}
+/**
+ * acknowledges asyncSetSinkSoundProperty
+ */
void RoutingControlObserverDBusProxy::ackSetSinkSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -192,6 +214,9 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSinkSo
handle, error,
std::move(callback));
}
+/**
+ * acknowledges asyncSetSourceSoundProperties
+ */
void RoutingControlObserverDBusProxy::ackSetSourceSoundProperties(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -211,6 +236,9 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSource
handle, error,
std::move(callback));
}
+/**
+ * acknowledges asyncSetSourceSoundProperty
+ */
void RoutingControlObserverDBusProxy::ackSetSourceSoundProperty(const am_Handle_s& handle, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -230,6 +258,9 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSetSource
handle, error,
std::move(callback));
}
+/**
+ * acknowledges asyncCrossFade
+ */
void RoutingControlObserverDBusProxy::ackCrossFading(const am_Handle_s& handle, const am_HotSink_e& hotSink, const am_Error_e& error, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_HotSink_e, am_Error_e>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -249,6 +280,10 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackCrossFadi
handle, hotSink, error,
std::move(callback));
}
+/**
+ * acknowledges a volume tick. This can be used to display volumechanges during
+ * ramps
+ */
void RoutingControlObserverDBusProxy::ackSourceVolumeTick(const am_Handle_s& handle, const am_sourceID_t& sourceID, const am_volume_t& volume, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sourceID_t, am_volume_t>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -268,6 +303,10 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSourceVol
handle, sourceID, volume,
std::move(callback));
}
+/**
+ * acknowledges a volume tick. This can be used to display volumechanges during
+ * ramps
+ */
void RoutingControlObserverDBusProxy::ackSinkVolumeTick(const am_Handle_s& handle, const am_sinkID_t& sinkID, const am_volume_t& volume, CommonAPI::CallStatus& callStatus) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Handle_s, am_sinkID_t, am_volume_t>,
CommonAPI::DBus::DBusSerializableArguments<> >::callMethodWithReply(
@@ -287,6 +326,14 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::ackSinkVolum
handle, sinkID, volume,
std::move(callback));
}
+/**
+ * This function returns the ID to the given domainName. If already a domain is
+ * registered with this name, it will return the corresponding ID, if not it will
+ * reserve an ID but not register the domain. The other parameters of the domain
+ * will be overwritten when the domain is registered.
+(at)return E_OK on
+ * success, E_UNKNOWN on error
+ */
void RoutingControlObserverDBusProxy::peekDomain(const std::string& name, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>,
CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_Error_e> >::callMethodWithReply(
@@ -306,6 +353,11 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::peekDomainAs
name,
std::move(callback));
}
+/**
+ * registers a domain
+(at)return E_OK on succes, E_ALREADY_EXISTENT if already
+ * registered E_UNKOWN on error
+ */
void RoutingControlObserverDBusProxy::registerDomain(const am_Domain_s& domainData, const std::string& returnBusname, const std::string& returnInterface, CommonAPI::CallStatus& callStatus, am_domainID_t& domainID, am_Error_e& error) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Domain_s, std::string, std::string>,
CommonAPI::DBus::DBusSerializableArguments<am_domainID_t, am_Error_e> >::callMethodWithReply(
@@ -325,6 +377,12 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::registerDoma
domainData, returnBusname, returnInterface,
std::move(callback));
}
+/**
+ * deregisters a domain. All sources, sinks, gateways and crossfaders from that
+ * domain will be removed as well.
+(at)return E_OK on succes, E_NON_EXISTENT if
+ * not found E_UNKOWN on error
+ */
void RoutingControlObserverDBusProxy::deregisterDomain(const am_domainID_t& domainID, CommonAPI::CallStatus& callStatus, am_Error_e& error) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_domainID_t>,
CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply(
@@ -344,6 +402,10 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::deregisterDo
domainID,
std::move(callback));
}
+/**
+ * registers a gateway. (at)return E_OK on succes, E_ALREADY_EXISTENT if already
+ * registered E_UNKOWN on error
+ */
void RoutingControlObserverDBusProxy::registerGateway(const am_Gateway_s& gatewayData, CommonAPI::CallStatus& callStatus, am_gatewayID_t& gatewayID, am_Error_e& error) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Gateway_s>,
CommonAPI::DBus::DBusSerializableArguments<am_gatewayID_t, am_Error_e> >::callMethodWithReply(
@@ -363,6 +425,12 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::registerGate
gatewayData,
std::move(callback));
}
+/**
+ * deregisters a gateway. Also removes all sinks and sources of the controlling
+ * domain.
+(at)return E_OK on succes, E_NON_EXISTENT if not found E_UNKOWN on
+ * error
+ */
void RoutingControlObserverDBusProxy::deregisterGateway(const am_gatewayID_t& gatewayID, CommonAPI::CallStatus& callStatus, am_Error_e& error) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_gatewayID_t>,
CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply(
@@ -382,6 +450,14 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::deregisterGa
gatewayID,
std::move(callback));
}
+/**
+ * This function returns the ID to the given sinkName. If already a sink is
+ * registered with this name, it will return the corresponding ID, if not it will
+ * reserve an ID but not register the sink. The other parameters of the sink will
+ * be overwritten when the sink is registered.
+(at)return E_OK on success,
+ * E_UNKNOWN on error
+ */
void RoutingControlObserverDBusProxy::peekSink(const std::string& name, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<std::string>,
CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Error_e> >::callMethodWithReply(
@@ -401,6 +477,12 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::peekSinkAsyn
name,
std::move(callback));
}
+/**
+ * Registers a sink. If the sink is part of a gateway, the listconnectionFormats
+ * is copied to the gatewayInformation
+(at)return E_OK on succes,
+ * E_ALREADY_EXISTENT if already registered E_UNKOWN on error
+ */
void RoutingControlObserverDBusProxy::registerSink(const am_Sink_s& sinkData, CommonAPI::CallStatus& callStatus, am_sinkID_t& sinkID, am_Error_e& error) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_Sink_s>,
CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t, am_Error_e> >::callMethodWithReply(
@@ -420,6 +502,11 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::registerSink
sinkData,
std::move(callback));
}
+/**
+ * deregisters a sink.
+(at)return E_OK on succes, E_NON_EXISTENT if not found
+ * E_UNKOWN on error
+ */
void RoutingControlObserverDBusProxy::deregisterSink(const am_sinkID_t& sinkID, CommonAPI::CallStatus& callStatus, am_Error_e& error) {
CommonAPI::DBus::DBusProxyHelper<CommonAPI::DBus::DBusSerializableArguments<am_sinkID_t>,
CommonAPI::DBus::DBusSerializableArguments<am_Error_e> >::callMethodWithReply(
@@ -439,6 +526,14 @@ std::future<CommonAPI::CallStatus> RoutingControlObserverDBusProxy::deregisterSi<