diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-iface-modem-messaging.c | 13 | ||||
-rw-r--r-- | src/mm-sms-list.c | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/mm-iface-modem-messaging.c b/src/mm-iface-modem-messaging.c index 874397e5..11018624 100644 --- a/src/mm-iface-modem-messaging.c +++ b/src/mm-iface-modem-messaging.c @@ -490,6 +490,17 @@ mm_iface_modem_messaging_is_storage_supported_for_receiving (MMIfaceModemMessagi /*****************************************************************************/ static void +update_message_list (MmGdbusModemMessaging *skeleton, + MMSmsList *list) +{ + gchar **paths; + + paths = mm_sms_list_get_paths (list); + mm_gdbus_modem_messaging_set_messages (skeleton, (const gchar *const *)paths); + g_strfreev (paths); +} + +static void sms_added (MMSmsList *list, const gchar *sms_path, gboolean received, @@ -498,6 +509,7 @@ sms_added (MMSmsList *list, mm_dbg ("Added %s SMS at '%s'", received ? "received" : "local", sms_path); + update_message_list (skeleton, list); mm_gdbus_modem_messaging_emit_added (skeleton, sms_path, received); } @@ -507,6 +519,7 @@ sms_deleted (MMSmsList *list, MmGdbusModemMessaging *skeleton) { mm_dbg ("Deleted SMS at '%s'", sms_path); + update_message_list (skeleton, list); mm_gdbus_modem_messaging_emit_deleted (skeleton, sms_path); } diff --git a/src/mm-sms-list.c b/src/mm-sms-list.c index e6f9da3e..79fb64c1 100644 --- a/src/mm-sms-list.c +++ b/src/mm-sms-list.c @@ -225,6 +225,9 @@ mm_sms_list_add_sms (MMSmsList *self, MMSms *sms) { self->priv->list = g_list_prepend (self->priv->list, g_object_ref (sms)); + g_signal_emit (self, signals[SIGNAL_ADDED], 0, + mm_sms_get_path (sms), + FALSE); } /*****************************************************************************/ |