diff options
author | Ronald Tessier <ronald.tessier@linux.intel.com> | 2012-08-09 17:51:41 +0200 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2012-08-09 01:42:43 -0500 |
commit | d6d9b5f48ad8ea6b1f16bcd6350785fb4d63ee88 (patch) | |
tree | 49607c8e76ec73ec50032ccc86cc78693a493f2e | |
parent | 31ef2da77464300c8fd2273db036e8d1949241e4 (diff) | |
download | mmsd-d6d9b5f48ad8ea6b1f16bcd6350785fb4d63ee88.tar.gz |
service: Add DBus method to get service properties
-rw-r--r-- | src/service.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c index 22d19c7..db9c514 100644 --- a/src/service.c +++ b/src/service.c @@ -887,6 +887,31 @@ out: return reply; } +static DBusMessage *get_properties(DBusConnection *conn, + DBusMessage *msg, void *data) +{ + struct mms_service *service = data; + DBusMessage *reply; + DBusMessageIter iter; + DBusMessageIter dict; + + reply = dbus_message_new_method_return(msg); + if (reply == NULL) + return NULL; + + dbus_message_iter_init_append(reply, &iter); + + mms_dbus_dict_open(&iter, &dict); + + mms_dbus_dict_append_basic(&dict, "UseDeliveryReports", + DBUS_TYPE_BOOLEAN, + &service->use_delivery_reports); + + mms_dbus_dict_close(&iter, &dict); + + return reply; +} + static DBusMessage *set_property(DBusConnection *conn, DBusMessage *dbus_msg, void *data) { @@ -1069,6 +1094,10 @@ static const GDBusMethodTable service_methods[] = { GDBUS_ARGS({ "property", "s" }, { "value", "v" }), NULL, set_property) }, + { GDBUS_METHOD("GetProperties", + NULL, + GDBUS_ARGS({ "properties", "a{sv}" }), + get_properties) }, { } }; |