---
 gsupplicant/dbus.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/gsupplicant/dbus.c b/gsupplicant/dbus.c
index e014265..8eb4c11 100644
--- a/gsupplicant/dbus.c
+++ b/gsupplicant/dbus.c
@@ -520,3 +520,31 @@ void 
supplicant_dbus_property_append_fixed_array(DBusMessageIter *iter,
 
        dbus_message_iter_close_container(iter, &value);
 }
+
+void supplicant_dbus_property_append_array(DBusMessageIter *iter,
+                                       const char *key, int type,
+               supplicant_dbus_array_function function, void *user_data)
+{
+       DBusMessageIter value, array;
+       const char *variant_sig, *array_sig;
+
+       variant_sig = DBUS_TYPE_ARRAY_AS_STRING
+                       DBUS_TYPE_ARRAY_AS_STRING
+                       DBUS_TYPE_BYTE_AS_STRING;
+
+       array_sig = DBUS_TYPE_ARRAY_AS_STRING DBUS_TYPE_BYTE_AS_STRING;
+
+       dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &key);
+
+       dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT,
+                                                       variant_sig, &value);
+
+       dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY,
+                                                       array_sig, &array);
+       if (function)
+               function(&array, user_data);
+       dbus_message_iter_close_container(&value, &array);
+
+       dbus_message_iter_close_container(iter, &value);
+}
+
-- 
1.7.2.2

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to