annotate src/list.h @ 4770:c4c28874ecd3

[gaim-migrate @ 5088] I want to go to sleep. This is drag-n-drop moving of buddies in the list. I think it works, but I didn't actually test it... I really should have though; I can't imagine it working fine as-is. ;) I'm holding off on the rest of my Edit Buddy List stuff for tomorrow... I love last minute things, don't I? Note: I created gaim_blist_members and gaim_blist_groups to reproduce the effects of the old groups GSList and the members GSList of the group struct that I removed. This is really sub-optimal and should be replaced to iterate the Buddy List directly. If someone wants to do that, please do. Even if you don't want to do that, just review the changes I made and make sure I didn't do anything stupid. It is past 6am and I'm a bit tired and prone to mistake making. Thanks. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Fri, 14 Mar 2003 11:38:21 +0000
parents b6f6a10f9baf
children 1e28e7d802a1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 * @file list.h Buddy List API
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
4 * gaim
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
5 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
6 * Copyright (C) 2003, Sean Egan <sean.egan@binghamton.edu>
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 * (at your option) any later version.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 * GNU General Public License for more details.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
24 /* I can't believe I let ChipX86 inspire me to write good code. -Sean */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26 #ifndef _LIST_H_
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
27 #define _LIST_H_
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
28
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
29 #include <glib.h>
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
30
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
31 /**************************************************************************/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
32 /* Enumerations */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
33 /**************************************************************************/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34 enum gaim_blist_node_type {
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 GAIM_BLIST_GROUP_NODE,
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36 GAIM_BLIST_BUDDY_NODE,
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 GAIM_BLIST_OTHER_NODE,
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38 };
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39
4695
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
40 #define GAIM_BLIST_NODE_IS_BUDDY(n) ((n)->type == GAIM_BLIST_BUDDY_NODE)
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
41 #define GAIM_BLIST_NODE_IS_GROUP(n) ((n)->type == GAIM_BLIST_GROUP_NODE)
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 /**************************************************************************/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 /* Data Structures */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45 /**************************************************************************/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
47 typedef struct _GaimBlistNode GaimBlistNode;
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
48 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49 * A Buddy list node. This can represent a group, a buddy, or anything else. This is a base class for struct buddy and
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
50 * struct group and for anything else that wants to put itself in the buddy list. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
51 struct _GaimBlistNode {
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
52 enum gaim_blist_node_type type; /**< The type of node this is */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 GaimBlistNode *prev; /**< The sibling before this buddy. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
54 GaimBlistNode *next; /**< The sibling after this buddy. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55 GaimBlistNode *parent; /**< The parent of this node */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56 GaimBlistNode *child; /**< The child of this node */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 void *ui_data; /**< The UI can put data here. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58 };
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
60 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 * A buddy. This contains everything Gaim will ever need to know about someone on the buddy list. Everything.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63 struct buddy {
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64 GaimBlistNode node; /**< The node that this buddy inherits from */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 char *name; /**< The screenname of the buddy. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 char *alias; /**< The user-set alias of the buddy */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 char *server_alias; /**< The server-specified alias of the buddy. (i.e. MSN "Friendly Names") */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 int present; /**< This is 0 if the buddy appears offline, 1 if he appears online, and 2 if
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69 he has recently signed on */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 int evil; /**< The warning level */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 time_t signon; /**< The time the buddy signed on. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72 int idle; /**< The time the buddy has been idle in minutes. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 int uc; /**< This is a cryptic bitmask that makes sense only to the prpl. This will get changed */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 void *proto_data; /**< This allows the prpl to associate whatever data it wants with a buddy */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75 struct gaim_account *account; /**< the account this buddy belongs to */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76 GHashTable *settings; /**< per-buddy settings from the XML buddy list, set by plugins and the likes. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77 };
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80 * A group. This contains everything Gaim will ever need to know about a group.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
82 struct group {
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
83 GaimBlistNode node; /**< The node that this group inherits from */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 char *name; /**< The name of this group. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
85 };
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
86
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
89 * The Buddy List
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
90 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
91 struct gaim_buddy_list {
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
92 GaimBlistNode *root; /**< The first node in the buddy list */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
93 struct gaim_blist_ui_ops *ui_ops; /**< The UI operations for the buddy list */
4695
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
94
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
95 void *ui_data; /**< UI-specific data. */
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
96 };
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
97
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
98 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
99 * Buddy list UI operations.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
100 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
101 * Any UI representing a buddy list must assign a filled-out gaim_window_ops
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
102 * structure to the buddy list core.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
103 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
104 struct gaim_blist_ui_ops
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
105 {
4695
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
106 void (*new_list)(struct gaim_buddy_list *list); /**< Sets UI-specific data on a buddy list. */
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
107 void (*new_node)(GaimBlistNode *node); /**< Sets UI-specific data on a node. */
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
108 void (*show)(struct gaim_buddy_list *list); /**< The core will call this when its finished doing it's core stuff */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
109 void (*update)(struct gaim_buddy_list *list,
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
110 GaimBlistNode *node); /**< This will update a node in the buddy list. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
111 void (*remove)(struct gaim_buddy_list *list,
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
112 GaimBlistNode *node); /**< This removes a node from the list */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
113 void (*destroy)(struct gaim_buddy_list *list); /**< When the list gets destroyed, this gets called to destroy the UI. */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
114 void (*set_visible)(struct gaim_buddy_list *list,
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
115 gboolean show); /**< Hides or unhides the buddy list */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
116
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
117 };
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
118
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
119 /**************************************************************************/
4770
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
120 /** Public Utility Functions */
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
121 /**************************************************************************/
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
122 /*@{*/
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
123
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
124 /**
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
125 * Returns a GSList of the groups
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
126 */
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
127 GSList *gaim_blist_groups();
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
128
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
129 /**
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
130 * Returns a GSList of the members of a group node.
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
131 *
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
132 * It's obviously much faster to recurse the GaimBlistNode linked list
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
133 * then using this function. You should try to avoid using it. Only use it
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
134 * when you're about to make a milestone release in a few hours and are desperately
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
135 * trying to add a critical feature
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
136 *
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
137 * @param group The group
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
138 */
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
139 GSList *gaim_blist_members(struct group *group);
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
140 /*@}*/
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
141
c4c28874ecd3 [gaim-migrate @ 5088]
Sean Egan <seanegan@gmail.com>
parents: 4765
diff changeset
142 /**************************************************************************/
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
143 /** @name Buddy List API */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
144 /**************************************************************************/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
145 /*@{*/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
146
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
147 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
148 * Creates a new buddy list
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
149 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
150 struct gaim_buddy_list *gaim_blist_new();
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
151
4695
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
152 /**
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
153 * Sets the main buddy list.
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
154 *
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
155 * @return The main buddy list.
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
156 */
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
157 void gaim_set_blist(struct gaim_buddy_list *blist);
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
158
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
159 /**
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
160 * Returns the main buddy list.
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
161 *
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
162 * @return The main buddy list.
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
163 */
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
164 struct gaim_buddy_list *gaim_get_blist(void);
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
165
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
166 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
167 * Shows the buddy list, creating a new one if necessary.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
168 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
169 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
170 void gaim_blist_show();
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
171
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
172
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
173 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
174 * Destroys the buddy list window.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
175 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
176 void gaim_blist_destroy();
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
177
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
178 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
179 * Hides or unhides the buddy list.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
180 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
181 * @param show Whether or not to show the buddy list
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
182 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
183 void gaim_blist_set_visible(gboolean show);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
184
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
185 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
186 * Updates a buddy's status.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
187 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
188 * This needs to not take an int.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
189 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
190 * @param buddy The buddy whose status has changed
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
191 * @param status The new status in cryptic prpl-understood code
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
192 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
193 void gaim_blist_update_buddy_status(struct buddy *buddy, int status);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
194
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
195
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
196 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
197 * Updates a buddy's presence.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
198 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
199 * @param buddy The buddy whose presence has changed
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
200 * @param presence The new presence
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
201 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
202 void gaim_blist_update_buddy_presence(struct buddy *buddy, int presence);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
203
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
204
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
205 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
206 * Updates a buddy's idle time.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
207 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
208 * @param buddy The buddy whose idle time has changed
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
209 * @param idle The buddy's idle time in minutes.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
210 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
211 void gaim_blist_update_buddy_idle(struct buddy *buddy, int idle);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
212
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
213
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
214 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
215 * Updates a buddy's warning level.
4757
c4ebe1a8484b [gaim-migrate @ 5074]
Nathan Walp <nwalp@pidgin.im>
parents: 4701
diff changeset
216 *
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
217 * @param buddy The buddy whose warning level has changed
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
218 * @param evil The warning level as an int from 0 to 100 (or higher, I guess... but that'd be weird)
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
219 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
220 void gaim_blist_update_buddy_evil(struct buddy *buddy, int warning);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
221
4757
c4ebe1a8484b [gaim-migrate @ 5074]
Nathan Walp <nwalp@pidgin.im>
parents: 4701
diff changeset
222 /**
4765
b6f6a10f9baf [gaim-migrate @ 5083]
Christian Hammond <chipx86@chipx86.com>
parents: 4757
diff changeset
223 * Updates a buddy's icon.
4757
c4ebe1a8484b [gaim-migrate @ 5074]
Nathan Walp <nwalp@pidgin.im>
parents: 4701
diff changeset
224 *
c4ebe1a8484b [gaim-migrate @ 5074]
Nathan Walp <nwalp@pidgin.im>
parents: 4701
diff changeset
225 * @param buddy The buddy whose buddy icon has changed
c4ebe1a8484b [gaim-migrate @ 5074]
Nathan Walp <nwalp@pidgin.im>
parents: 4701
diff changeset
226 */
c4ebe1a8484b [gaim-migrate @ 5074]
Nathan Walp <nwalp@pidgin.im>
parents: 4701
diff changeset
227 void gaim_blist_update_buddy_icon(struct buddy *buddy);
c4ebe1a8484b [gaim-migrate @ 5074]
Nathan Walp <nwalp@pidgin.im>
parents: 4701
diff changeset
228
c4ebe1a8484b [gaim-migrate @ 5074]
Nathan Walp <nwalp@pidgin.im>
parents: 4701
diff changeset
229
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
230
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
231 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
232 * Renames a buddy in the buddy list.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
233 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
234 * @param buddy The buddy whose name will be changed.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
235 * @param name The new name of the buddy.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
236 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
237 void gaim_blist_rename_buddy(struct buddy *buddy, const char *name);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
238
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
239
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
240 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
241 * Aliases a buddy in the buddy list.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
242 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
243 * @param buddy The buddy whose alias will be changed.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
244 * @param alias The buddy's alias.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
245 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
246 void gaim_blist_alias_buddy(struct buddy *buddy, const char *alias);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
247
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
248
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
249 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
250 * Renames a group
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
251 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
252 * @param group The group to rename
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
253 * @param name The new name
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
254 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
255 void gaim_blist_rename_group(struct group *group, const char *name);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
256
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
257
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
258 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
259 * Creates a new buddy
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
260 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
261 * @param account The account this buddy will get added to
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
262 * @param screenname The screenname of the new buddy
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
263 * @param alias The alias of the new buddy (or NULL if unaliased)
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
264 * @return A newly allocated buddy
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
265 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
266 struct buddy *gaim_buddy_new(struct gaim_account *account, const char *screenname, const char *alias);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
267
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
268 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
269 * Adds a new buddy to the buddy list.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
270 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
271 * The buddy will be inserted right after node or appended to the end
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
272 * of group if node is NULL. If both are NULL, the buddy will be added to
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
273 * the "Buddies" group.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
274 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
275 * @param buddy The new buddy who gets added
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
276 * @param group The group to add the new buddy to.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
277 * @param node The insertion point
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
278 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
279 void gaim_blist_add_buddy(struct buddy *buddy, struct group *group, GaimBlistNode *node);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
280
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
281 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
282 * Creates a new group
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
283 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
284 * You can't have more than one group with the same name. Sorry. If you pass this the
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
285 * name of a group that already exists, it will return that group.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
286 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
287 * @param name The name of the new group
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
288 * @return A new group struct
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
289 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
290 struct group *gaim_group_new(const char *name);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
291
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
292 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
293 * Adds a new group to the buddy list.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
294 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
295 * The new group will be inserted after insert or appended to the end of
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
296 * the list if node is NULL.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
297 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
298 * @param group The group to add the new buddy to.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
299 * @param node The insertion point
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
300 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
301 void gaim_blist_add_group(struct group *group, GaimBlistNode *node);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
302
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
303 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
304 * Removes a buddy from the buddy list and frees the memory allocated to it.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
305 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
306 * @param buddy The buddy to be removed
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
307 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
308 void gaim_blist_remove_buddy(struct buddy *buddy);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
309
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
310 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
311 * Removes a group from the buddy list and frees the memory allocated to it and to
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
312 * its children
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
313 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
314 * @param group The group to be removed
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
315 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
316 void gaim_blist_remove_group(struct group *group);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
317
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
318 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
319 * Returns the alias of a buddy.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
320 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
321 * @param buddy The buddy whose name will be returned.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
322 * @return The alias (if set), server alias (if option is set), or NULL.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
323 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
324 char *gaim_get_buddy_alias_only(struct buddy *buddy);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
325
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
326
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
327 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
328 * Returns the correct name to display for a buddy.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
329 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
330 * @param buddy The buddy whose name will be returned.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
331 * @return The alias (if set), server alias (if option is set), screenname, or "Unknown"
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
332 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
333 char *gaim_get_buddy_alias(struct buddy *buddy);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
334
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
335 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
336 * Finds the buddy struct given a screenname and an account
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
337 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
338 * @param name The buddy's screenname
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
339 * @param account The account this buddy belongs to
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
340 * @return The buddy or NULL if the buddy does not exist
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
341 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
342 struct buddy *gaim_find_buddy(struct gaim_account *account, const char *name);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
343
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
344 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
345 * Finds a group by name
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
346 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
347 * @param name The groups name
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
348 * @return The group or NULL if the group does not exist
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
349 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
350 struct group *gaim_find_group(const char *name);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
351
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
352 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
353 * Returns the group of which the buddy is a member.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
354 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
355 * @param buddy The buddy
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
356 * @return The group or NULL if the buddy is not in a group
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
357 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
358 struct group *gaim_find_buddys_group(struct buddy *buddy);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
359
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
360
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
361 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
362 * Returns a list of accounts that have buddies in this group
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
363 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
364 * @param group The group
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
365 * @return A list of gaim_accounts
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
366 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
367 GSList *gaim_group_get_accounts(struct group *g);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
368
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
369 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
370 * Determines whether an account owns any buddies in a given group
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
371 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
372 * @param g The group to search through.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
373 * @account The account.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
374 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
375 gboolean gaim_group_on_account(struct group *g, struct gaim_account *account);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
376
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
377 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
378 * Called when an account gets signed off. Sets the presence of all the buddies to 0
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
379 * and tells the UI to update them.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
380 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
381 * @param account The account
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
382 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
383 void gaim_blist_remove_account(struct gaim_account *account);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
384
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
385
4701
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
386 /**
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
387 * Determines the total size of a group
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
388 *
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
389 * @param group The group
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
390 * @param offline Count buddies in offline accounts
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
391 * @return The number of buddies in the group
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
392 */
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
393 int gaim_blist_get_group_size(struct group *group, gboolean offline);
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
394
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
395 /**
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
396 * Determines the number of online buddies in a group
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
397 *
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
398 * @param group The group
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
399 * @return The number of online buddies in the group, or 0 if the group is NULL
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
400 */
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
401 int gaim_blist_get_group_online_count(struct group *group);
ac7ca2bd6d4f [gaim-migrate @ 5012]
Nathan Walp <nwalp@pidgin.im>
parents: 4695
diff changeset
402
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
403 /*@}*/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
404
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
405 /****************************************************************************************/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
406 /** @name Buddy list file management API */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
407 /****************************************************************************************/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
408
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
409 /*@{*/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
410 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
411 * Saves the buddy list to file
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
412 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
413 void gaim_blist_save();
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
414
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
415 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
416 * Parses the toc-style buddy list used in older versions of Gaim and for SSI in toc.c
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
417 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
418 * @param account This is the account that the buddies and groups from config will get added to
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
419 * @param config This is the toc-style buddy list data
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
420 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
421 void parse_toc_buddy_list(struct gaim_account *account, char *config);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
422
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
423
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
424 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
425 * Loads the buddy list from ~/.gaim/blist.xml.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
426 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
427 void gaim_blist_load();
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
428
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
429 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
430 * Associates some data with the buddy in the xml buddy list
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
431 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
432 * @param b The buddy the data is associated with
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
433 * @param key The key used to retrieve the data
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
434 * @param value The data to set
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
435 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
436 void gaim_buddy_set_setting(struct buddy *b, const char *key, const char *value);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
437
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
438 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
439 * Retrieves data from the XML buddy list set by gaim_buddy_set_setting())
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
440 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
441 * @param b The buddy to retrieve data from
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
442 * @param key The key to retrieve the data with
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
443 * @return The associated data or NULL if no data is associated
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
444 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
445 char *gaim_buddy_get_setting(struct buddy *b, const char *key);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
446
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
447 /*@}*/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
448
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
449 /**************************************************************************/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
450 /** @name UI Registration Functions */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
451 /**************************************************************************/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
452 /*@{*/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
453
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
454 /**
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
455 * Sets the UI operations structure to be used for the buddy list.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
456 *
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
457 * @param ops The ops struct.
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
458 */
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
459 void gaim_set_blist_ui_ops(struct gaim_blist_ui_ops *ops);
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
460
4695
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
461 /**
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
462 * Returns the UI operations structure to be used for the buddy list.
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
463 *
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
464 * @return The UI operations structure.
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
465 */
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
466 struct gaim_blist_ui_ops *gaim_get_blist_ui_ops(void);
4bdd9a5fd026 [gaim-migrate @ 5006]
Christian Hammond <chipx86@chipx86.com>
parents: 4688
diff changeset
467
4688
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
468 /*@}*/
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
469
0a35ec3585ef [gaim-migrate @ 4999]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
470 #endif /* _LIST_H_ */