libpurple/buddylist.h

changeset 39678
278f810cac28
parent 39667
87a02616f3c5
parent 39676
1e8394d47205
child 39701
338202356e44
--- a/libpurple/buddylist.h	Mon Jul 15 16:48:29 2019 -0400
+++ b/libpurple/buddylist.h	Tue Jul 16 03:34:30 2019 +0000
@@ -139,25 +139,27 @@
 struct _PurpleBlistUiOps
 {
 	void (*new_list)(PurpleBuddyList *list);
-	void (*new_node)(PurpleBlistNode *node);
+	void (*new_node)(PurpleBuddyList *list, PurpleBlistNode *node);
 	void (*show)(PurpleBuddyList *list);
 	void (*update)(PurpleBuddyList *list, PurpleBlistNode *node);
 	void (*remove)(PurpleBuddyList *list, PurpleBlistNode *node);
 	void (*destroy)(PurpleBuddyList *list);
 	void (*set_visible)(PurpleBuddyList *list, gboolean show);
 
-	void (*request_add_buddy)(PurpleAccount *account, const char *username,
-							  const char *group, const char *alias);
-
-	void (*request_add_chat)(PurpleAccount *account, PurpleGroup *group,
-							 const char *alias, const char *name);
+	void (*request_add_buddy)(PurpleBuddyList *list, PurpleAccount *account,
+	                          const char *username, const char *group,
+	                          const char *alias);
 
-	void (*request_add_group)(void);
+	void (*request_add_chat)(PurpleBuddyList *list, PurpleAccount *account,
+	                         PurpleGroup *group, const char *alias,
+	                         const char *name);
 
-	void (*save_node)(PurpleBlistNode *node);
-	void (*remove_node)(PurpleBlistNode *node);
+	void (*request_add_group)(PurpleBuddyList *list);
 
-	void (*save_account)(PurpleAccount *account);
+	void (*save_node)(PurpleBuddyList *list, PurpleBlistNode *node);
+	void (*remove_node)(PurpleBuddyList *list, PurpleBlistNode *node);
+
+	void (*save_account)(PurpleBuddyList *list, PurpleAccount *account);
 
 	/*< private >*/
 	void (*_purple_reserved1)(void);
@@ -523,6 +525,64 @@
 void purple_blist_request_add_group(void);
 
 /**************************************************************************/
+/* Buddy list UI Functions                                                */
+/**************************************************************************/
+
+/**
+ * purple_blist_new_node:
+ * @list: The list that contains the node.
+ * @node: The node to initialize.
+ *
+ * Sets UI-specific data on a node.
+ *
+ * This should usually only be run when initializing a @PurpleBlistNode
+ * instance.
+ *
+ * Since: 3.0.0
+ */
+void purple_blist_new_node(PurpleBuddyList *list, PurpleBlistNode *node);
+
+/**
+ * purple_blist_update_node:
+ * @list: The buddy list to modify.
+ * @node: The node to update.
+ *
+ * Update a node in the buddy list in the UI.
+ *
+ * Since: 3.0.0
+ */
+void purple_blist_update_node(PurpleBuddyList *list, PurpleBlistNode *node);
+
+/**
+ * purple_blist_save_node:
+ * @list: The list that contains the node.
+ * @node: The node which has been modified.
+ *
+ * This is called when a node has been modified and should be saved by the UI.
+ *
+ * If the UI does not implement a more specific method, it will be set to save
+ * data to <filename>blist.xml</filename> like in previous libpurple versions.
+ *
+ * Since: 3.0.0
+ */
+void purple_blist_save_node(PurpleBuddyList *list, PurpleBlistNode *node);
+
+/**
+ * purple_blist_save_account:
+ * @list: The list that contains the account.
+ * @account: The account whose data to save. If %NULL, save all data for all
+ *           accounts.
+ *
+ * Save all the data for an account.
+ *
+ * If the UI does not set a more specific method, it will be set to save data
+ * to <filename>blist.xml</filename> like in previous libpurple versions.
+ *
+ * Since: 3.0.0
+ */
+void purple_blist_save_account(PurpleBuddyList *list, PurpleAccount *account);
+
+/**************************************************************************/
 /* UI Registration Functions                                              */
 /**************************************************************************/
 

mercurial