diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-04-21 11:42:22 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-04-21 11:42:22 +0100 |
commit | 61b634632e62251647cede96476091c626a6b56c (patch) | |
tree | 1e5315a1f1723b2e876688f242391071a949dd3e /src | |
parent | 15787f609916d93ea6d8c8362d1a6aefae54ae97 (diff) | |
download | connman-61b634632e62251647cede96476091c626a6b56c.tar.gz connman-61b634632e62251647cede96476091c626a6b56c.tar.bz2 connman-61b634632e62251647cede96476091c626a6b56c.zip |
Fix broken service state change signal
Diffstat (limited to 'src')
-rw-r--r-- | src/service.c | 14 |
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); } |