aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-02-01 16:03:57 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:59 +0100
commit2ede62e45e655eadbcd098dc1e4e746470a79ea6 (patch)
treeee940c4b4fe5fd080652bb20aed28c49103525da /src
parent75b722541735fa37b32d443de5df978980a205eb (diff)
iface-modem-messaging: emit SMS added/completed/deleted signals
Diffstat (limited to 'src')
-rw-r--r--src/mm-iface-modem-messaging.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/mm-iface-modem-messaging.c b/src/mm-iface-modem-messaging.c
index c28a6422..71758c45 100644
--- a/src/mm-iface-modem-messaging.c
+++ b/src/mm-iface-modem-messaging.c
@@ -65,6 +65,38 @@ mm_iface_modem_messaging_take_part (MMIfaceModemMessaging *self,
/*****************************************************************************/
+static void
+sms_added (MMSmsList *list,
+ const gchar *sms_path,
+ gboolean received,
+ MmGdbusModemMessaging *skeleton)
+{
+ mm_dbg ("Added %s SMS at '%s'",
+ received ? "received" : "local",
+ sms_path);
+ mm_gdbus_modem_messaging_emit_added (skeleton, sms_path, received);
+}
+
+static void
+sms_completed (MMSmsList *list,
+ const gchar *sms_path,
+ MmGdbusModemMessaging *skeleton)
+{
+ mm_dbg ("Completed SMS at '%s'", sms_path);
+ mm_gdbus_modem_messaging_emit_completed (skeleton, sms_path);
+}
+
+static void
+sms_deleted (MMSmsList *list,
+ const gchar *sms_path,
+ MmGdbusModemMessaging *skeleton)
+{
+ mm_dbg ("Deleted SMS at '%s'", sms_path);
+ mm_gdbus_modem_messaging_emit_deleted (skeleton, sms_path);
+}
+
+/*****************************************************************************/
+
typedef struct _DisablingContext DisablingContext;
static void interface_disabling_step (DisablingContext *ctx);
@@ -273,6 +305,21 @@ interface_enabling_step (EnablingContext *ctx)
g_object_set (ctx->self,
MM_IFACE_MODEM_MESSAGING_SMS_LIST, list,
NULL);
+
+ /* Connect to list's signals */
+ g_signal_connect (list,
+ MM_SMS_ADDED,
+ G_CALLBACK (sms_added),
+ ctx->skeleton);
+ g_signal_connect (list,
+ MM_SMS_COMPLETED,
+ G_CALLBACK (sms_completed),
+ ctx->skeleton);
+ g_signal_connect (list,
+ MM_SMS_DELETED,
+ G_CALLBACK (sms_deleted),
+ ctx->skeleton);
+
g_object_unref (list);
/* Fall down to next step */