libpurple/buddylist.h

Mon, 08 Jul 2013 23:44:38 +0530

author
Ankit Vani <a@nevitus.org>
date
Mon, 08 Jul 2013 23:44:38 +0530
branch
soc.2013.gobjectification
changeset 34722
32e636146d3f
parent 34720
456380cee8d5
child 34725
5acc823db81d
permissions
-rw-r--r--

Added PurpleCountingNode to blistnodes.[ch]. PurpleContact and PurpleGroup inherit PurpleCountingNode.
* Renamed blistnode.[ch] to blistnodes.[ch]
* Added purple_counting_node_set_ API to set counts
* Added purple_counting_node_change_ API to change counts by a given value
* Added purple_counting_node_get_ API to get counts
* Removed purple_contact_get_contact_size()
* Removed purple_blist_get_group_size(), use purple_counting_node_get_[current,total]_size() instead
* Removed purple_blist_get_online_count()

5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
34706
02cb08146888 Renamed blist.[ch] to buddylist.[ch]
Ankit Vani <a@nevitus.org>
parents: 34702
diff changeset
2 * @file buddylist.h Buddy List API
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup core
20889
3d0ef192f98c All the links to libpurple signal pages were in the comment containing the
Will Thompson <resiak@pidgin.im>
parents: 20620
diff changeset
4 * @see @ref blist-signals
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
5 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
6
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
7 /* purple
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
9 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8012
diff changeset
10 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 8012
diff changeset
11 * source distribution.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
12 *
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * This program is free software; you can redistribute it and/or modify
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * it under the terms of the GNU General Public License as published by
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * the Free Software Foundation; either version 2 of the License, or
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * (at your option) any later version.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 *
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * This program is distributed in the hope that it will be useful,
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * GNU General Public License for more details.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 *
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * You should have received a copy of the GNU General Public License
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18414
diff changeset
25 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 */
34710
6182323fbb0c Renamed gg's buddylist.[ch] to blist.[ch]
Ankit Vani <a@nevitus.org>
parents: 34709
diff changeset
27 #ifndef _PURPLE_BUDDY_LIST_H_
6182323fbb0c Renamed gg's buddylist.[ch] to blist.[ch]
Ankit Vani <a@nevitus.org>
parents: 34709
diff changeset
28 #define _PURPLE_BUDDY_LIST_H_
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 /* I can't believe I let ChipX86 inspire me to write good code. -Sean */
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
34707
d433bf40792a Added blistnode.[ch] and blistnodetypes.[ch]
Ankit Vani <a@nevitus.org>
parents: 34706
diff changeset
32 #include "blistnodetypes.h"
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33
34690
bac0fdf2cf1b Begun GObjectification of buddy list. Hid private data and added class structs.
Ankit Vani <a@nevitus.org>
parents: 33888
diff changeset
34 /** @copydoc _PurpleBuddyList */
bac0fdf2cf1b Begun GObjectification of buddy list. Hid private data and added class structs.
Ankit Vani <a@nevitus.org>
parents: 33888
diff changeset
35 typedef struct _PurpleBuddyList PurpleBuddyList;
34709
3484aac07f02 Replaced PurpleBlistUiOps with PurpleBListUiOps for uniform naming
Ankit Vani <a@nevitus.org>
parents: 34707
diff changeset
36 /** @copydoc _PurpleBListUiOps */
3484aac07f02 Replaced PurpleBlistUiOps with PurpleBListUiOps for uniform naming
Ankit Vani <a@nevitus.org>
parents: 34707
diff changeset
37 typedef struct _PurpleBListUiOps PurpleBListUiOps;
24968
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
38
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39 /**************************************************************************/
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40 /* Data Structures */
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 /**************************************************************************/
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42
34707
d433bf40792a Added blistnode.[ch] and blistnodetypes.[ch]
Ankit Vani <a@nevitus.org>
parents: 34706
diff changeset
43 /** TODO GBoxed
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 * The Buddy List
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
46 struct _PurpleBuddyList {
34707
d433bf40792a Added blistnode.[ch] and blistnodetypes.[ch]
Ankit Vani <a@nevitus.org>
parents: 34706
diff changeset
47 PurpleBListNode *root; /**< The first node in the buddy list */
d433bf40792a Added blistnode.[ch] and blistnodetypes.[ch]
Ankit Vani <a@nevitus.org>
parents: 34706
diff changeset
48 GHashTable *buddies; /**< Every buddy in this list */
d433bf40792a Added blistnode.[ch] and blistnodetypes.[ch]
Ankit Vani <a@nevitus.org>
parents: 34706
diff changeset
49 void *ui_data; /**< UI-specific data. */
34690
bac0fdf2cf1b Begun GObjectification of buddy list. Hid private data and added class structs.
Ankit Vani <a@nevitus.org>
parents: 33888
diff changeset
50 };
bac0fdf2cf1b Begun GObjectification of buddy list. Hid private data and added class structs.
Ankit Vani <a@nevitus.org>
parents: 33888
diff changeset
51
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
52 /**
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
53 * Buddy list UI operations.
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
54 *
34709
3484aac07f02 Replaced PurpleBlistUiOps with PurpleBListUiOps for uniform naming
Ankit Vani <a@nevitus.org>
parents: 34707
diff changeset
55 * Any UI representing a buddy list must assign a filled-out PurpleBListUiOps
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
56 * structure to the buddy list core.
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
57 */
34709
3484aac07f02 Replaced PurpleBlistUiOps with PurpleBListUiOps for uniform naming
Ankit Vani <a@nevitus.org>
parents: 34707
diff changeset
58 struct _PurpleBListUiOps
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
59 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
60 void (*new_list)(PurpleBuddyList *list); /**< Sets UI-specific data on a buddy list. */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
61 void (*new_node)(PurpleBListNode *node); /**< Sets UI-specific data on a node. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
62 void (*show)(PurpleBuddyList *list); /**< The core will call this when it's finished doing its core stuff */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
63 void (*update)(PurpleBuddyList *list,
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
64 PurpleBListNode *node); /**< This will update a node in the buddy list. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
65 void (*remove)(PurpleBuddyList *list,
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
66 PurpleBListNode *node); /**< This removes a node from the list */
26388
b692a63519cb Exposing the GHashTable seems crazy to me. See #8644.
Paul Aurich <darkrain42@pidgin.im>
parents: 25889
diff changeset
67 void (*destroy)(PurpleBuddyList *list); /**< When the list is destroyed, this is called to destroy the UI. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
68 void (*set_visible)(PurpleBuddyList *list,
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
69 gboolean show); /**< Hides or unhides the buddy list */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
70 void (*request_add_buddy)(PurpleAccount *account, const char *username,
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
71 const char *group, const char *alias);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
72 void (*request_add_chat)(PurpleAccount *account, PurpleGroup *group,
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
73 const char *alias, const char *name);
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
74 void (*request_add_group)(void);
16743
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
75
27969
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
76 /**
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
77 * This is called when a node has been modified and should be saved.
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
78 *
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
79 * Implementation of this UI op is OPTIONAL. If not implemented, it will
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
80 * be set to a fallback function that saves data to blist.xml like in
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
81 * previous libpurple versions.
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
82 *
28423
c12dbb691b04 Fix a bunch of doxygen warnings.
Paul Aurich <darkrain42@pidgin.im>
parents: 27969
diff changeset
83 * @param node The node which has been modified.
27969
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
84 */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
85 void (*save_node)(PurpleBListNode *node);
27969
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
86
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
87 /**
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
88 * Called when a node is about to be removed from the buddy list.
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
89 * The UI op should update the relevant data structures to remove this
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
90 * node (for example, removing a buddy from the group this node is in).
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
91 *
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
92 * Implementation of this UI op is OPTIONAL. If not implemented, it will
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
93 * be set to a fallback function that saves data to blist.xml like in
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
94 * previous libpurple versions.
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
95 *
28423
c12dbb691b04 Fix a bunch of doxygen warnings.
Paul Aurich <darkrain42@pidgin.im>
parents: 27969
diff changeset
96 * @param node The node which has been modified.
27969
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
97 */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
98 void (*remove_node)(PurpleBListNode *node);
27969
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
99
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
100 /**
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
101 * Called to save all the data for an account. If the UI sets this,
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
102 * the callback must save the privacy and buddy list data for an account.
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
103 * If the account is NULL, save the data for all accounts.
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
104 *
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
105 * Implementation of this UI op is OPTIONAL. If not implemented, it will
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
106 * be set to a fallback function that saves data to blist.xml like in
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
107 * previous libpurple versions.
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
108 *
28423
c12dbb691b04 Fix a bunch of doxygen warnings.
Paul Aurich <darkrain42@pidgin.im>
parents: 27969
diff changeset
109 * @param account The account whose data to save. If NULL, save all data
27969
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
110 * for all accounts.
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
111 */
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
112 void (*save_account)(PurpleAccount *account);
ed5bf3c3e328 Add blist ui-ops to overload the saving of data to blist.xml. Closes #9630.
Jan Kaluza <hanzz.k@gmail.com>
parents: 27739
diff changeset
113
16743
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
114 void (*_purple_reserved1)(void);
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
115 };
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
116
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32714
diff changeset
117 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
118
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
119 /**************************************************************************/
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
120 /** @name Buddy List API */
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
121 /**************************************************************************/
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122 /*@{*/
34720
456380cee8d5 GObjectified PurpleGroup.
Ankit Vani <a@nevitus.org>
parents: 34710
diff changeset
123 /* TODO move node methods to appropriate nodes */
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124 /**
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125 * Returns the main buddy list.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 *
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127 * @return The main buddy list.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
128 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
129 PurpleBuddyList *purple_get_blist(void);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131 /**
13485
0e26756a5fd5 [gaim-migrate @ 15860]
Ethan Blanton <elb@pidgin.im>
parents: 12919
diff changeset
132 * Returns the root node of the main buddy list.
0e26756a5fd5 [gaim-migrate @ 15860]
Ethan Blanton <elb@pidgin.im>
parents: 12919
diff changeset
133 *
0e26756a5fd5 [gaim-migrate @ 15860]
Ethan Blanton <elb@pidgin.im>
parents: 12919
diff changeset
134 * @return The root node.
0e26756a5fd5 [gaim-migrate @ 15860]
Ethan Blanton <elb@pidgin.im>
parents: 12919
diff changeset
135 */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
136 PurpleBListNode *purple_blist_get_root(void);
13485
0e26756a5fd5 [gaim-migrate @ 15860]
Ethan Blanton <elb@pidgin.im>
parents: 12919
diff changeset
137
0e26756a5fd5 [gaim-migrate @ 15860]
Ethan Blanton <elb@pidgin.im>
parents: 12919
diff changeset
138 /**
26994
2dbadd391e9c Me fail English? That's unpossible!
Paul Aurich <darkrain42@pidgin.im>
parents: 26990
diff changeset
139 * Returns a list of every buddy in the list. Use of this function is
2dbadd391e9c Me fail English? That's unpossible!
Paul Aurich <darkrain42@pidgin.im>
parents: 26990
diff changeset
140 * discouraged if you do not actually need every buddy in the list. Use
26990
385ad4d15ae5 Use more efficient purple_find_buddies in bonjour.
Paul Aurich <darkrain42@pidgin.im>
parents: 26831
diff changeset
141 * purple_find_buddies instead.
26388
b692a63519cb Exposing the GHashTable seems crazy to me. See #8644.
Paul Aurich <darkrain42@pidgin.im>
parents: 25889
diff changeset
142 *
26767
7489049a3bde Change purple_blist_get_buddies to return a list instead of the hash table.
Paul Aurich <darkrain42@pidgin.im>
parents: 26742
diff changeset
143 * @return A list of every buddy in the list. Caller is responsible for
7489049a3bde Change purple_blist_get_buddies to return a list instead of the hash table.
Paul Aurich <darkrain42@pidgin.im>
parents: 26742
diff changeset
144 * freeing the list.
25885
5b5e2ca316b2 Add @since 2.6.0 doxygen comments to some of our new functions, and
Mark Doliner <markdoliner@pidgin.im>
parents: 25119
diff changeset
145 *
26990
385ad4d15ae5 Use more efficient purple_find_buddies in bonjour.
Paul Aurich <darkrain42@pidgin.im>
parents: 26831
diff changeset
146 * @see purple_find_buddies
24953
af9819fe91cb Hide PurpleBlist
Gary Kramlich <grim@reaperworld.com>
parents: 24950
diff changeset
147 */
26767
7489049a3bde Change purple_blist_get_buddies to return a list instead of the hash table.
Paul Aurich <darkrain42@pidgin.im>
parents: 26742
diff changeset
148 GSList *purple_blist_get_buddies(void);
24953
af9819fe91cb Hide PurpleBlist
Gary Kramlich <grim@reaperworld.com>
parents: 24950
diff changeset
149
af9819fe91cb Hide PurpleBlist
Gary Kramlich <grim@reaperworld.com>
parents: 24950
diff changeset
150 /**
24968
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
151 * Returns the UI data for the list.
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
152 *
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
153 * @return The UI data for the list.
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
154 */
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
155 gpointer purple_blist_get_ui_data(void);
24968
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
156
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
157 /**
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
158 * Sets the UI data for the list.
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
159 *
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
160 * @param ui_data The UI data for the list.
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
161 */
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
162 void purple_blist_set_ui_data(gpointer ui_data);
24968
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
163
2d500d10773f Added purple_blist_get_ui_data, purple_blist_set_ui_data, purple_blist_node_get_ui_data, and purple_blist_node_set_ui_data functions.
Gary Kramlich <grim@reaperworld.com>
parents: 24957
diff changeset
164 /**
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
165 * Shows the buddy list, creating a new one if necessary.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
166 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
167 void purple_blist_show(void);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
168
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
169 /**
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
170 * Hides or unhides the buddy list.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
171 *
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
172 * @param show Whether or not to show the buddy list
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
173 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
174 void purple_blist_set_visible(gboolean show);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
175
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
176 /**
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
177 * Updates a buddy's status.
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
178 *
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
179 * This should only be called from within Purple.
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
180 *
10052
329dad7e2da3 [gaim-migrate @ 11013]
Dave West <kat@users.sourceforge.net>
parents: 10037
diff changeset
181 * @param buddy The buddy whose status has changed.
329dad7e2da3 [gaim-migrate @ 11013]
Dave West <kat@users.sourceforge.net>
parents: 10037
diff changeset
182 * @param old_status The status from which we are changing.
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
184 void purple_blist_update_buddy_status(PurpleBuddy *buddy, PurpleStatus *old_status);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
185
7950
1f1f2fe00cef [gaim-migrate @ 8624]
Evan Schoenberg <evands@pidgin.im>
parents: 7859
diff changeset
186 /**
23282
ceef4b18f664 Add the purple_blist_update_node_icon function and deprecate the
Etan Reisner <deryni@pidgin.im>
parents: 23063
diff changeset
187 * Updates a node's custom icon.
ceef4b18f664 Add the purple_blist_update_node_icon function and deprecate the
Etan Reisner <deryni@pidgin.im>
parents: 23063
diff changeset
188 *
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
189 * @param node The PurpleBListNode whose custom icon has changed.
23282
ceef4b18f664 Add the purple_blist_update_node_icon function and deprecate the
Etan Reisner <deryni@pidgin.im>
parents: 23063
diff changeset
190 */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
191 void purple_blist_update_node_icon(PurpleBListNode *node);
23282
ceef4b18f664 Add the purple_blist_update_node_icon function and deprecate the
Etan Reisner <deryni@pidgin.im>
parents: 23063
diff changeset
192
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
193 /**
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
194 * Renames a buddy in the buddy list.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
195 *
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196 * @param buddy The buddy whose name will be changed.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
197 * @param name The new name of the buddy.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
198 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
199 void purple_blist_rename_buddy(PurpleBuddy *buddy, const char *name);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
200
12319
42a0e8cecea3 [gaim-migrate @ 14623]
Richard Laager <rlaager@pidgin.im>
parents: 12286
diff changeset
201 /**
42a0e8cecea3 [gaim-migrate @ 14623]
Richard Laager <rlaager@pidgin.im>
parents: 12286
diff changeset
202 * Aliases a contact in the buddy list.
42a0e8cecea3 [gaim-migrate @ 14623]
Richard Laager <rlaager@pidgin.im>
parents: 12286
diff changeset
203 *
42a0e8cecea3 [gaim-migrate @ 14623]
Richard Laager <rlaager@pidgin.im>
parents: 12286
diff changeset
204 * @param contact The contact whose alias will be changed.
42a0e8cecea3 [gaim-migrate @ 14623]
Richard Laager <rlaager@pidgin.im>
parents: 12286
diff changeset
205 * @param alias The contact's alias.
42a0e8cecea3 [gaim-migrate @ 14623]
Richard Laager <rlaager@pidgin.im>
parents: 12286
diff changeset
206 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
207 void purple_blist_alias_contact(PurpleContact *contact, const char *alias);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
208
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
209 /**
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
210 * Aliases a buddy in the buddy list.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
211 *
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
212 * @param buddy The buddy whose alias will be changed.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
213 * @param alias The buddy's alias.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
214 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
215 void purple_blist_alias_buddy(PurpleBuddy *buddy, const char *alias);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
216
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
217 /**
6059
9934c862ca14 [gaim-migrate @ 6509]
John Silvestri <john.silvestri@gmail.com>
parents: 6058
diff changeset
218 * Sets the server-sent alias of a buddy in the buddy list.
13952
2bc729a80bd3 [gaim-migrate @ 16372]
Mark Doliner <markdoliner@pidgin.im>
parents: 13929
diff changeset
219 * PRPLs should call serv_got_alias() instead of this.
6058
0d5c66a5da5d [gaim-migrate @ 6508]
Mark Doliner <markdoliner@pidgin.im>
parents: 6036
diff changeset
220 *
0d5c66a5da5d [gaim-migrate @ 6508]
Mark Doliner <markdoliner@pidgin.im>
parents: 6036
diff changeset
221 * @param buddy The buddy whose alias will be changed.
0d5c66a5da5d [gaim-migrate @ 6508]
Mark Doliner <markdoliner@pidgin.im>
parents: 6036
diff changeset
222 * @param alias The buddy's "official" alias.
0d5c66a5da5d [gaim-migrate @ 6508]
Mark Doliner <markdoliner@pidgin.im>
parents: 6036
diff changeset
223 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
224 void purple_blist_server_alias_buddy(PurpleBuddy *buddy, const char *alias);
6058
0d5c66a5da5d [gaim-migrate @ 6508]
Mark Doliner <markdoliner@pidgin.im>
parents: 6036
diff changeset
225
0d5c66a5da5d [gaim-migrate @ 6508]
Mark Doliner <markdoliner@pidgin.im>
parents: 6036
diff changeset
226 /**
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
227 * Aliases a chat in the buddy list.
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
228 *
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
229 * @param chat The chat whose alias will be changed.
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
230 * @param alias The chat's new alias.
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
231 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
232 void purple_blist_alias_chat(PurpleChat *chat, const char *alias);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
233
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
234 /**
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
235 * Renames a group
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
236 *
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
237 * @param group The group to rename
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
238 * @param name The new name
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
239 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
240 void purple_blist_rename_group(PurpleGroup *group, const char *name);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
241
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
242 /**
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
243 * Adds a new chat to the buddy list.
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
244 *
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
245 * The chat will be inserted right after node or appended to the end
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
246 * of group if node is NULL. If both are NULL, the buddy will be added to
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
247 * the "Chats" group.
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
248 *
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
249 * @param chat The new chat who gets added
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
250 * @param group The group to add the new chat to.
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
251 * @param node The insertion point
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
252 */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
253 void purple_blist_add_chat(PurpleChat *chat, PurpleGroup *group, PurpleBListNode *node);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
254
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
255 /**
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
256 * Adds a new buddy to the buddy list.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
257 *
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
258 * The buddy will be inserted right after node or prepended to the
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
259 * group if node is NULL. If both are NULL, the buddy will be added to
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
260 * the "Buddies" group.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
261 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6695
diff changeset
262 * @param buddy The new buddy who gets added
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6695
diff changeset
263 * @param contact The optional contact to place the buddy in.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6695
diff changeset
264 * @param group The group to add the new buddy to.
22819
7d360024a0df Super minor documentation improvement
Mark Doliner <markdoliner@pidgin.im>
parents: 22341
diff changeset
265 * @param node The insertion point. Pass in NULL to add the node as
26471
f02860c88d01 Uh, I think this comment is wrong. Or the code is wrong and does silly
Mark Doliner <markdoliner@pidgin.im>
parents: 25889
diff changeset
266 * the first child in the given group.
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
267 */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
268 void purple_blist_add_buddy(PurpleBuddy *buddy, PurpleContact *contact, PurpleGroup *group, PurpleBListNode *node);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
269
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270 /**
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
271 * Adds a new group to the buddy list.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
272 *
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
273 * The new group will be inserted after insert or prepended to the list if
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
274 * node is NULL.
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
275 *
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
276 * @param group The group
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
277 * @param node The insertion point
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
278 */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
279 void purple_blist_add_group(PurpleGroup *group, PurpleBListNode *node);
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
280
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
281 /**
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
282 * Adds a new contact to the buddy list.
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
283 *
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
284 * The new contact will be inserted after insert or prepended to the list if
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
285 * node is NULL.
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
286 *
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
287 * @param contact The contact
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
288 * @param group The group to add the contact to
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
289 * @param node The insertion point
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
290 */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
291 void purple_blist_add_contact(PurpleContact *contact, PurpleGroup *group, PurpleBListNode *node);
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
292
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
293 /**
6965
8e89df586ed1 [gaim-migrate @ 7512]
Nathan Walp <nwalp@pidgin.im>
parents: 6872
diff changeset
294 * Merges two contacts
8e89df586ed1 [gaim-migrate @ 7512]
Nathan Walp <nwalp@pidgin.im>
parents: 6872
diff changeset
295 *
8e89df586ed1 [gaim-migrate @ 7512]
Nathan Walp <nwalp@pidgin.im>
parents: 6872
diff changeset
296 * All of the buddies from source will be moved to target
8e89df586ed1 [gaim-migrate @ 7512]
Nathan Walp <nwalp@pidgin.im>
parents: 6872
diff changeset
297 *
8e89df586ed1 [gaim-migrate @ 7512]
Nathan Walp <nwalp@pidgin.im>
parents: 6872
diff changeset
298 * @param source The contact to merge
7246
e61e8d301b34 [gaim-migrate @ 7823]
Nathan Walp <nwalp@pidgin.im>
parents: 7125
diff changeset
299 * @param node The place to merge to (a buddy or contact)
6965
8e89df586ed1 [gaim-migrate @ 7512]
Nathan Walp <nwalp@pidgin.im>
parents: 6872
diff changeset
300 */
34699
09b2c9219b57 Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents: 34698
diff changeset
301 void purple_blist_merge_contact(PurpleContact *source, PurpleBListNode *node);
6965
8e89df586ed1 [gaim-migrate @ 7512]
Nathan Walp <nwalp@pidgin.im>
parents: 6872
diff changeset
302
8e89df586ed1 [gaim-migrate @ 7512]
Nathan Walp <nwalp@pidgin.im>
parents: 6872
diff changeset
303 /**
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
304 * Removes a buddy from the buddy list and frees the memory allocated to it.
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
305 * This doesn't actually try to remove the buddy from the server list.
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
306 *
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
307 * @param buddy The buddy to be removed
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
308 *
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
309 * @see purple_account_remove_buddy
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
310 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
311 void purple_blist_remove_buddy(PurpleBuddy *buddy);
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
312
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
313 /**
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
314 * Removes a contact, and any buddies it contains, and frees the memory
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
315 * allocated to it. This calls purple_blist_remove_buddy and therefore
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
316 * doesn't remove the buddies from the server list.
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
317 *
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
318 * @param contact The contact to be removed
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
319 *
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
320 * @see purple_blist_remove_buddy
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
321 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
322 void purple_blist_remove_contact(PurpleContact *contact);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
323
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
324 /**
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
325 * Removes a chat from the buddy list and frees the memory allocated to it.
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
326 *
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
327 * @param chat The chat to be removed
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
328 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
329 void purple_blist_remove_chat(PurpleChat *chat);
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
330
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
331 /**
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
332 * Removes a group from the buddy list and frees the memory allocated to it and to
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
333 * its children
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
334 *
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
335 * @param group The group to be removed
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
336 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
337 void purple_blist_remove_group(PurpleGroup *group);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
338
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
339
6744
340fa61c8180 [gaim-migrate @ 7276]
Nathan Walp <nwalp@pidgin.im>
parents: 6735
diff changeset
340
340fa61c8180 [gaim-migrate @ 7276]
Nathan Walp <nwalp@pidgin.im>
parents: 6735
diff changeset
341 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
342 * Finds the buddy struct given a name and an account
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
343 *
10071
d2ba11541693 [gaim-migrate @ 11047]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 10052
diff changeset
344 * @param account The account this buddy belongs to
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
345 * @param name The buddy's name
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
346 * @return The buddy or NULL if the buddy does not exist
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
347 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
348 PurpleBuddy *purple_find_buddy(PurpleAccount *account, const char *name);
6245
f7548d168415 [gaim-migrate @ 6739]
Nathan Walp <nwalp@pidgin.im>
parents: 6063
diff changeset
349
f7548d168415 [gaim-migrate @ 6739]
Nathan Walp <nwalp@pidgin.im>
parents: 6063
diff changeset
350 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
351 * Finds the buddy struct given a name, an account, and a group
6872
61144295083e [gaim-migrate @ 7418]
Nathan Walp <nwalp@pidgin.im>
parents: 6846
diff changeset
352 *
10071
d2ba11541693 [gaim-migrate @ 11047]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 10052
diff changeset
353 * @param account The account this buddy belongs to
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
354 * @param name The buddy's name
6872
61144295083e [gaim-migrate @ 7418]
Nathan Walp <nwalp@pidgin.im>
parents: 6846
diff changeset
355 * @param group The group to look in
61144295083e [gaim-migrate @ 7418]
Nathan Walp <nwalp@pidgin.im>
parents: 6846
diff changeset
356 * @return The buddy or NULL if the buddy does not exist in the group
61144295083e [gaim-migrate @ 7418]
Nathan Walp <nwalp@pidgin.im>
parents: 6846
diff changeset
357 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
358 PurpleBuddy *purple_find_buddy_in_group(PurpleAccount *account, const char *name,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
359 PurpleGroup *group);
6872
61144295083e [gaim-migrate @ 7418]
Nathan Walp <nwalp@pidgin.im>
parents: 6846
diff changeset
360
61144295083e [gaim-migrate @ 7418]
Nathan Walp <nwalp@pidgin.im>
parents: 6846
diff changeset
361 /**
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25888
diff changeset
362 * Finds all PurpleBuddy structs given a name and an account
6245
f7548d168415 [gaim-migrate @ 6739]
Nathan Walp <nwalp@pidgin.im>
parents: 6063
diff changeset
363 *
10071
d2ba11541693 [gaim-migrate @ 11047]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 10052
diff changeset
364 * @param account The account this buddy belongs to
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
365 * @param name The buddy's name (or NULL to return all buddies for the account)
6245
f7548d168415 [gaim-migrate @ 6739]
Nathan Walp <nwalp@pidgin.im>
parents: 6063
diff changeset
366 *
33888
5338b7ae4f73 Be more clear in the doc about what should be freed.
Mark Doliner <mark@kingant.net>
parents: 33643
diff changeset
367 * @return NULL if the buddy doesn't exist, or a GSList of
5338b7ae4f73 Be more clear in the doc about what should be freed.
Mark Doliner <mark@kingant.net>
parents: 33643
diff changeset
368 * PurpleBuddy structs. You must free the GSList using
5338b7ae4f73 Be more clear in the doc about what should be freed.
Mark Doliner <mark@kingant.net>
parents: 33643
diff changeset
369 * g_slist_free. Do not free the PurpleBuddy structs that
5338b7ae4f73 Be more clear in the doc about what should be freed.
Mark Doliner <mark@kingant.net>
parents: 33643
diff changeset
370 * the list points to.
6245
f7548d168415 [gaim-migrate @ 6739]
Nathan Walp <nwalp@pidgin.im>
parents: 6063
diff changeset
371 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
372 GSList *purple_find_buddies(PurpleAccount *account, const char *name);
6245
f7548d168415 [gaim-migrate @ 6739]
Nathan Walp <nwalp@pidgin.im>
parents: 6063
diff changeset
373
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
374 /**
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
375 * Finds a group by name
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
376 *
18414
b08108fc6ffc Add a missing apostrophe in a comment.
Will Thompson <resiak@pidgin.im>
parents: 18412
diff changeset
377 * @param name The group's name
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
378 * @return The group or NULL if the group does not exist
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
379 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
380 PurpleGroup *purple_find_group(const char *name);
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
381
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
382 /**
6456
e4e7dee16c1a [gaim-migrate @ 6965]
Christian Hammond <chipx86@chipx86.com>
parents: 6245
diff changeset
383 * Finds a chat by name.
e4e7dee16c1a [gaim-migrate @ 6965]
Christian Hammond <chipx86@chipx86.com>
parents: 6245
diff changeset
384 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6695
diff changeset
385 * @param account The chat's account.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6695
diff changeset
386 * @param name The chat's name.
6456
e4e7dee16c1a [gaim-migrate @ 6965]
Christian Hammond <chipx86@chipx86.com>
parents: 6245
diff changeset
387 *
e4e7dee16c1a [gaim-migrate @ 6965]
Christian Hammond <chipx86@chipx86.com>
parents: 6245
diff changeset
388 * @return The chat, or @c NULL if the chat does not exist.
e4e7dee16c1a [gaim-migrate @ 6965]
Christian Hammond <chipx86@chipx86.com>
parents: 6245
diff changeset
389 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
390 PurpleChat *purple_blist_find_chat(PurpleAccount *account, const char *name);
6456
e4e7dee16c1a [gaim-migrate @ 6965]
Christian Hammond <chipx86@chipx86.com>
parents: 6245
diff changeset
391
e4e7dee16c1a [gaim-migrate @ 6965]
Christian Hammond <chipx86@chipx86.com>
parents: 6245
diff changeset
392 /**
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
393 * Called when an account connects. Tells the UI to update all the
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
394 * buddies.
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
395 *
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
396 * @param account The account
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
397 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
398 void purple_blist_add_account(PurpleAccount *account);
5234
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
399
8320a1cb0274 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
400 /**
26390
b0cde401fca4 More documentation (mostly little changes)
Paul Aurich <darkrain42@pidgin.im>
parents: 26388
diff changeset
401 * Called when an account disconnects. Sets the presence of all the buddies to 0
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
402 * and tells the UI to update them.
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
403 *
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6485
diff changeset
404 * @param account The account
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
405 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
406 void purple_blist_remove_account(PurpleAccount *account);
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
407
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
408 /*@}*/
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
409
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
410 /****************************************************************************************/
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
411 /** @name Buddy list file management API */
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
412 /****************************************************************************************/
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
413
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
414 /**
10704
99a466f384d2 [gaim-migrate @ 12288]
Mark Doliner <markdoliner@pidgin.im>
parents: 10662
diff changeset
415 * Schedule a save of the blist.xml file. This is used by the privacy
99a466f384d2 [gaim-migrate @ 12288]
Mark Doliner <markdoliner@pidgin.im>
parents: 10662
diff changeset
416 * API whenever the privacy settings are changed. If you make a change
99a466f384d2 [gaim-migrate @ 12288]
Mark Doliner <markdoliner@pidgin.im>
parents: 10662
diff changeset
417 * to blist.xml using one of the functions in the buddy list API, then
99a466f384d2 [gaim-migrate @ 12288]
Mark Doliner <markdoliner@pidgin.im>
parents: 10662
diff changeset
418 * the buddy list is saved automatically, so you should not need to
99a466f384d2 [gaim-migrate @ 12288]
Mark Doliner <markdoliner@pidgin.im>
parents: 10662
diff changeset
419 * call this.
10350
a72a43212626 [gaim-migrate @ 11565]
Mark Doliner <markdoliner@pidgin.im>
parents: 10349
diff changeset
420 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
421 void purple_blist_schedule_save(void);
10350
a72a43212626 [gaim-migrate @ 11565]
Mark Doliner <markdoliner@pidgin.im>
parents: 10349
diff changeset
422
a72a43212626 [gaim-migrate @ 11565]
Mark Doliner <markdoliner@pidgin.im>
parents: 10349
diff changeset
423 /**
7060
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
424 * Requests from the user information needed to add a buddy to the
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
425 * buddy list.
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
426 *
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
427 * @param account The account the buddy is added to.
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
428 * @param username The username of the buddy.
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
429 * @param group The name of the group to place the buddy in.
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
430 * @param alias The optional alias for the buddy.
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
431 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
432 void purple_blist_request_add_buddy(PurpleAccount *account, const char *username,
7060
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
433 const char *group, const char *alias);
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
434
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
435 /**
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
436 * Requests from the user information needed to add a chat to the
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
437 * buddy list.
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
438 *
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
439 * @param account The account the buddy is added to.
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
440 * @param group The optional group to add the chat to.
9000
ff260ac20c29 [gaim-migrate @ 9775]
Gary Kramlich <grim@pidgin.im>
parents: 8952
diff changeset
441 * @param alias The optional alias for the chat.
9939
9a2960bb4600 [gaim-migrate @ 10831]
Gary Kramlich <grim@pidgin.im>
parents: 9927
diff changeset
442 * @param name The required chat name.
7060
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
443 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
444 void purple_blist_request_add_chat(PurpleAccount *account, PurpleGroup *group,
9754
3a17eee239b2 [gaim-migrate @ 10621]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9713
diff changeset
445 const char *alias, const char *name);
7060
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
446
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
447 /**
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
448 * Requests from the user information needed to add a group to the
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
449 * buddy list.
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
450 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
451 void purple_blist_request_add_group(void);
7060
717cbeb22b6d [gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
452
5228
83adaad2deb1 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
453 /**************************************************************************/
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
454 /** @name UI Registration Functions */
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
455 /**************************************************************************/
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
456 /*@{*/
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
457
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
458 /**
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
459 * Sets the UI operations structure to be used for the buddy list.
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
460 *
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
461 * @param ops The ops struct.
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
462 */
34709
3484aac07f02 Replaced PurpleBlistUiOps with PurpleBListUiOps for uniform naming
Ankit Vani <a@nevitus.org>
parents: 34707
diff changeset
463 void purple_blist_set_ui_ops(PurpleBListUiOps *ops);
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
464
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
465 /**
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
466 * Returns the UI operations structure to be used for the buddy list.
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
467 *
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
468 * @return The UI operations structure.
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
469 */
34709
3484aac07f02 Replaced PurpleBlistUiOps with PurpleBListUiOps for uniform naming
Ankit Vani <a@nevitus.org>
parents: 34707
diff changeset
470 PurpleBListUiOps *purple_blist_get_ui_ops(void);
12054
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
471
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
472 /*@}*/
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
473
024e234b348b [gaim-migrate @ 14349]
Nathan Walp <nwalp@pidgin.im>
parents: 12053
diff changeset
474 /**************************************************************************/
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
475 /** @name Buddy List Subsystem */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
476 /**************************************************************************/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
477 /*@{*/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
478
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
479 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
480 * Returns the handle for the buddy list subsystem.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
481 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
482 * @return The buddy list subsystem handle.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
483 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
484 void *purple_blist_get_handle(void);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
486 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
487 * Initializes the buddy list subsystem.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
488 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
489 void purple_blist_init(void);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
490
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
491 /**
33643
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32827
diff changeset
492 * Loads the buddy list.
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32827
diff changeset
493 *
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32827
diff changeset
494 * You shouldn't call this. purple_core_init() will do it for you.
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32827
diff changeset
495 */
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32827
diff changeset
496 void purple_blist_boot(void);
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32827
diff changeset
497
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32827
diff changeset
498 /**
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
499 * Uninitializes the buddy list subsystem.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
500 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
501 void purple_blist_uninit(void);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
502
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
503 /*@}*/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6456
diff changeset
504
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32714
diff changeset
505 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
506
34710
6182323fbb0c Renamed gg's buddylist.[ch] to blist.[ch]
Ankit Vani <a@nevitus.org>
parents: 34709
diff changeset
507 #endif /* _PURPLE_BUDDY_LIST_H_ */

mercurial