14192
|
1 /**
|
|
2 * @file userlist.h MSN user list support
|
|
3 *
|
|
4 * gaim
|
|
5 *
|
|
6 * Gaim is the legal property of its developers, whose names are too numerous
|
|
7 * to list here. Please refer to the COPYRIGHT file distributed with this
|
|
8 * source distribution.
|
|
9 *
|
|
10 * This program is free software; you can redistribute it and/or modify
|
|
11 * it under the terms of the GNU General Public License as published by
|
|
12 * the Free Software Foundation; either version 2 of the License, or
|
|
13 * (at your option) any later version.
|
|
14 *
|
|
15 * This program is distributed in the hope that it will be useful,
|
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
18 * GNU General Public License for more details.
|
|
19 *
|
|
20 * You should have received a copy of the GNU General Public License
|
|
21 * along with this program; if not, write to the Free Software
|
|
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
23 */
|
|
24 #ifndef _MSN_USERLIST_H_
|
|
25 #define _MSN_USERLIST_H_
|
|
26
|
|
27 typedef struct _MsnUserList MsnUserList;
|
|
28
|
|
29 #include "cmdproc.h"
|
|
30 #include "user.h"
|
|
31 #include "group.h"
|
|
32
|
|
33 typedef enum
|
|
34 {
|
|
35 MSN_LIST_FL,
|
|
36 MSN_LIST_AL,
|
|
37 MSN_LIST_BL,
|
|
38 MSN_LIST_RL
|
|
39
|
|
40 } MsnListId;
|
|
41
|
|
42 typedef struct
|
|
43 {
|
|
44 char *who;
|
|
45 char *old_group_name;
|
|
46
|
|
47 } MsnMoveBuddy;
|
|
48
|
|
49 struct _MsnUserList
|
|
50 {
|
|
51 MsnSession *session;
|
|
52
|
|
53 /* MsnUsers *users; */
|
|
54 /* MsnGroups *groups; */
|
|
55
|
|
56 GList *users;
|
|
57 GList *groups;
|
|
58
|
|
59 GQueue *buddy_icon_requests;
|
|
60 int buddy_icon_window;
|
|
61 guint buddy_icon_request_timer;
|
|
62
|
|
63 int fl_users_count;
|
|
64
|
|
65 };
|
|
66
|
|
67 MsnListId msn_get_list_id(const char *list);
|
|
68
|
|
69 void msn_got_add_user(MsnSession *session, MsnUser *user,
|
|
70 MsnListId list_id, int group_id);
|
|
71 void msn_got_rem_user(MsnSession *session, MsnUser *user,
|
|
72 MsnListId list_id, int group_id);
|
|
73 void msn_got_lst_user(MsnSession *session, MsnUser *user,
|
|
74 int list_op, GSList *group_ids);
|
|
75
|
|
76 MsnUserList *msn_userlist_new(MsnSession *session);
|
|
77 void msn_userlist_destroy(MsnUserList *userlist);
|
|
78 void msn_userlist_add_user(MsnUserList *userlist, MsnUser *user);
|
|
79 void msn_userlist_remove_user(MsnUserList *userlist, MsnUser *user);
|
|
80 MsnUser *msn_userlist_find_user(MsnUserList *userlist,
|
|
81 const char *passport);
|
|
82 void msn_userlist_add_group(MsnUserList *userlist, MsnGroup *group);
|
|
83 void msn_userlist_remove_group(MsnUserList *userlist, MsnGroup *group);
|
|
84 MsnGroup *msn_userlist_find_group_with_id(MsnUserList *userlist, int id);
|
|
85 MsnGroup *msn_userlist_find_group_with_name(MsnUserList *userlist,
|
|
86 const char *name);
|
|
87 int msn_userlist_find_group_id(MsnUserList *userlist,
|
|
88 const char *group_name);
|
|
89 const char *msn_userlist_find_group_name(MsnUserList *userlist,
|
|
90 int group_id);
|
|
91 void msn_userlist_rename_group_id(MsnUserList *userlist, int group_id,
|
|
92 const char *new_name);
|
|
93 void msn_userlist_remove_group_id(MsnUserList *userlist, int group_id);
|
|
94
|
|
95 void msn_userlist_rem_buddy(MsnUserList *userlist, const char *who,
|
|
96 int list_id, const char *group_name);
|
|
97 void msn_userlist_add_buddy(MsnUserList *userlist, const char *who,
|
|
98 int list_id, const char *group_name);
|
|
99 void msn_userlist_move_buddy(MsnUserList *userlist, const char *who,
|
|
100 const char *old_group_name,
|
|
101 const char *new_group_name);
|
|
102
|
|
103 #endif /* _MSN_USERLIST_H_ */
|