summaryrefslogtreecommitdiff
path: root/include/CommonAPI/DBus/DBusOutputStream.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/CommonAPI/DBus/DBusOutputStream.hpp')
-rw-r--r--include/CommonAPI/DBus/DBusOutputStream.hpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/CommonAPI/DBus/DBusOutputStream.hpp b/include/CommonAPI/DBus/DBusOutputStream.hpp
index 1148f3e..b0bdd22 100644
--- a/include/CommonAPI/DBus/DBusOutputStream.hpp
+++ b/include/CommonAPI/DBus/DBusOutputStream.hpp
@@ -47,6 +47,21 @@ public:
*/
COMMONAPI_EXPORT DBusOutputStream(DBusMessage dbusMessage);
+ COMMONAPI_EXPORT void beginWriteVectorOfSerializableStructs() {
+ align(sizeof(uint32_t));
+ pushPosition();
+ _writeValue(static_cast<uint32_t>(0)); // Placeholder
+
+ align(8);
+ pushPosition(); // Start of map data
+ }
+
+ COMMONAPI_EXPORT void endWriteVector() {
+ // Write number of written bytes to placeholder position
+ const uint32_t length = getPosition() - popPosition();
+ _writeValueAt(popPosition(), length);
+ }
+
COMMONAPI_EXPORT OutputStream &writeValue(const bool &_value, const EmptyDeployment *_depl) {
uint32_t tmp = (_value ? 1 : 0);
return _writeValue(tmp);