--- a/libpurple/message.c Thu May 22 18:33:12 2014 +0200
+++ b/libpurple/message.c Thu May 22 19:09:10 2014 +0200
@@ -33,6 +33,7 @@
PurpleMessageFlags flags;
@@ -42,6 +43,7 @@
@@ -63,6 +65,7 @@
+ "time", (guint64)time(NULL), @@ -118,6 +121,26 @@
return (cont == NULL || cont[0] == '\0');
+purple_message_set_time(PurpleMessage *msg, guint64 msgtime) + PurpleMessagePrivate *priv = PURPLE_MESSAGE_GET_PRIVATE(msg); + g_return_if_fail(priv != NULL); + priv->msgtime = msgtime; +purple_message_get_time(PurpleMessage *msg) + PurpleMessagePrivate *priv = PURPLE_MESSAGE_GET_PRIVATE(msg); + g_return_val_if_fail(priv != NULL, 0); purple_message_get_flags(PurpleMessage *msg)
@@ -174,6 +197,9 @@
g_value_set_string(value, priv->contents);
+ g_value_set_uint64(value, priv->msgtime); g_value_set_uint(value, priv->flags);
@@ -199,6 +225,9 @@
priv->contents = g_strdup(g_value_get_string(value));
+ priv->msgtime = g_value_get_uint64(value); priv->flags = g_value_get_uint(value);
@@ -232,6 +261,9 @@
properties[PROP_CONTENTS] = g_param_spec_string("contents",
"Contents", "The message text",
NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ properties[PROP_TIME] = g_param_spec_uint64("time", + "Time", "Message time", + 0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); /* XXX: it should be spec_enum, but PurpleMessageFlags isn't
properties[PROP_FLAGS] = g_param_spec_uint("flags",
--- a/libpurple/message.h Thu May 22 18:33:12 2014 +0200
+++ b/libpurple/message.h Thu May 22 19:09:10 2014 +0200
@@ -104,6 +104,12 @@
purple_message_is_empty(PurpleMessage *msg);
+purple_message_set_time(PurpleMessage *msg, guint64 msgtime); +purple_message_get_time(PurpleMessage *msg); purple_message_get_flags(PurpleMessage *msg);