pidgin: 0f1724b8: Hide struct _PurpleConvMessage.
andrew.victor at mxit.com
andrew.victor at mxit.com
Fri Oct 21 18:05:42 EDT 2011
----------------------------------------------------------------------
Revision: 0f1724b8c6824cf136b85e70960bb00cf17aaa75
Parent: 03317f7205880888606d2fbf6cc7f5d504983dfb
Author: andrew.victor at mxit.com
Date: 10/21/11 16:39:29
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/0f1724b8c6824cf136b85e70960bb00cf17aaa75
Changelog:
Hide struct _PurpleConvMessage.
Changes against parent 03317f7205880888606d2fbf6cc7f5d504983dfb
patched ChangeLog.API
patched libpurple/conversation.c
patched libpurple/conversation.h
patched pidgin/gtkconv.c
-------------- next part --------------
============================================================
--- libpurple/conversation.c 6a8a3d9dc80515dc9fc10d6c3aa83a8033c28f6e
+++ libpurple/conversation.c eaa5ad0b59ef97c83609b8ed85946b979c753719
@@ -146,7 +146,20 @@ struct _PurpleConversation
GList *message_history; /**< Message history, as a GList of PurpleConvMessage's */
};
+/**
+ * Description of a conversation message
+ */
+struct _PurpleConvMessage
+{
+ char *who;
+ char *what;
+ PurpleMessageFlags flags;
+ time_t when;
+ PurpleConversation *conv;
+ char *alias;
+};
+
static GList *conversations = NULL;
static GList *ims = NULL;
static GList *chats = NULL;
@@ -2438,30 +2451,42 @@ GList *purple_conversation_get_message_h
return conv->message_history;
}
-const char *purple_conversation_message_get_sender(PurpleConvMessage *msg)
+const char *purple_conversation_message_get_sender(const PurpleConvMessage *msg)
{
g_return_val_if_fail(msg, NULL);
return msg->who;
}
-const char *purple_conversation_message_get_message(PurpleConvMessage *msg)
+const char *purple_conversation_message_get_message(const PurpleConvMessage *msg)
{
g_return_val_if_fail(msg, NULL);
return msg->what;
}
-PurpleMessageFlags purple_conversation_message_get_flags(PurpleConvMessage *msg)
+PurpleMessageFlags purple_conversation_message_get_flags(const PurpleConvMessage *msg)
{
g_return_val_if_fail(msg, 0);
return msg->flags;
}
-time_t purple_conversation_message_get_timestamp(PurpleConvMessage *msg)
+time_t purple_conversation_message_get_timestamp(const PurpleConvMessage *msg)
{
g_return_val_if_fail(msg, 0);
return msg->when;
}
+const char *purple_conversation_message_get_alias(const PurpleConvMessage *msg)
+{
+ g_return_val_if_fail(msg, NULL);
+ return msg->alias;
+}
+
+PurpleConversation *purple_conversation_message_get_conv(const PurpleConvMessage *msg)
+{
+ g_return_val_if_fail(msg, NULL);
+ return msg->conv;
+}
+
void purple_conversation_set_ui_data(PurpleConversation *conv, gpointer ui_data)
{
g_return_if_fail(conv != NULL);
============================================================
--- libpurple/conversation.h e43149da8fe73a300c42d6e8fbebca069476694a
+++ libpurple/conversation.h e23cdc10184064bf2ef62564b3bbc1e1cccbf41e
@@ -249,19 +249,6 @@ struct _PurpleConversationUiOps
void (*_purple_reserved4)(void);
};
-/**
- * Description of a conversation message
- */
-struct _PurpleConvMessage
-{
- char *who;
- char *what;
- PurpleMessageFlags flags;
- time_t when;
- PurpleConversation *conv;
- char *alias;
-};
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -660,7 +647,7 @@ void purple_conversation_clear_message_h
*
* @return The name of the sender of the message
*/
-const char *purple_conversation_message_get_sender(PurpleConvMessage *msg);
+const char *purple_conversation_message_get_sender(const PurpleConvMessage *msg);
/**
* Get the message from a PurpleConvMessage
@@ -669,7 +656,7 @@ const char *purple_conversation_message_
*
* @return The name of the sender of the message
*/
-const char *purple_conversation_message_get_message(PurpleConvMessage *msg);
+const char *purple_conversation_message_get_message(const PurpleConvMessage *msg);
/**
* Get the message-flags of a PurpleConvMessage
@@ -678,7 +665,7 @@ const char *purple_conversation_message_
*
* @return The message flags
*/
-PurpleMessageFlags purple_conversation_message_get_flags(PurpleConvMessage *msg);
+PurpleMessageFlags purple_conversation_message_get_flags(const PurpleConvMessage *msg);
/**
* Get the timestamp of a PurpleConvMessage
@@ -687,9 +674,27 @@ PurpleMessageFlags purple_conversation_m
*
* @return The timestamp of the message
*/
-time_t purple_conversation_message_get_timestamp(PurpleConvMessage *msg);
+time_t purple_conversation_message_get_timestamp(const PurpleConvMessage *msg);
/**
+ * Get the alias from a PurpleConvMessage
+ *
+ * @param msg A PurpleConvMessage
+ *
+ * @return The alias of the sender of the message
+ */
+const char *purple_conversation_message_get_alias(const PurpleConvMessage *msg);
+
+/**
+ * Get the conversation associated with the PurpleConvMessage
+ *
+ * @param msg A PurpleConvMessage
+ *
+ * @return The conversation
+ */
+PurpleConversation *purple_conversation_message_get_conv(const PurpleConvMessage *msg);
+
+/**
* Set the UI data associated with this conversation.
*
* @param conv The conversation.
============================================================
--- pidgin/gtkconv.c 8cfcff312ad1d475e84398663934fb6298ce4599
+++ pidgin/gtkconv.c 26eca2029be0bfaccd5d6724cb4d63f04d440583
@@ -8081,7 +8081,7 @@ message_compare(gconstpointer p1, gconst
message_compare(gconstpointer p1, gconstpointer p2)
{
const PurpleConvMessage *m1 = p1, *m2 = p2;
- return (m1->when > m2->when);
+ return (purple_conversation_message_get_timestamp(m1) > purple_conversation_message_get_timestamp(m2));
}
/* Adds some message history to the gtkconv. This happens in a idle-callback. */
@@ -8097,11 +8097,17 @@ add_message_history_to_gtkconv(gpointer
gtkconv->attach.timer = 0;
while (gtkconv->attach.current && count < 100) { /* XXX: 100 is a random value here */
PurpleConvMessage *msg = gtkconv->attach.current->data;
- if (!im && when && when < msg->when) {
+ if (!im && when && when < purple_conversation_message_get_timestamp(msg)) {
gtk_webview_append_html(GTK_WEBVIEW(gtkconv->webview), "<BR><HR>");
g_object_set_data(G_OBJECT(gtkconv->entry), "attach-start-time", NULL);
}
- pidgin_conv_write_conv(msg->conv, msg->who, msg->alias, msg->what, msg->flags, msg->when);
+ pidgin_conv_write_conv(
+ purple_conversation_message_get_conv(msg),
+ purple_conversation_message_get_sender(msg),
+ purple_conversation_message_get_alias(msg),
+ purple_conversation_message_get_message(msg),
+ purple_conversation_message_get_flags(msg),
+ purple_conversation_message_get_timestamp(msg));
if (im) {
gtkconv->attach.current = g_list_delete_link(gtkconv->attach.current, gtkconv->attach.current);
} else {
@@ -8124,14 +8130,20 @@ add_message_history_to_gtkconv(gpointer
GList *history = purple_conversation_get_message_history(conv);
for (; history; history = history->next) {
PurpleConvMessage *msg = history->data;
- if (msg->when > when)
+ if (purple_conversation_message_get_timestamp(msg) > when)
msgs = g_list_prepend(msgs, msg);
}
}
msgs = g_list_sort(msgs, message_compare);
for (; msgs; msgs = g_list_delete_link(msgs, msgs)) {
PurpleConvMessage *msg = msgs->data;
- pidgin_conv_write_conv(msg->conv, msg->who, msg->alias, msg->what, msg->flags, msg->when);
+ pidgin_conv_write_conv(
+ purple_conversation_message_get_conv(msg),
+ purple_conversation_message_get_sender(msg),
+ purple_conversation_message_get_alias(msg),
+ purple_conversation_message_get_message(msg),
+ purple_conversation_message_get_flags(msg),
+ purple_conversation_message_get_timestamp(msg));
}
gtk_webview_append_html(GTK_WEBVIEW(gtkconv->webview), "<BR><HR>");
g_object_set_data(G_OBJECT(gtkconv->entry), "attach-start-time", NULL);
@@ -8209,7 +8221,7 @@ gboolean pidgin_conv_attach_to_conversat
g_return_val_if_reached(TRUE);
}
g_object_set_data(G_OBJECT(gtkconv->entry), "attach-start-time",
- GINT_TO_POINTER(((PurpleConvMessage*)(list->data))->when));
+ GINT_TO_POINTER(purple_conversation_message_get_timestamp((PurpleConvMessage*)(list->data))));
gtkconv->attach.timer = g_idle_add(add_message_history_to_gtkconv, gtkconv);
} else {
purple_signal_emit(pidgin_conversations_get_handle(),
============================================================
--- ChangeLog.API 61bcac61d720632bf1d8e12a569c748335d7994d
+++ ChangeLog.API 95970f53f1d668b17ca43794cd1e5aa386bca350
@@ -16,6 +16,8 @@ version 3.0.0 (??/??/????):
* purple_connection_update_last_received
* purple_conversation_get_ui_data
* purple_conversation_set_ui_data
+ * purple_conversation_message_get_alias
+ * purple_conversation_message_get_conv
* purple_notify_searchresult_column_is_visible
* purple_notify_searchresult_column_set_visible
* purple_notify_user_info_prepend_pair_plaintext
@@ -216,6 +218,7 @@ version 3.0.0 (??/??/????):
* struct _PurpleConvChat
* struct _PurpleConvChatBuddy
* struct _PurpleConvIm
+ * struct _PurpleConvMessage
* struct _PurpleMenuAction
* struct _PurplePounce
* struct _PurpleProxyInfo
More information about the Commits
mailing list