aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-11-15 19:33:04 +0100
committerAleksander Morgado <aleksander@lanedo.com>2013-11-21 11:36:21 +0100
commitf7546ad82456afcd0bb176586d26c8bd7cec60cc (patch)
tree893223d779fd5538284840fc131e94c9043d589d /src
parent7f442b777c6fe7fd71f4f9022121752dabad5cdd (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.c13
-rw-r--r--src/mm-sms-list.c3
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);
}
/*****************************************************************************/