diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-02-01 16:03:57 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-15 14:14:59 +0100 |
commit | 2ede62e45e655eadbcd098dc1e4e746470a79ea6 (patch) | |
tree | ee940c4b4fe5fd080652bb20aed28c49103525da | |
parent | 75b722541735fa37b32d443de5df978980a205eb (diff) |
iface-modem-messaging: emit SMS added/completed/deleted signals
-rw-r--r-- | src/mm-iface-modem-messaging.c | 47 |
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 */ |