diff options
author | Martin Koch <mkoch@de.adit-jv.com> | 2020-01-17 09:07:47 +0100 |
---|---|---|
committer | Martin Koch <mkoch@de.adit-jv.com> | 2020-01-17 09:14:51 +0100 |
commit | c1e284360ec02b06ccb0a97a00fed05ef0bb2c60 (patch) | |
tree | 752b600be063bd3938e7e8fc7b304ac46f53ef1d /include | |
parent | a2af83777be4860d554bceaf28c87218729cf309 (diff) | |
download | audiomanager-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.h | 11 | ||||
-rw-r--r-- | include/IAmControl.h | 11 |
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
*/
|