summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-09-21 17:32:06 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-09-21 21:15:07 -0500
commit82ff49c78155711385418cd08297ddcf2a9a5d28 (patch)
tree9a3beaf209c1608a0aff521d835477cedec57285 /src
parent8ea7db04168f0a0fa229f3af053830ce470076fa (diff)
downloadofono-82ff49c78155711385418cd08297ddcf2a9a5d28.tar.bz2
sms: Emit MessageRemoved
Diffstat (limited to 'src')
-rw-r--r--src/sms.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/sms.c b/src/sms.c
index 3395d5e3..cff2535a 100644
--- a/src/sms.c
+++ b/src/sms.c
@@ -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);
}
}