Mercurial > ~mikael > mcabber > hg
annotate mcabber/mcabber/roster.h @ 1909:9c14153e2580
Do not display unhandled IQ result messages to the log window
We display the message only in the debug log file, because these messages
are usually ignored anyway (ideally we would create a handler explicitly
when sending the initial IQ request).
Thanks to VarLog for the report!
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 18 Apr 2010 14:14:05 +0200 |
parents | e45d13074721 |
children | 6febc7d1f760 |
rev | line source |
---|---|
1668
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1600
diff
changeset
|
1 #ifndef __MCABBER_ROSTER_H__ |
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1600
diff
changeset
|
2 #define __MCABBER_ROSTER_H__ 1 |
72 | 3 |
4 #include <glib.h> | |
625
028c01940490
Show presence timestamps in "/info" and "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
610
diff
changeset
|
5 #include <time.h> |
72 | 6 |
1668
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1600
diff
changeset
|
7 #include <mcabber/pgp.h> |
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1600
diff
changeset
|
8 #include <mcabber/config.h> |
1043 | 9 |
889
ae93e69aaaaf
Fix up pending message flag for the status special buffer
Mikael Berthe <mikael@lilotux.net>
parents:
885
diff
changeset
|
10 #define SPECIAL_BUFFER_STATUS_ID "[status]" |
ae93e69aaaaf
Fix up pending message flag for the status special buffer
Mikael Berthe <mikael@lilotux.net>
parents:
885
diff
changeset
|
11 |
1802
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
12 // Default UI priorities |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
13 #define ROSTER_UI_PRIO_MUC_MESSAGE 20 |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
14 #define ROSTER_UI_PRIO_MUC_HL_MESSAGE 30 |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
15 #define ROSTER_UI_PRIO_MUC_PRIV_MESSAGE 40 |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
16 #define ROSTER_UI_PRIO_PRIVATE_MESSAGE 50 |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
17 #define ROSTER_UI_PRIO_ATTENTION_MESSAGE 100 |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
18 #define ROSTER_UI_PRIO_STATUS_WIN_MESSAGE 500 |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
19 |
572
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
20 enum imstatus { |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
21 offline, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
22 available, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
23 freeforchat, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
24 dontdisturb, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
25 notavail, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
26 away, |
1311
0dda8238af21
Implement "/roster display"
Mikael Berthe <mikael@lilotux.net>
parents:
1292
diff
changeset
|
27 invisible, |
572
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
28 imstatus_size |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
29 }; |
72 | 30 |
1311
0dda8238af21
Implement "/roster display"
Mikael Berthe <mikael@lilotux.net>
parents:
1292
diff
changeset
|
31 extern char imstatus2char[]; // Should match enum above |
0dda8238af21
Implement "/roster display"
Mikael Berthe <mikael@lilotux.net>
parents:
1292
diff
changeset
|
32 |
438
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
33 enum imrole { |
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
34 role_none, |
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
35 role_moderator, |
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
36 role_participant, |
585
7eff2c1481fa
Add "/room affil" and "/room role"
Mikael Berthe <mikael@lilotux.net>
parents:
584
diff
changeset
|
37 role_visitor, |
7eff2c1481fa
Add "/room affil" and "/room role"
Mikael Berthe <mikael@lilotux.net>
parents:
584
diff
changeset
|
38 imrole_size |
438
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
39 }; |
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
40 |
584 | 41 extern char *strrole[]; // Should match enum above |
42 | |
572
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
43 enum imaffiliation { |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
44 affil_none, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
45 affil_owner, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
46 affil_admin, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
47 affil_member, |
585
7eff2c1481fa
Add "/room affil" and "/room role"
Mikael Berthe <mikael@lilotux.net>
parents:
584
diff
changeset
|
48 affil_outcast, |
7eff2c1481fa
Add "/room affil" and "/room role"
Mikael Berthe <mikael@lilotux.net>
parents:
584
diff
changeset
|
49 imaffiliation_size |
572
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
50 }; |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
51 |
584 | 52 extern char *straffil[]; // Should match enum above |
53 | |
438
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
54 enum subscr { |
603 | 55 sub_none = 0, |
56 sub_pending = 1, | |
965
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
57 sub_to = 1 << 1, |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
58 sub_from = 1 << 2, |
603 | 59 sub_both = sub_to|sub_from, |
965
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
60 sub_remove = 1 << 3 |
438
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
61 }; |
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
62 |
72 | 63 enum findwhat { |
64 jidsearch, | |
65 namesearch | |
66 }; | |
67 | |
1802
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
68 enum setuiprio_ops { |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
69 prio_set, // Set priority |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
70 prio_max, // Set priority to max(specified, current) |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
71 prio_inc, // Increment priority |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
72 }; |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
73 |
1377
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
74 extern char *strprintstatus[]; |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
75 |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
76 // Note: do not change the ordering as these values are visible |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
77 // to the user (option 'muc_print_status')! |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
78 enum room_printstatus { |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
79 status_default, |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
80 status_none, |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
81 status_in_and_out, |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
82 status_all |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
83 }; |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
84 |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
85 extern char *strautowhois[]; |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
86 |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
87 enum room_autowhois { |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
88 autowhois_default, |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
89 autowhois_off, |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
90 autowhois_on |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
91 }; |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
92 |
584 | 93 struct role_affil { |
94 enum { type_role, type_affil } type; | |
95 union { | |
96 enum imrole role; | |
97 enum imaffiliation affil; | |
98 } val; | |
99 }; | |
100 | |
72 | 101 // Roster_type is a set of flags, so values should be 2^n |
965
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
102 #define ROSTER_TYPE_USER 1U |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
103 #define ROSTER_TYPE_GROUP (1U<<1) |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
104 #define ROSTER_TYPE_AGENT (1U<<2) |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
105 #define ROSTER_TYPE_ROOM (1U<<3) |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
106 #define ROSTER_TYPE_SPECIAL (1U<<4) |
72 | 107 |
108 // Flags: | |
965
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
109 #define ROSTER_FLAG_MSG 1U // Message not read |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
110 #define ROSTER_FLAG_HIDE (1U<<1) // Group hidden (or buddy window closed) |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
111 #define ROSTER_FLAG_LOCK (1U<<2) // Node should not be removed from buddylist |
974
36f7753dfb59
Add /roster item_{lock,unlock}
Mikael Berthe <mikael@lilotux.net>
parents:
965
diff
changeset
|
112 #define ROSTER_FLAG_USRLOCK (1U<<3) // Node should not be removed from buddylist |
36f7753dfb59
Add /roster item_{lock,unlock}
Mikael Berthe <mikael@lilotux.net>
parents:
965
diff
changeset
|
113 // ROSTER_FLAG_LOCAL (1U<<4) // Buddy not on server's roster (??) |
72 | 114 |
1692
434b2a32d2a0
Disable XEP-0022 (Message Events) as it's been obsolete for a while
Mikael Berthe <mikael@lilotux.net>
parents:
1691
diff
changeset
|
115 // #define XEP0022 (Officially obsoleted by XMPP Council) |
1691 | 116 #define XEP0085 |
987
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
117 |
1866 | 118 struct xep0022 { |
987
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
119 guint support; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
120 guint last_state_sent; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
121 gchar *last_msgid_sent; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
122 guint last_state_rcvd; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
123 gchar *last_msgid_rcvd; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
124 }; |
1866 | 125 struct xep0085 { |
987
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
126 guint support; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
127 guint last_state_sent; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
128 guint last_state_rcvd; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
129 }; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
130 |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
131 enum chatstate_support { |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
132 CHATSTATES_SUPPORT_UNKNOWN = 0, |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
133 CHATSTATES_SUPPORT_PROBED, |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
134 CHATSTATES_SUPPORT_NONE, |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
135 CHATSTATES_SUPPORT_OK |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
136 }; |
986
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
137 |
1043 | 138 struct pgp_data { |
1065
230dca34dbea
Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents:
1043
diff
changeset
|
139 gchar *sign_keyid; // KeyId used by the contact to sign their presence/msg |
1043 | 140 #ifdef HAVE_GPGME |
1065
230dca34dbea
Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents:
1043
diff
changeset
|
141 gpgme_sigsum_t last_sigsum; // Last signature summary |
1043 | 142 #endif |
143 }; | |
144 | |
986
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
145 /* Message event and chat state flags */ |
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
146 #define ROSTER_EVENT_NONE 0U |
1691 | 147 /* XEP-22 Message Events */ |
987
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
148 #define ROSTER_EVENT_OFFLINE (1U<<0) |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
149 #define ROSTER_EVENT_DELIVERED (1U<<1) |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
150 #define ROSTER_EVENT_DISPLAYED (1U<<2) |
1691 | 151 /* XEP-22 & XEP-85 */ |
987
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
152 #define ROSTER_EVENT_COMPOSING (1U<<3) |
1691 | 153 /* XEP-85 Chat State Notifications */ |
987
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
154 #define ROSTER_EVENT_ACTIVE (1U<<4) |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
155 #define ROSTER_EVENT_PAUSED (1U<<5) |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
156 #define ROSTER_EVENT_INACTIVE (1U<<6) |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
157 #define ROSTER_EVENT_GONE (1U<<7) |
986
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
158 |
72 | 159 extern GList *buddylist; |
78 | 160 extern GList *current_buddy; |
330 | 161 extern GList *alternate_buddy; |
72 | 162 |
78 | 163 // Macros... |
164 | |
79 | 165 #define BUDDATA(glist_node) ((glist_node)->data) |
166 #define CURRENT_JID buddy_getjid(BUDDATA(current_buddy)) | |
78 | 167 |
168 // Prototypes... | |
848
a9161d2dc414
Introduce special buffer stuff
Mikael Berthe <mikael@lilotux.net>
parents:
819
diff
changeset
|
169 void roster_init(void); |
78 | 170 GSList *roster_add_group(const char *name); |
171 GSList *roster_add_user(const char *jid, const char *name, const char *group, | |
1355 | 172 guint type, enum subscr esub, gint on_server); |
447
03bb57383cea
Initial Multi-User Chat support
Mikael Berthe <mikael@lilotux.net>
parents:
439
diff
changeset
|
173 GSList *roster_find(const char *jidname, enum findwhat type, guint roster_type); |
78 | 174 void roster_del_user(const char *jid); |
164 | 175 void roster_free(void); |
438
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
176 void roster_setstatus(const char *jid, const char *resname, gchar prio, |
468
644b8bf9ca4d
Improve MUC presence messages handling
Mikael Berthe <mikael@lilotux.net>
parents:
447
diff
changeset
|
177 enum imstatus bstat, const char *status_msg, |
625
028c01940490
Show presence timestamps in "/info" and "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
610
diff
changeset
|
178 time_t timestamp, |
572
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
179 enum imrole role, enum imaffiliation affil, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
180 const char *realjid); |
80 | 181 void roster_setflags(const char *jid, guint flags, guint value); |
889
ae93e69aaaaf
Fix up pending message flag for the status special buffer
Mikael Berthe <mikael@lilotux.net>
parents:
885
diff
changeset
|
182 void roster_msg_setflag(const char *jid, guint special, guint value); |
1802
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
183 void roster_setuiprio(const char *jid, guint special, guint value, |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
184 enum setuiprio_ops action); |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
185 guint roster_getuiprio(const char *jid, guint special); |
510
6c3cd3aa4a91
New 'buddy_format' option
Mikael Berthe <mikael@lilotux.net>
parents:
489
diff
changeset
|
186 const char *roster_getname(const char *jid); |
863
4f1a93faffea
Add roster_getnickname()
Mikael Berthe <mikael@lilotux.net>
parents:
848
diff
changeset
|
187 const char *roster_getnickname(const char *jid); |
89 | 188 void roster_settype(const char *jid, guint type); |
438
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
189 enum imstatus roster_getstatus(const char *jid, const char *resname); |
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
190 const char *roster_getstatusmsg(const char *jid, const char *resname); |
1727
15e6b21df606
Add helper function roster_getprio()
Mikael Berthe <mikael@lilotux.net>
parents:
1692
diff
changeset
|
191 char roster_getprio(const char *jid, const char *resname); |
89 | 192 guint roster_gettype(const char *jid); |
819
c2d7d9dd4193
New option 'block_unsubscribed'
Mikael Berthe <mikael@lilotux.net>
parents:
792
diff
changeset
|
193 guint roster_getsubscription(const char *jid); |
610
0e8247cf2bd1
Consider buddies as offline when they have cancelled our subscription
Mikael Berthe <mikael@lilotux.net>
parents:
603
diff
changeset
|
194 void roster_unsubscribed(const char *jid); |
72 | 195 |
166 | 196 void buddylist_build(void); |
197 void buddy_hide_group(gpointer rosterdata, int hide); | |
198 void buddylist_set_hide_offline_buddies(int hide); | |
1413 | 199 int buddylist_isset_filter(void); |
1504
9fafea381eb8
Show the number of unfiltered contacts in folded groups
franky
parents:
1437
diff
changeset
|
200 int buddylist_is_status_filtered(enum imstatus status); |
1311
0dda8238af21
Implement "/roster display"
Mikael Berthe <mikael@lilotux.net>
parents:
1292
diff
changeset
|
201 void buddylist_set_filter(guchar); |
0dda8238af21
Implement "/roster display"
Mikael Berthe <mikael@lilotux.net>
parents:
1292
diff
changeset
|
202 guchar buddylist_get_filter(void); |
72 | 203 const char *buddy_getjid(gpointer rosterdata); |
207 | 204 void buddy_setname(gpointer rosterdata, char *newname); |
72 | 205 const char *buddy_getname(gpointer rosterdata); |
469
a926523d2392
Use UTF8 to handle resources and room nicknames
Mikael Berthe <mikael@lilotux.net>
parents:
468
diff
changeset
|
206 void buddy_setnickname(gpointer rosterdata, const char *newname); |
447
03bb57383cea
Initial Multi-User Chat support
Mikael Berthe <mikael@lilotux.net>
parents:
439
diff
changeset
|
207 const char *buddy_getnickname(gpointer rosterdata); |
952 | 208 void buddy_setinsideroom(gpointer rosterdata, guint inside); |
209 guint buddy_getinsideroom(gpointer rosterdata); | |
548
265c50238a48
Add buddy_{get,set}topic()
Mikael Berthe <mikael@lilotux.net>
parents:
539
diff
changeset
|
210 void buddy_settopic(gpointer rosterdata, const char *newtopic); |
265c50238a48
Add buddy_{get,set}topic()
Mikael Berthe <mikael@lilotux.net>
parents:
539
diff
changeset
|
211 const char *buddy_gettopic(gpointer rosterdata); |
1377
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
212 void buddy_setprintstatus(gpointer rosterdata, enum room_printstatus); |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
213 enum room_printstatus buddy_getprintstatus(gpointer rosterdata); |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
214 void buddy_setautowhois(gpointer rosterdata, enum room_autowhois); |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
215 enum room_autowhois buddy_getautowhois(gpointer rosterdata); |
489
21ab22a60bcb
Auto-convert a roster item to "room" type when receiving a groupchat message
Mikael Berthe <mikael@lilotux.net>
parents:
480
diff
changeset
|
216 void buddy_settype(gpointer rosterdata, guint type); |
166 | 217 guint buddy_gettype(gpointer rosterdata); |
603 | 218 guint buddy_getsubscription(gpointer rosterdata); |
210 | 219 void buddy_setgroup(gpointer rosterdata, char *newgroupname); |
207 | 220 const char *buddy_getgroupname(gpointer rosterdata); |
166 | 221 gpointer buddy_getgroup(gpointer rosterdata); |
438
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
222 enum imstatus buddy_getstatus(gpointer rosterdata, const char *resname); |
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
223 const char *buddy_getstatusmsg(gpointer rosterdata, const char *resname); |
625
028c01940490
Show presence timestamps in "/info" and "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
610
diff
changeset
|
224 time_t buddy_getstatustime(gpointer rosterdata, const char *resname); |
439
63562fd409a1
/info can show multiple resources
Mikael Berthe <mikael@lilotux.net>
parents:
438
diff
changeset
|
225 gchar buddy_getresourceprio(gpointer rosterdata, const char *resname); |
652
b243d3b3ff1b
We do not need buddy_isresource() anymore
Mikael Berthe <mikael@lilotux.net>
parents:
644
diff
changeset
|
226 //int buddy_isresource(gpointer rosterdata); |
439
63562fd409a1
/info can show multiple resources
Mikael Berthe <mikael@lilotux.net>
parents:
438
diff
changeset
|
227 GSList *buddy_getresources(gpointer rosterdata); |
792
89ad7b530b3c
MUC: Fix completion for UTF-8 nicknames
Mikael Berthe <mikael@lilotux.net>
parents:
652
diff
changeset
|
228 GSList *buddy_getresources_locale(gpointer rosterdata); |
468
644b8bf9ca4d
Improve MUC presence messages handling
Mikael Berthe <mikael@lilotux.net>
parents:
447
diff
changeset
|
229 void buddy_resource_setname(gpointer rosterdata, const char *resname, |
644b8bf9ca4d
Improve MUC presence messages handling
Mikael Berthe <mikael@lilotux.net>
parents:
447
diff
changeset
|
230 const char *newname); |
986
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
231 void buddy_resource_setevents(gpointer rosterdata, const char *resname, |
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
232 guint event); |
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
233 guint buddy_resource_getevents(gpointer rosterdata, const char *resname); |
1600 | 234 void buddy_resource_setcaps(gpointer rosterdata, const char *resname, |
235 const char *caps); | |
236 char *buddy_resource_getcaps(gpointer rosterdata, const char *resname); | |
1866 | 237 struct xep0022 *buddy_resource_xep22(gpointer rosterdata, const char *resname); |
238 struct xep0085 *buddy_resource_xep85(gpointer rosterdata, const char *resname); | |
1043 | 239 struct pgp_data *buddy_resource_pgp(gpointer rosterdata, const char *resname); |
572
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
240 enum imrole buddy_getrole(gpointer rosterdata, const char *resname); |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
241 enum imaffiliation buddy_getaffil(gpointer rosterdata, const char *resname); |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
242 const char *buddy_getrjid(gpointer rosterdata, const char *resname); |
447
03bb57383cea
Initial Multi-User Chat support
Mikael Berthe <mikael@lilotux.net>
parents:
439
diff
changeset
|
243 void buddy_del_all_resources(gpointer rosterdata); |
166 | 244 void buddy_setflags(gpointer rosterdata, guint flags, guint value); |
245 guint buddy_getflags(gpointer rosterdata); | |
1802
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
246 guint buddy_getuiprio(gpointer rosterdata); |
1355 | 247 void buddy_setonserverflag(gpointer rosterdata, guint onserver); |
248 guint buddy_getonserverflag(gpointer rosterdata); | |
1292
382ec54b584e
Muc nick coloring functionality
Michal 'vorner' Vaner <vorner@ucw.cz>
parents:
1065
diff
changeset
|
249 GList *buddy_search_jid(const char *jid); |
265 | 250 GList *buddy_search(char *string); |
532
2ac8d8e49e81
Send status changes to chatrooms
Mikael Berthe <mikael@lilotux.net>
parents:
510
diff
changeset
|
251 void foreach_buddy(guint roster_type, |
2ac8d8e49e81
Send status changes to chatrooms
Mikael Berthe <mikael@lilotux.net>
parents:
510
diff
changeset
|
252 void (*pfunc)(gpointer rosterdata, void *param), |
2ac8d8e49e81
Send status changes to chatrooms
Mikael Berthe <mikael@lilotux.net>
parents:
510
diff
changeset
|
253 void *param); |
885
afdd81c2c44d
Allow /rename for groups
Mikael Berthe <mikael@lilotux.net>
parents:
863
diff
changeset
|
254 void foreach_group_member(gpointer groupdata, |
afdd81c2c44d
Allow /rename for groups
Mikael Berthe <mikael@lilotux.net>
parents:
863
diff
changeset
|
255 void (*pfunc)(gpointer rosterdata, void *param), |
afdd81c2c44d
Allow /rename for groups
Mikael Berthe <mikael@lilotux.net>
parents:
863
diff
changeset
|
256 void *param); |
236 | 257 gpointer unread_msg(gpointer rosterdata); |
72 | 258 |
1437
071c8170b7de
Add option 'statefile' to keep track of unread messages across restarts
Mikael Berthe <mikael@lilotux.net>
parents:
1413
diff
changeset
|
259 void unread_jid_add(const char *jid); |
071c8170b7de
Add option 'statefile' to keep track of unread messages across restarts
Mikael Berthe <mikael@lilotux.net>
parents:
1413
diff
changeset
|
260 GList *unread_jid_get_list(void); |
071c8170b7de
Add option 'statefile' to keep track of unread messages across restarts
Mikael Berthe <mikael@lilotux.net>
parents:
1413
diff
changeset
|
261 |
225 | 262 GSList *compl_list(guint type); |
263 | |
1668
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1600
diff
changeset
|
264 #endif /* __MCABBER_ROSTER_H__ */ |
576 | 265 |
1811 | 266 /* vim: set et cindent cinoptions=>2\:2(0 ts=2 sw=2: For Vim users... */ |