summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Laban <david.laban@collabora.co.uk>2011-05-24 18:00:19 -0400
committerDavid Laban <david.laban@collabora.co.uk>2011-05-24 18:00:19 -0400
commit35af37418960b03313c9fd4464d402ea025e56a4 (patch)
treed19e2b4e4659eb9f05e97cccd439e57f4bd98d51
parent926c91aa8545460e04a4726762f93bb4a85451aa (diff)
downloadtelepathy-logger-35af37418960b03313c9fd4464d402ea025e56a4.tar.gz
text-event: add original-timestamp property
-rw-r--r--telepathy-logger/text-event.c31
-rw-r--r--telepathy-logger/text-event.h1
2 files changed, 32 insertions, 0 deletions
diff --git a/telepathy-logger/text-event.c b/telepathy-logger/text-event.c
index 0047bf5..0f3edea 100644
--- a/telepathy-logger/text-event.c
+++ b/telepathy-logger/text-event.c
@@ -52,6 +52,7 @@ G_DEFINE_TYPE (TplTextEvent, tpl_text_event, TPL_TYPE_EVENT)
struct _TplTextEventPriv
{
TpChannelTextMessageType message_type;
+ guint64 original_timestamp;
gchar *message;
gchar *token;
gchar *supersedes_token;
@@ -63,6 +64,7 @@ struct _TplTextEventPriv
enum
{
PROP_MESSAGE_TYPE = 1,
+ PROP_ORIGINAL_TIMESTAMP,
PROP_MESSAGE,
PROP_TOKEN,
PROP_SUPERSEDES
@@ -120,6 +122,9 @@ tpl_text_event_get_property (GObject *object,
case PROP_MESSAGE_TYPE:
g_value_set_uint (value, priv->message_type);
break;
+ case PROP_ORIGINAL_TIMESTAMP:
+ g_value_set_uint64 (value, priv->original_timestamp);
+ break;
case PROP_MESSAGE:
g_value_set_string (value, priv->message);
break;
@@ -148,6 +153,9 @@ tpl_text_event_set_property (GObject *object,
case PROP_MESSAGE_TYPE:
priv->message_type = g_value_get_uint (value);
break;
+ case PROP_ORIGINAL_TIMESTAMP:
+ priv->original_timestamp = g_value_get_uint64 (value);
+ break;
case PROP_MESSAGE:
g_assert (priv->message == NULL);
priv->message = g_value_dup_string (value);
@@ -199,6 +207,14 @@ static void tpl_text_event_class_init (TplTextEventClass *klass)
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
g_object_class_install_property (object_class, PROP_MESSAGE_TYPE, param_spec);
+ param_spec = g_param_spec_uint64 ("original-timestamp",
+ "Original Message Timestamp",
+ "original-message-{sent,received} if applicable, or 0.",
+ 0, G_MAXUINT64, 0,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (object_class, PROP_ORIGINAL_TIMESTAMP,
+ param_spec);
+
param_spec = g_param_spec_string ("message",
"Message",
"The text message of the log event",
@@ -374,3 +390,18 @@ tpl_text_event_get_message_type (TplTextEvent *self)
}
+/**
+ * tpl_text_event_get_original_timestamp
+ * @self: a #TplTextEvent
+ *
+ * Returns: the same value as the #TplTextEvent:original-timestamp property
+ */
+guint64
+tpl_text_event_get_original_timestamp (TplTextEvent *self)
+{
+ g_return_val_if_fail (TPL_IS_TEXT_EVENT (self), 0);
+
+ return self->priv->original_timestamp;
+}
+
+
diff --git a/telepathy-logger/text-event.h b/telepathy-logger/text-event.h
index 160c450..d77fcda 100644
--- a/telepathy-logger/text-event.h
+++ b/telepathy-logger/text-event.h
@@ -40,6 +40,7 @@ typedef struct _TplTextEventPriv TplTextEventPriv;
GType tpl_text_event_get_type (void);
TpChannelTextMessageType tpl_text_event_get_message_type (TplTextEvent *self);
+guint64 tpl_text_event_get_original_timestamp (TplTextEvent *self);
const gchar *tpl_text_event_get_message (TplTextEvent *self);
const gchar *tpl_text_event_get_message_token (TplTextEvent *self);