Branch: master

17b82c03 2019-05-15 14:36:40 Michele Calgaro
Added function to easily create a TQT_DBusData variant object from a given
TQT_DBusData object. This simplify the creation of dictionaries where
the value has to be of type Variant.

Signed-off-by: Michele Calgaro <michele.calgaro@...>
M src/tqdbusdata.cpp
M src/tqdbusdata.h

src/tqdbusdata.cpp

diff --git a/src/tqdbusdata.cpp b/src/tqdbusdata.cpp
index 629df57..7dc8c63 100644
--- a/src/tqdbusdata.cpp
+++ b/src/tqdbusdata.cpp
@@ -731,6 +731,14 @@
     return *((TQT_DBusVariant*)d->value.pointer);
 }
 
+TQT_DBusData TQT_DBusData::getAsVariantData()
+{
+    TQT_DBusVariant variant;
+    variant.value = *this;
+    variant.signature = variant.value.buildDBusSignature();
+    return TQT_DBusData::fromVariant(variant);
+}
+
 TQT_DBusData TQT_DBusData::fromByteKeyMap(const TQT_DBusDataMap<TQ_UINT8>& map)
 {
     TQT_DBusData data;

src/tqdbusdata.h

diff --git a/src/tqdbusdata.h b/src/tqdbusdata.h
index ae64706..20c2c82 100644
--- a/src/tqdbusdata.h
+++ b/src/tqdbusdata.h
@@ -852,6 +852,13 @@
     TQT_DBusVariant toVariant(bool* ok = 0) const;
 
     /**
+     * @brief Creates a variant from @p this object and returns it as a TQT_DBusData object
+     *
+     * @return a data object of type #Variant containing @p this object
+     */
+    TQT_DBusData getAsVariantData();
+
+    /**
      * @brief Creates a data object for the given @p map
      *
      * \note The map is allowed to be empty but is required to have a valid