annotate mcabber/src/roster.h @ 141:6533a231a65e

[/trunk] Changeset 153 by mikael * We now rebuild the buddy list when receiving a message from an offline/invisible buddy.
author mikael
date Thu, 28 Apr 2005 20:34:40 +0000
parents cfd3df636d5f
children 7571de4aed73
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
1 #ifndef __ROSTER_H__
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
2 #define __ROSTER_H__ 1
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
3
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
4 #include <glib.h>
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
5
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
6 #ifdef MCABBER_TESTUNIT
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
7 # include "test_roster_main.h"
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
8 #else
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
9 # include "jabglue.h"
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
10 #endif
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
11
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
12 enum findwhat {
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
13 jidsearch,
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
14 namesearch
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
15 };
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
16
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
17 // Roster_type is a set of flags, so values should be 2^n
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
18 #define ROSTER_TYPE_USER 1
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
19 #define ROSTER_TYPE_GROUP 2
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
20 #define ROSTER_TYPE_AGENT 4
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
21
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
22 // Flags:
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
23 #define ROSTER_FLAG_MSG 1 // Message not read
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
24 #define ROSTER_FLAG_HIDE 2 // Group hidden (or buddy window closed)
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
25 #define ROSTER_FLAG_LOCK 4 // Node should not be removed from buddylist
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
26 // ROSTER_FLAG_LOCAL 8 // Buddy not on server's roster (??)
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
27
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
28 extern GList *buddylist;
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
29 extern GList *current_buddy;
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
30
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
31 // Macros...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
32
79
ff8046b6de02 [/trunk] Changeset 93 by mikael
mikael
parents: 78
diff changeset
33 #define BUDDATA(glist_node) ((glist_node)->data)
ff8046b6de02 [/trunk] Changeset 93 by mikael
mikael
parents: 78
diff changeset
34 #define CURRENT_JID buddy_getjid(BUDDATA(current_buddy))
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
35
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
36 // Prototypes...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
37 GSList *roster_add_group(const char *name);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
38 GSList *roster_add_user(const char *jid, const char *name, const char *group,
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
39 guint type);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
40 void roster_del_user(const char *jid);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
41 void roster_setstatus(const char *jid, enum imstatus bstat);
80
7fb661f19a77 [/trunk] Changeset 94 by mikael
mikael
parents: 79
diff changeset
42 void roster_setflags(const char *jid, guint flags, guint value);
89
d39f15683c34 [/trunk] Changeset 103 by mikael
mikael
parents: 80
diff changeset
43 void roster_settype(const char *jid, guint type);
90
ac48ace7ee19 [/trunk] Changeset 104 by mikael
mikael
parents: 89
diff changeset
44 enum imstatus roster_getstatus(const char *jid);
89
d39f15683c34 [/trunk] Changeset 103 by mikael
mikael
parents: 80
diff changeset
45 guint roster_gettype(const char *jid);
141
6533a231a65e [/trunk] Changeset 153 by mikael
mikael
parents: 120
diff changeset
46 inline guint roster_exists(const char *jidname, enum findwhat type,
6533a231a65e [/trunk] Changeset 153 by mikael
mikael
parents: 120
diff changeset
47 guint roster_type);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
48
120
cfd3df636d5f [/trunk] Changeset 133 by mikael
mikael
parents: 119
diff changeset
49 void buddylist_set_hide_offline_buddies(int hide);
cfd3df636d5f [/trunk] Changeset 133 by mikael
mikael
parents: 119
diff changeset
50 inline int buddylist_get_hide_offline_buddies(void);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
51 void buddy_hide_group(gpointer rosterdata, int hide);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
52 void buddylist_build(void);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
53 const char *buddy_getjid(gpointer rosterdata);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
54 const char *buddy_getname(gpointer rosterdata);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
55 guint buddy_gettype(gpointer rosterdata);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
56 enum imstatus buddy_getstatus(gpointer rosterdata);
119
d7fbd5293385 [/trunk] Changeset 132 by mikael
mikael
parents: 90
diff changeset
57 void buddy_setflags(gpointer rosterdata, guint flags, guint value);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
58 guint buddy_getflags(gpointer rosterdata);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
59
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
60 #endif /* __ROSTER_H__ */