annotate mcabber/src/roster.h @ 318:45076d02eeef

The /status command can specify a status message We can now use: "/status dnd On the phone..." Related change: Display the buddy status message when a buddy connects/changes his/her status.
author Mikael Berthe <mikael@lilotux.net>
date Fri, 15 Jul 2005 18:45:41 +0100
parents 49e9e02dd6d0
children a9013124ede6
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 # include "jabglue.h"
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
7
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
8 enum findwhat {
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
9 jidsearch,
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
10 namesearch
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
11 };
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
12
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
13 // Roster_type is a set of flags, so values should be 2^n
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
14 #define ROSTER_TYPE_USER 1
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
15 #define ROSTER_TYPE_GROUP 2
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
16 #define ROSTER_TYPE_AGENT 4
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
17
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
18 // Flags:
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
19 #define ROSTER_FLAG_MSG 1 // Message not read
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
20 #define ROSTER_FLAG_HIDE 2 // Group hidden (or buddy window closed)
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
21 #define ROSTER_FLAG_LOCK 4 // Node should not be removed from buddylist
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
22 // ROSTER_FLAG_LOCAL 8 // Buddy not on server's roster (??)
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
23
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
24 extern GList *buddylist;
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
25 extern GList *current_buddy;
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
26
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
27 // Macros...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
28
79
ff8046b6de02 [/trunk] Changeset 93 by mikael
mikael
parents: 78
diff changeset
29 #define BUDDATA(glist_node) ((glist_node)->data)
ff8046b6de02 [/trunk] Changeset 93 by mikael
mikael
parents: 78
diff changeset
30 #define CURRENT_JID buddy_getjid(BUDDATA(current_buddy))
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
31
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
32 // Prototypes...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
33 GSList *roster_add_group(const char *name);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
34 GSList *roster_add_user(const char *jid, const char *name, const char *group,
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
35 guint type);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
36 void roster_del_user(const char *jid);
164
faf534be8ff0 [/trunk] Changeset 176 by mikael
mikael
parents: 148
diff changeset
37 void roster_free(void);
221
73f6ce668ba8 [/trunk] Changeset 233 by mikael
mikael
parents: 210
diff changeset
38 void roster_setstatus(const char *jid, enum imstatus bstat,
73f6ce668ba8 [/trunk] Changeset 233 by mikael
mikael
parents: 210
diff changeset
39 const char *status_msg);
80
7fb661f19a77 [/trunk] Changeset 94 by mikael
mikael
parents: 79
diff changeset
40 void roster_setflags(const char *jid, guint flags, guint value);
148
c3624b2a7059 [/trunk] Changeset 160 by mikael
mikael
parents: 147
diff changeset
41 void roster_msg_setflag(const char *jid, guint value);
89
d39f15683c34 [/trunk] Changeset 103 by mikael
mikael
parents: 80
diff changeset
42 void roster_settype(const char *jid, guint type);
90
ac48ace7ee19 [/trunk] Changeset 104 by mikael
mikael
parents: 89
diff changeset
43 enum imstatus roster_getstatus(const char *jid);
318
45076d02eeef The /status command can specify a status message
Mikael Berthe <mikael@lilotux.net>
parents: 265
diff changeset
44 const char *roster_getstatusmsg(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
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
49 void buddylist_build(void);
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
50 void buddy_hide_group(gpointer rosterdata, int hide);
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
51 void buddylist_set_hide_offline_buddies(int hide);
120
cfd3df636d5f [/trunk] Changeset 133 by mikael
mikael
parents: 119
diff changeset
52 inline int buddylist_get_hide_offline_buddies(void);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
53 const char *buddy_getjid(gpointer rosterdata);
207
41fafa0ecfd8 [/trunk] Changeset 219 by mikael
mikael
parents: 166
diff changeset
54 void buddy_setname(gpointer rosterdata, char *newname);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
55 const char *buddy_getname(gpointer rosterdata);
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
56 guint buddy_gettype(gpointer rosterdata);
210
f64818ba3503 [/trunk] Changeset 222 by mikael
mikael
parents: 207
diff changeset
57 void buddy_setgroup(gpointer rosterdata, char *newgroupname);
207
41fafa0ecfd8 [/trunk] Changeset 219 by mikael
mikael
parents: 166
diff changeset
58 const char *buddy_getgroupname(gpointer rosterdata);
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
59 gpointer buddy_getgroup(gpointer rosterdata);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
60 enum imstatus buddy_getstatus(gpointer rosterdata);
221
73f6ce668ba8 [/trunk] Changeset 233 by mikael
mikael
parents: 210
diff changeset
61 const char *buddy_getstatusmsg(gpointer rosterdata);
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
62 void buddy_setflags(gpointer rosterdata, guint flags, guint value);
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
63 guint buddy_getflags(gpointer rosterdata);
265
49e9e02dd6d0 Add "/roster search" command
mikael@frmp8452
parents: 236
diff changeset
64 GList *buddy_search(char *string);
236
72fd1273f2b7 [/trunk] Changeset 249 by mikael
mikael
parents: 225
diff changeset
65 gpointer unread_msg(gpointer rosterdata);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
66
225
d5ae42cbe1fa [/trunk] Changeset 237 by mikael
mikael
parents: 221
diff changeset
67 GSList *compl_list(guint type);
d5ae42cbe1fa [/trunk] Changeset 237 by mikael
mikael
parents: 221
diff changeset
68
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
69 #endif /* __ROSTER_H__ */