summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMartin Koch <mkoch@de.adit-jv.com>2020-01-17 09:07:47 +0100
committerMartin Koch <mkoch@de.adit-jv.com>2020-01-17 09:14:51 +0100
commitc1e284360ec02b06ccb0a97a00fed05ef0bb2c60 (patch)
tree752b600be063bd3938e7e8fc7b304ac46f53ef1d /include
parenta2af83777be4860d554bceaf28c87218729cf309 (diff)
downloadaudiomanager-c1e284360ec02b06ccb0a97a00fed05ef0bb2c60.tar.gz
AM: add plural form of setSystemProperties for global configuration attributes to command and control interface
- implement plural form of requests and acknowledgments in core - provide empty default implementations in interfaces to ensure backward compatibility with older plugins - accommodate extension in module tests Main purpose of this extension is to allow for one-shot (uninterrupted), consistent change of multiple, possibly interrelated configuration attributes. Signed-off-by: Martin Koch <mkoch@de.adit-jv.com>
Diffstat (limited to 'include')
-rw-r--r--include/IAmCommand.h11
-rw-r--r--include/IAmControl.h11
2 files changed, 21 insertions, 1 deletions
diff --git a/include/IAmCommand.h b/include/IAmCommand.h
index 4f70389..72a4373 100644
--- a/include/IAmCommand.h
+++ b/include/IAmCommand.h
@@ -25,7 +25,6 @@
#include <vector>
#include <string>
-#include "audiomanagertypes.h"
namespace am {
class CAmDbusWrapper;
class CAmSocketHandler;
@@ -134,6 +133,12 @@ public:
*/
virtual am_Error_e setSystemProperty(const am_SystemProperty_s& property) =0;
/**
+ * is used to set a specific system properties.
+ * @return E_OK on success, E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in
+ * case of an error
+ */
+ virtual am_Error_e setSystemProperties(const std::vector<am_SystemProperty_s>&/*listSystemProperties*/ ) { return E_OK; };
+ /**
* returns the actual list of MainConnections
* @return E_OK on success, E_DATABASE_ERROR on error
*/
@@ -366,6 +371,10 @@ public:
*/
virtual void cbSystemPropertyChanged(const am_SystemProperty_s& systemProperty) =0;
/**
+ * is fired if a systemProperties changed
+ */
+ virtual void cbSystemPropertiesChanged(const std::vector<am_SystemProperty_s>&/*listSystemProperties*/) { return; };
+ /**
* This callback is fired if the timinginformation for a mainConnectionID changed
*/
virtual void cbTimingInformationChanged(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time) =0;
diff --git a/include/IAmControl.h b/include/IAmControl.h
index 872177f..2f2f083 100644
--- a/include/IAmControl.h
+++ b/include/IAmControl.h
@@ -332,6 +332,12 @@ public:
*/
virtual am_Error_e changeSystemPropertyDB(const am_SystemProperty_s& property) =0;
/**
+ * changes systemProperties
+ * @return E_OK on success, E_DATABASE_ERROR on error, E_NON_EXISTENT if property
+ * was not found
+ */
+ virtual am_Error_e changeSystemPropertiesDB(const std::vector<am_SystemProperty_s>&/*listSystemProperties*/){ return E_OK; };
+ /**
* removes a mainconnection from the DB
* @return E_OK on success, E_NON_EXISTENT if main connection was not found,
* E_DATABASE_ERROR if the database had an error
@@ -758,6 +764,11 @@ public:
*/
virtual am_Error_e hookUserSetSystemProperty(const am_SystemProperty_s& property) =0;
/**
+ * sets a user SystemProperties list
+ * @return E_OK on success, E_OUT_OF_RANGE if out of range, E_UNKNOWN on error
+ */
+ virtual am_Error_e hookUserSetSystemProperties(const std::vector<am_SystemProperty_s>& /*listproperties*/){ return E_OK; }
+ /**
* sets a user volume
* @return E_OK on success, E_OUT_OF_RANGE if out of range, E_UNKNOWN on error
*/