/pidgin/main: dc5d15df3a88: PurpleMessage: add author's alias

Tomasz Wasilczyk <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: dc5d15df3a88eaa4d5f259d4eddb3a8f268e674b
Author:	 Tomasz Wasilczyk <[email protected]>
Date:	 2014-05-23 00:11 +0200
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/dc5d15df3a88

Description:

PurpleMessage: add author's alias

diffstat:

 libpurple/message.c |  30 ++++++++++++++++++++++++++++++
 libpurple/message.h |   6 ++++++
 2 files changed, 36 insertions(+), 0 deletions(-)

diffs (98 lines):

diff --git a/libpurple/message.c b/libpurple/message.c
--- a/libpurple/message.c
+++ b/libpurple/message.c
@@ -33,6 +33,7 @@
 typedef struct {
 	guint id;
 	gchar *who;
+	gchar *alias;
 	gchar *contents;
 	guint64 msgtime;
 	PurpleMessageFlags flags;
@@ -43,6 +44,7 @@ enum
 	PROP_0,
 	PROP_ID,
 	PROP_WHO,
+	PROP_ALIAS,
 	PROP_CONTENTS,
 	PROP_TIME,
 	PROP_FLAGS,
@@ -105,6 +107,22 @@ purple_message_get_who(PurpleMessage *ms
 }
 
 void
+purple_message_set_alias(PurpleMessage *msg, const gchar *alias)
+{
+	g_object_set(msg, "alias", alias, NULL);
+}
+
+const gchar *
+purple_message_get_alias(PurpleMessage *msg)
+{
+	PurpleMessagePrivate *priv = PURPLE_MESSAGE_GET_PRIVATE(msg);
+
+	g_return_val_if_fail(priv != NULL, NULL);
+
+	return priv->alias;
+}
+
+void
 purple_message_set_contents(PurpleMessage *msg, const gchar *cont)
 {
 	g_object_set(msg, "contents", cont, NULL);
@@ -184,6 +202,7 @@ purple_message_finalize(GObject *obj)
 	PurpleMessagePrivate *priv = PURPLE_MESSAGE_GET_PRIVATE(message);
 
 	g_free(priv->who);
+	g_free(priv->alias);
 	g_free(priv->contents);
 
 	G_OBJECT_CLASS(parent_class)->finalize(obj);
@@ -203,6 +222,9 @@ purple_message_get_property(GObject *obj
 		case PROP_WHO:
 			g_value_set_string(value, priv->who);
 			break;
+		case PROP_ALIAS:
+			g_value_set_string(value, priv->alias);
+			break;
 		case PROP_CONTENTS:
 			g_value_set_string(value, priv->contents);
 			break;
@@ -230,6 +252,10 @@ purple_message_set_property(GObject *obj
 			g_free(priv->who);
 			priv->who = g_strdup(g_value_get_string(value));
 			break;
+		case PROP_ALIAS:
+			g_free(priv->alias);
+			priv->alias = g_strdup(g_value_get_string(value));
+			break;
 		case PROP_CONTENTS:
 			g_free(priv->contents);
 			priv->contents = g_strdup(g_value_get_string(value));
@@ -267,6 +293,10 @@ purple_message_class_init(PurpleMessageC
 		"incoming messages) or the recipient (for outgoing). "
 		"Unused for outgoing chat messages.",
 		NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+	properties[PROP_ALIAS] = g_param_spec_string("alias",
+		"Author's alias", "The alias of the person, who sent the "
+		"message. For outgoing messages, it's your alias.",
+		NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 	properties[PROP_CONTENTS] = g_param_spec_string("contents",
 		"Contents", "The message text",
 		NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
diff --git a/libpurple/message.h b/libpurple/message.h
--- a/libpurple/message.h
+++ b/libpurple/message.h
@@ -96,6 +96,12 @@ const gchar *
 purple_message_get_who(PurpleMessage *msg);
 
 void
+purple_message_set_alias(PurpleMessage *msg, const gchar *alias);
+
+const gchar *
+purple_message_get_alias(PurpleMessage *msg);
+
+void
 purple_message_set_contents(PurpleMessage *msg, const gchar *cont);
 
 const gchar *
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.