aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-02-01 17:06:19 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:59 +0100
commit47a990390175747b2d213681eda4f41a6edb7a7b (patch)
tree99ef6ddbfc8c7067529d20fdf4c9c1c746f0a957
parent6432c54d7024a36c53bc316b8c697fdd5fca8d68 (diff)
iface-modem-messaging: handle SMS listing
-rw-r--r--src/mm-iface-modem-messaging.c27
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),