diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-11-15 19:33:04 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-11-21 11:36:21 +0100 |
commit | f7546ad82456afcd0bb176586d26c8bd7cec60cc (patch) | |
tree | 893223d779fd5538284840fc131e94c9043d589d /src | |
parent | 7f442b777c6fe7fd71f4f9022121752dabad5cdd (diff) |
introspection,api: new 'Messages' property in the Messaging interface
https://bugzilla.gnome.org/show_bug.cgi?id=712276
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); } /*****************************************************************************/ |