[PATCH 2/3] channel and frequency added in interface capability properties on dbus
Avichal Agarwal
avichal.a at samsung.com
Mon Dec 19 05:57:16 PST 2016
new helper function is added which will fill container of typer array of int32
Signed-off-by: Avichal Agarwal <avichal.a at samsung.com>
Signed-off-by: Mayank Haarit <mayank.h at samsung.com>
Signed-off-by: Kyeong-Chae Lim <kcya.lim at samsung.com>
---
wpa_supplicant/dbus/dbus_dict_helpers.c | 56 +++++++++++++++++++++++++++++++++
wpa_supplicant/dbus/dbus_dict_helpers.h | 5 +++
2 files changed, 61 insertions(+)
diff --git a/wpa_supplicant/dbus/dbus_dict_helpers.c b/wpa_supplicant/dbus/dbus_dict_helpers.c
index e4e9b8d..fc17c34 100644
--- a/wpa_supplicant/dbus/dbus_dict_helpers.c
+++ b/wpa_supplicant/dbus/dbus_dict_helpers.c
@@ -184,6 +184,40 @@ static dbus_bool_t _wpa_dbus_add_dict_entry_byte_array(
}
+static dbus_bool_t _wpa_dbus_add_dict_entry_int32_array(
+ DBusMessageIter *iter_dict, const char *key,
+ int *value, const dbus_uint32_t value_len)
+{
+ DBusMessageIter iter_dict_entry, iter_dict_val, iter_array;
+ dbus_uint32_t i;
+
+ if (!_wpa_dbus_add_dict_entry_start(iter_dict, &iter_dict_entry,
+ key, DBUS_TYPE_ARRAY) ||
+ !dbus_message_iter_open_container(&iter_dict_entry,
+ DBUS_TYPE_VARIANT,
+ DBUS_TYPE_ARRAY_AS_STRING
+ DBUS_TYPE_INT32_AS_STRING,
+ &iter_dict_val) ||
+ !dbus_message_iter_open_container(&iter_dict_val, DBUS_TYPE_ARRAY,
+ DBUS_TYPE_INT32_AS_STRING,
+ &iter_array))
+ return FALSE;
+
+ for (i = 0; i < value_len; i++) {
+ if (!dbus_message_iter_append_basic(&iter_array,
+ DBUS_TYPE_INT32,
+ &(value[i])))
+ return FALSE;
+ }
+
+ if (!dbus_message_iter_close_container(&iter_dict_val, &iter_array))
+ return FALSE;
+
+ return _wpa_dbus_add_dict_entry_end(iter_dict, &iter_dict_entry,
+ &iter_dict_val);
+}
+
+
/**
* Add a string entry to the dict.
*
@@ -341,6 +375,28 @@ dbus_bool_t wpa_dbus_dict_append_byte_array(DBusMessageIter *iter_dict,
value_len);
}
+/**
+ * Add a int32 array entry to the dict.
+ *
+ * @param iter_dict A valid DBusMessageIter returned from
+ * wpa_dbus_dict_open_write()
+ * @param key The key of the dict item
+ * @param value The byte array
+ * @param value_len The length of the int array
+ * @return TRUE on success, FALSE on failure
+ *
+ */
+dbus_bool_t wpa_dbus_dict_append_int32_array(DBusMessageIter *iter_dict,
+ const char *key,
+ int *value,
+ const dbus_uint32_t value_len)
+{
+ if (!key || (!value && value_len != 0))
+ return FALSE;
+ return _wpa_dbus_add_dict_entry_int32_array(iter_dict, key, value,
+ value_len);
+}
+
/**
* Begin an array entry in the dict
diff --git a/wpa_supplicant/dbus/dbus_dict_helpers.h b/wpa_supplicant/dbus/dbus_dict_helpers.h
index 94a0efd..c6bef90 100644
--- a/wpa_supplicant/dbus/dbus_dict_helpers.h
+++ b/wpa_supplicant/dbus/dbus_dict_helpers.h
@@ -55,6 +55,11 @@ dbus_bool_t wpa_dbus_dict_append_byte_array(DBusMessageIter *iter_dict,
const char *value,
const dbus_uint32_t value_len);
+dbus_bool_t wpa_dbus_dict_append_int32_array(DBusMessageIter *iter_dict,
+ const char *key,
+ int *value,
+ const dbus_uint32_t value_len);
+
/* Manual construction and addition of array elements */
dbus_bool_t wpa_dbus_dict_begin_array(DBusMessageIter *iter_dict,
const char *key, const char *type,
--
2.7.4
More information about the Hostap
mailing list