diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-12-19 13:03:19 -0800 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-12-19 13:03:19 -0800 |
commit | ffddf23a6b108454ae357aa8bdc2d8b23222dd79 (patch) | |
tree | 77eb6abcc14cbfe76ef70e3009cf35b1e905b3e8 /include/dbus.h | |
parent | ee9ffa509ee08cd6599c13f2d8a39c215fd991ca (diff) | |
download | connman-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.h | 18 |
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) { |