summaryrefslogtreecommitdiff
path: root/include/dbus.h
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-12-19 13:03:19 -0800
committerMarcel Holtmann <marcel@holtmann.org>2009-12-19 13:03:19 -0800
commitffddf23a6b108454ae357aa8bdc2d8b23222dd79 (patch)
tree77eb6abcc14cbfe76ef70e3009cf35b1e905b3e8 /include/dbus.h
parentee9ffa509ee08cd6599c13f2d8a39c215fd991ca (diff)
downloadconnman-ffddf23a6b108454ae357aa8bdc2d8b23222dd79.tar.gz
connman-ffddf23a6b108454ae357aa8bdc2d8b23222dd79.tar.bz2
connman-ffddf23a6b108454ae357aa8bdc2d8b23222dd79.zip
Add helpers for adding dictionaries as property
Diffstat (limited to 'include/dbus.h')
-rw-r--r--include/dbus.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/dbus.h b/include/dbus.h
index d8a1854e..ab6cc07c 100644
--- a/include/dbus.h
+++ b/include/dbus.h
@@ -48,8 +48,10 @@ typedef void (* connman_dbus_append_cb_t) (DBusMessageIter *iter);
DBusConnection *connman_dbus_get_connection(void);
-void connman_dbus_property_append_variant(DBusMessageIter *property,
+void connman_dbus_property_append_variant(DBusMessageIter *iter,
const char *key, int type, void *val);
+void connman_dbus_property_append_dict(DBusMessageIter *iter, const char *key,
+ connman_dbus_append_cb_t function, void *user_data);
void connman_dbus_property_append_fixed_array(DBusMessageIter *iter,
const char *key, int type, void *val, int len);
void connman_dbus_property_append_variable_array(DBusMessageIter *dict,
@@ -58,6 +60,9 @@ void connman_dbus_property_append_variable_array(DBusMessageIter *dict,
dbus_bool_t connman_dbus_property_changed_basic(const char *path,
const char *interface, const char *key,
int type, void *val);
+dbus_bool_t connman_dbus_property_changed_dict(const char *path,
+ const char *interface, const char *key,
+ connman_dbus_append_cb_t function, void *user_data);
static inline void connman_dbus_dict_open(DBusMessageIter *iter,
DBusMessageIter *dict)
@@ -85,6 +90,17 @@ static inline void connman_dbus_dict_append_variant(DBusMessageIter *dict,
dbus_message_iter_close_container(dict, &entry);
}
+static inline void connman_dbus_dict_append_dict(DBusMessageIter *dict,
+ const char *key, connman_dbus_append_cb_t function)
+{
+ DBusMessageIter entry;
+
+ dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
+ NULL, &entry);
+ connman_dbus_property_append_dict(&entry, key, function, NULL);
+ dbus_message_iter_close_container(dict, &entry);
+}
+
static inline void connman_dbus_dict_append_fixed_array(DBusMessageIter *dict,
const char *key, int type, void *val, int len)
{