diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-09-21 17:32:06 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-09-21 21:15:07 -0500 |
commit | 82ff49c78155711385418cd08297ddcf2a9a5d28 (patch) | |
tree | 9a3beaf209c1608a0aff521d835477cedec57285 /src | |
parent | 8ea7db04168f0a0fa229f3af053830ce470076fa (diff) | |
download | ofono-82ff49c78155711385418cd08297ddcf2a9a5d28.tar.bz2 |
sms: Emit MessageRemoved
Diffstat (limited to 'src')
-rw-r--r-- | src/sms.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -301,6 +301,17 @@ static void emit_message_added(struct ofono_sms *sms, struct message *m) g_dbus_send_message(ofono_dbus_get_connection(), signal); } +static void emit_message_removed(struct ofono_sms *sms, struct message *m) +{ + DBusConnection *conn = ofono_dbus_get_connection(); + const char *atompath = __ofono_atom_get_path(sms->atom); + const char *path = message_build_path(sms, m); + + g_dbus_emit_signal(conn, atompath, OFONO_MESSAGE_MANAGER_INTERFACE, + "MessageRemoved", DBUS_TYPE_OBJECT_PATH, &path, + DBUS_TYPE_INVALID); +} + static void message_set_state(struct ofono_sms *sms, const struct ofono_uuid *uuid, enum message_state new_state) @@ -330,6 +341,7 @@ static void message_set_state(struct ofono_sms *sms, if (m->state == MESSAGE_STATE_SENT || m->state == MESSAGE_STATE_FAILED) { g_hash_table_remove(sms->messages, uuid); + emit_message_removed(sms, m); message_dbus_unregister(sms, m); } } |