Mercurial > pidgin.yaz
diff libpurple/conversation.c @ 32698:c39583aad67c
Hide struct _PurpleConvChatBuddy.
Add accessor methods:
* purple_conv_chat_cb_get_alias
* purple_conv_chat_cb_get_flags
* purple_conv_chat_cb_is_buddy
* purple_conv_chat_cb_get_ui_data
* purple_conv_chat_cb_set_ui_data
author | andrew.victor@mxit.com |
---|---|
date | Sat, 01 Oct 2011 13:03:38 +0000 |
parents | fe20ff3d4e7a |
children | 588f9b808a31 |
line wrap: on
line diff
--- a/libpurple/conversation.c Sat Oct 01 11:35:15 2011 +0000 +++ b/libpurple/conversation.c Sat Oct 01 13:03:38 2011 +0000 @@ -70,6 +70,47 @@ PurpleBuddyIcon *icon; /**< The buddy icon. */ }; +/** + * Data for "Chat Buddies" + */ +struct _PurpleConvChatBuddy +{ + /** The chat participant's name in the chat. */ + char *name; + + /** The chat participant's alias, if known; @a NULL otherwise. */ + char *alias; + + /** + * A string by which this buddy will be sorted, or @c NULL if the + * buddy should be sorted by its @c name. (This is currently always + * @c NULL. + */ + char *alias_key; + + /** + * @a TRUE if this chat participant is on the buddy list; + * @a FALSE otherwise. + */ + gboolean buddy; + + /** + * A bitwise OR of flags for this participant, such as whether they + * are a channel operator. + */ + PurpleConvChatBuddyFlags flags; + + /** + * A hash table of attributes about the user, such as real name, + * user\@host, etc. + */ + GHashTable *attributes; + + /** The UI can put whatever it wants here. */ + gpointer ui_data; +}; + + static GList *conversations = NULL; static GList *ims = NULL; static GList *chats = NULL; @@ -2219,14 +2260,51 @@ g_free(cb); } +void purple_conv_chat_cb_set_ui_data(PurpleConvChatBuddy *cb, gpointer ui_data) +{ + g_return_if_fail(cb != NULL); + + cb->ui_data = ui_data; +} + +gpointer purple_conv_chat_cb_get_ui_data(const PurpleConvChatBuddy *cb) +{ + g_return_val_if_fail(cb != NULL, NULL); + + return cb->ui_data; +} + const char * -purple_conv_chat_cb_get_name(PurpleConvChatBuddy *cb) +purple_conv_chat_cb_get_alias(const PurpleConvChatBuddy *cb) +{ + g_return_val_if_fail(cb != NULL, NULL); + + return cb->alias; +} + +const char * +purple_conv_chat_cb_get_name(const PurpleConvChatBuddy *cb) { g_return_val_if_fail(cb != NULL, NULL); return cb->name; } +PurpleConvChatBuddyFlags +purple_conv_chat_cb_get_flags(const PurpleConvChatBuddy *cb) +{ + g_return_val_if_fail(cb != NULL, PURPLE_CBFLAGS_NONE); + + return cb->flags; +} + +gboolean purple_conv_chat_cb_is_buddy(const PurpleConvChatBuddy *cb) +{ + g_return_val_if_fail(cb != NULL, FALSE); + + return cb->buddy; +} + const char * purple_conv_chat_cb_get_attribute(PurpleConvChatBuddy *cb, const char *key) {