diff libpurple/conversation.h @ 32165:47f7b8ca6149

conversation: O(1) purple_conv_chat_cb_find I also deprecated what seems like a useless function. The ui_data is to implement constant-time lookups for the room list in Pidgin.
author Paul Aurich <paul@darkrain42.org>
date Mon, 20 Jun 2011 05:24:30 +0000
parents d72d728226dc
children 4dabe4bdfb29
line wrap: on
line diff
--- a/libpurple/conversation.h	Mon Jun 20 05:11:53 2011 +0000
+++ b/libpurple/conversation.h	Mon Jun 20 05:24:30 2011 +0000
@@ -271,7 +271,9 @@
 {
 	PurpleConversation *conv;          /**< The parent conversation.      */
 
-	GList *in_room;                  /**< The users in the room.        */
+	GList *in_room;                  /**< The users in the room.
+	                                  *   @deprecated Will be removed in 3.0.0
+									  */
 	GList *ignored;                  /**< Ignored users.                */
 	char  *who;                      /**< The person who set the topic. */
 	char  *topic;                    /**< The topic.                    */
@@ -279,6 +281,19 @@
 	char *nick;                      /**< Your nick in this chat.       */
 
 	gboolean left;                   /**< We left the chat and kept the window open */
+	GHashTable *users;               /**< Hash table of the users in the room.
+	                                  *   @since 2.9.0
+	                                  */
+	GHashFunc user_hash_func;        /**< Function used to hash entries into
+	                                  *   the users hash. Defaults to a
+	                                  *   case-insensitive collation function.
+	                                  *   @since 2.9.0
+	                                  */
+	GEqualFunc user_eq_func;         /**< Function used for equality in the
+	                                  *   users hash.  Defaults to a wrapper
+	                                  *   around purple_utf8_strcasecmp.
+	                                  *   @since 2.9.0
+	                                  */
 };
 
 /**
@@ -304,6 +319,7 @@
 	GHashTable *attributes;          /**< A hash table of attributes about the user, such as
                                     *   real name, user@host, etc.
                                     */
+	gpointer ui_data;                /** < The UI can put whatever it wants here. */
 };
 
 /**
@@ -1065,6 +1081,8 @@
  * @param users The list of users.
  *
  * @return The list passed.
+ *
+ * @deprecated This function will be removed in 3.0.0.  You shouldn't be using it anyway.
  */
 GList *purple_conv_chat_set_users(PurpleConvChat *chat, GList *users);