summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Laban <david.laban@collabora.co.uk>2011-05-24 19:44:13 -0400
committerDavid Laban <david.laban@collabora.co.uk>2011-05-24 19:58:50 -0400
commitb155a3dd4bc046e88ee6b99b254669b3dad9caa5 (patch)
tree80dd561a2c44618ebb2348d1de3d871f454bb72f
parent60d97e7e6a2e8cb984964a707e7eb5fe7e8b811e (diff)
downloadtelepathy-logger-b155a3dd4bc046e88ee6b99b254669b3dad9caa5.tar.gz
text-channel: Put original-message-sent/received into original-timestamp
Also, s/guint/guint64 in old code.
-rw-r--r--telepathy-logger/text-channel.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/telepathy-logger/text-channel.c b/telepathy-logger/text-channel.c
index 899d3af..cb6efb7 100644
--- a/telepathy-logger/text-channel.c
+++ b/telepathy-logger/text-channel.c
@@ -307,7 +307,7 @@ get_message_pending_id (TpMessage *m)
}
-static guint
+static guint64
get_message_timestamp (TpMessage *message)
{
GDateTime *datetime = g_date_time_new_now_utc ();
@@ -332,6 +332,22 @@ get_message_timestamp (TpMessage *message)
}
+static guint64
+get_original_message_timestamp (TpMessage *message)
+{
+ gint64 timestamp;
+
+ timestamp = tp_asv_get_int64 (tp_message_peek (message, 0),
+ "original-message-sent", NULL);
+
+ if (timestamp == 0)
+ timestamp = tp_asv_get_int64 (tp_message_peek (message, 0),
+ "original-message-received", NULL);
+
+ return timestamp;
+}
+
+
static void
tpl_text_channel_store_message (TplTextChannel *self,
TpMessage *message,
@@ -403,6 +419,7 @@ tpl_text_channel_store_message (TplTextChannel *self,
"timestamp", timestamp,
"message-token", tp_message_get_token (message),
"supersedes-token", tp_message_get_supersedes (message),
+ "original-timestamp", get_original_message_timestamp (message),
/* TplTextEvent */
"message-type", type,
"message", text,