diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-02-01 17:06:19 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-15 14:14:59 +0100 |
commit | 47a990390175747b2d213681eda4f41a6edb7a7b (patch) | |
tree | 99ef6ddbfc8c7067529d20fdf4c9c1c746f0a957 /src | |
parent | 6432c54d7024a36c53bc316b8c697fdd5fca8d68 (diff) |
iface-modem-messaging: handle SMS listing
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-iface-modem-messaging.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/mm-iface-modem-messaging.c b/src/mm-iface-modem-messaging.c index f63b115b..053b670c 100644 --- a/src/mm-iface-modem-messaging.c +++ b/src/mm-iface-modem-messaging.c @@ -110,6 +110,29 @@ handle_delete (MmGdbusModemMessaging *skeleton, /*****************************************************************************/ +static gboolean +handle_list (MmGdbusModemMessaging *skeleton, + GDBusMethodInvocation *invocation, + MMIfaceModemMessaging *self) +{ + GStrv paths; + MMSmsList *list = NULL; + + g_object_get (self, + MM_IFACE_MODEM_MESSAGING_SMS_LIST, &list, + NULL); + g_assert (list != NULL); + + paths = mm_sms_list_get_paths (list); + mm_gdbus_modem_messaging_complete_list (skeleton, + invocation, + (const gchar *const *)paths); + g_strfreev (paths); + return TRUE; +} + +/*****************************************************************************/ + gboolean mm_iface_modem_messaging_take_part (MMIfaceModemMessaging *self, MMSmsPart *sms_part, @@ -589,6 +612,10 @@ interface_initialization_step (InitializationContext *ctx) "handle-delete", G_CALLBACK (handle_delete), ctx->self); + g_signal_connect (ctx->skeleton, + "handle-list", + G_CALLBACK (handle_list), + ctx->self); /* Finally, export the new interface */ mm_gdbus_object_skeleton_set_modem_messaging (MM_GDBUS_OBJECT_SKELETON (ctx->self), |