aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonald Tessier <ronald.tessier@linux.intel.com>2012-04-25 11:01:49 +0200
committerMarcel Holtmann <marcel@holtmann.org>2012-04-27 14:26:27 +0200
commiteec5fdc48821084ae748d212957b5ff461c2edaf (patch)
tree2789aa1537ad8d0eded0aa8d03718d510f755842
parenta381f401552cc6c2a595c0a68689c1e7f2008222 (diff)
downloadmmsd-eec5fdc48821084ae748d212957b5ff461c2edaf.tar.gz
service: Add GetConversation method
-rw-r--r--src/service.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index f89fd3f..24c89b6 100644
--- a/src/service.c
+++ b/src/service.c
@@ -690,6 +690,26 @@ static DBusMessage *get_messages(DBusConnection *conn,
return reply;
}
+static DBusMessage *get_conversation(DBusConnection *conn,
+ DBusMessage *dbus_msg, void *data)
+{
+ DBusMessage *reply;
+ DBusMessageIter iter, array;
+
+ reply = dbus_message_new_method_return(dbus_msg);
+ if (reply == NULL)
+ return __mms_error_trans_failure(dbus_msg);
+
+ dbus_message_iter_init_append(reply, &iter);
+
+ dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
+ "(oa{sv})", &array);
+
+ dbus_message_iter_close_container(&iter, &array);
+
+ return reply;
+}
+
static gboolean mms_attachment_is_smil(const struct mms_attachment *part)
{
if (g_str_has_prefix(part->content_type, "application/smil"))
@@ -813,6 +833,7 @@ release_msg:
static GDBusMethodTable service_methods[] = {
{ "SendMessage", "assa(sss)", "o", send_message },
{ "GetMessages", "", "a(oa{sv})", get_messages },
+ { "GetConversation", "su", "a(oa{sv})", get_conversation },
{ }
};