summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-04-21 11:42:22 +0100
committerMarcel Holtmann <marcel@holtmann.org>2009-04-21 11:42:22 +0100
commit61b634632e62251647cede96476091c626a6b56c (patch)
tree1e5315a1f1723b2e876688f242391071a949dd3e
parent15787f609916d93ea6d8c8362d1a6aefae54ae97 (diff)
downloadconnman-61b634632e62251647cede96476091c626a6b56c.tar.gz
connman-61b634632e62251647cede96476091c626a6b56c.tar.bz2
connman-61b634632e62251647cede96476091c626a6b56c.zip
Fix broken service state change signal
-rw-r--r--src/service.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/service.c b/src/service.c
index c5562293..7a8d14fb 100644
--- a/src/service.c
+++ b/src/service.c
@@ -141,8 +141,8 @@ static const char *state2string(enum connman_service_state state)
static void state_changed(struct connman_service *service)
{
DBusMessage *signal;
- DBusMessageIter entry;
- const char *str;
+ DBusMessageIter entry, value;
+ const char *str, *key = "State";
if (service->path == NULL)
return;
@@ -157,8 +157,14 @@ static void state_changed(struct connman_service *service)
return;
dbus_message_iter_init_append(signal, &entry);
- connman_dbus_dict_append_variant(&entry, "State",
- DBUS_TYPE_STRING, &str);
+
+ dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
+
+ dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT,
+ DBUS_TYPE_STRING_AS_STRING, &value);
+ dbus_message_iter_append_basic(&value, DBUS_TYPE_STRING, &str);
+ dbus_message_iter_close_container(&entry, &value);
+
g_dbus_send_message(connection, signal);
}