72
|
1 #ifndef __ROSTER_H__ |
|
2 #define __ROSTER_H__ 1 |
|
3 |
|
4 #include <glib.h> |
|
5 |
|
6 # include "jabglue.h" |
|
7 |
|
8 enum findwhat { |
|
9 jidsearch, |
|
10 namesearch |
|
11 }; |
|
12 |
|
13 // Roster_type is a set of flags, so values should be 2^n |
|
14 #define ROSTER_TYPE_USER 1 |
|
15 #define ROSTER_TYPE_GROUP 2 |
|
16 #define ROSTER_TYPE_AGENT 4 |
|
17 |
|
18 // Flags: |
|
19 #define ROSTER_FLAG_MSG 1 // Message not read |
|
20 #define ROSTER_FLAG_HIDE 2 // Group hidden (or buddy window closed) |
|
21 #define ROSTER_FLAG_LOCK 4 // Node should not be removed from buddylist |
|
22 // ROSTER_FLAG_LOCAL 8 // Buddy not on server's roster (??) |
|
23 |
|
24 extern GList *buddylist; |
78
|
25 extern GList *current_buddy; |
72
|
26 |
78
|
27 // Macros... |
|
28 |
79
|
29 #define BUDDATA(glist_node) ((glist_node)->data) |
|
30 #define CURRENT_JID buddy_getjid(BUDDATA(current_buddy)) |
78
|
31 |
|
32 // Prototypes... |
|
33 GSList *roster_add_group(const char *name); |
|
34 GSList *roster_add_user(const char *jid, const char *name, const char *group, |
|
35 guint type); |
|
36 void roster_del_user(const char *jid); |
164
|
37 void roster_free(void); |
221
|
38 void roster_setstatus(const char *jid, enum imstatus bstat, |
|
39 const char *status_msg); |
80
|
40 void roster_setflags(const char *jid, guint flags, guint value); |
148
|
41 void roster_msg_setflag(const char *jid, guint value); |
89
|
42 void roster_settype(const char *jid, guint type); |
90
|
43 enum imstatus roster_getstatus(const char *jid); |
89
|
44 guint roster_gettype(const char *jid); |
141
|
45 inline guint roster_exists(const char *jidname, enum findwhat type, |
|
46 guint roster_type); |
72
|
47 |
166
|
48 void buddylist_build(void); |
|
49 void buddy_hide_group(gpointer rosterdata, int hide); |
|
50 void buddylist_set_hide_offline_buddies(int hide); |
120
|
51 inline int buddylist_get_hide_offline_buddies(void); |
72
|
52 const char *buddy_getjid(gpointer rosterdata); |
207
|
53 void buddy_setname(gpointer rosterdata, char *newname); |
72
|
54 const char *buddy_getname(gpointer rosterdata); |
166
|
55 guint buddy_gettype(gpointer rosterdata); |
210
|
56 void buddy_setgroup(gpointer rosterdata, char *newgroupname); |
207
|
57 const char *buddy_getgroupname(gpointer rosterdata); |
166
|
58 gpointer buddy_getgroup(gpointer rosterdata); |
72
|
59 enum imstatus buddy_getstatus(gpointer rosterdata); |
221
|
60 const char *buddy_getstatusmsg(gpointer rosterdata); |
166
|
61 void buddy_setflags(gpointer rosterdata, guint flags, guint value); |
|
62 guint buddy_getflags(gpointer rosterdata); |
265
|
63 GList *buddy_search(char *string); |
236
|
64 gpointer unread_msg(gpointer rosterdata); |
72
|
65 |
225
|
66 GSList *compl_list(guint type); |
|
67 |
72
|
68 #endif /* __ROSTER_H__ */ |