diff options
-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), |