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__ */
|