author | Michał Kępień <bitbucket@kempniu.pl> |
Sun, 23 Sep 2018 22:52:29 +0200 | |
changeset 2324 | 4ddd6f5c3ffc |
parent 2291 | 0d350e979bde |
permissions | -rw-r--r-- |
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 |
|
1979
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
93 |
extern char *strflagjoins[]; |
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
94 |
|
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
95 |
enum room_flagjoins { |
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
96 |
flagjoins_default, |
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
97 |
flagjoins_none, |
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
98 |
flagjoins_joins, |
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
99 |
flagjoins_all |
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
100 |
}; |
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
101 |
|
584 | 102 |
struct role_affil { |
103 |
enum { type_role, type_affil } type; |
|
104 |
union { |
|
105 |
enum imrole role; |
|
106 |
enum imaffiliation affil; |
|
107 |
} val; |
|
108 |
}; |
|
109 |
||
72 | 110 |
// 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
|
111 |
#define ROSTER_TYPE_USER 1U |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
112 |
#define ROSTER_TYPE_GROUP (1U<<1) |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
113 |
#define ROSTER_TYPE_AGENT (1U<<2) |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
114 |
#define ROSTER_TYPE_ROOM (1U<<3) |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
115 |
#define ROSTER_TYPE_SPECIAL (1U<<4) |
72 | 116 |
|
117 |
// Flags: |
|
965
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
118 |
#define ROSTER_FLAG_MSG 1U // Message not read |
1bdf0f1b16c0
Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents:
952
diff
changeset
|
119 |
#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
|
120 |
#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
|
121 |
#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
|
122 |
// ROSTER_FLAG_LOCAL (1U<<4) // Buddy not on server's roster (??) |
72 | 123 |
|
1691 | 124 |
#define XEP0085 |
987
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
125 |
|
1866 | 126 |
struct xep0085 { |
987
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
127 |
guint support; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
128 |
guint last_state_sent; |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
129 |
guint last_state_rcvd; |
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 |
|
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
132 |
enum chatstate_support { |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
133 |
CHATSTATES_SUPPORT_UNKNOWN = 0, |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
134 |
CHATSTATES_SUPPORT_PROBED, |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
135 |
CHATSTATES_SUPPORT_NONE, |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
136 |
CHATSTATES_SUPPORT_OK |
f47e312560af
Improve JEP22 + JEP85 support
Mikael Berthe <mikael@lilotux.net>
parents:
986
diff
changeset
|
137 |
}; |
986
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
138 |
|
1043 | 139 |
struct pgp_data { |
1065
230dca34dbea
Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents:
1043
diff
changeset
|
140 |
gchar *sign_keyid; // KeyId used by the contact to sign their presence/msg |
1043 | 141 |
#ifdef HAVE_GPGME |
1065
230dca34dbea
Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents:
1043
diff
changeset
|
142 |
gpgme_sigsum_t last_sigsum; // Last signature summary |
1043 | 143 |
#endif |
144 |
}; |
|
145 |
||
986
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
146 |
/* Message event and chat state flags */ |
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
147 |
#define ROSTER_EVENT_NONE 0U |
1691 | 148 |
/* XEP-85 Chat State Notifications */ |
2165 | 149 |
#define ROSTER_EVENT_COMPOSING (1U<<0) |
150 |
#define ROSTER_EVENT_ACTIVE (1U<<1) |
|
151 |
#define ROSTER_EVENT_PAUSED (1U<<2) |
|
152 |
#define ROSTER_EVENT_INACTIVE (1U<<3) |
|
153 |
#define ROSTER_EVENT_GONE (1U<<4) |
|
986
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
154 |
|
72 | 155 |
extern GList *buddylist; |
78 | 156 |
extern GList *current_buddy; |
330 | 157 |
extern GList *alternate_buddy; |
1996
7837d5a3f509
Going back to the first buddy with /roster next_unread when there is no more unread messages.
Simon Jacquin
parents:
1979
diff
changeset
|
158 |
extern GList *last_activity_buddy; |
72 | 159 |
|
78 | 160 |
// Macros... |
161 |
||
79 | 162 |
#define BUDDATA(glist_node) ((glist_node)->data) |
163 |
#define CURRENT_JID buddy_getjid(BUDDATA(current_buddy)) |
|
78 | 164 |
|
165 |
// Prototypes... |
|
848
a9161d2dc414
Introduce special buffer stuff
Mikael Berthe <mikael@lilotux.net>
parents:
819
diff
changeset
|
166 |
void roster_init(void); |
78 | 167 |
GSList *roster_add_group(const char *name); |
168 |
GSList *roster_add_user(const char *jid, const char *name, const char *group, |
|
1355 | 169 |
guint type, enum subscr esub, gint on_server); |
447
03bb57383cea
Initial Multi-User Chat support
Mikael Berthe <mikael@lilotux.net>
parents:
439
diff
changeset
|
170 |
GSList *roster_find(const char *jidname, enum findwhat type, guint roster_type); |
78 | 171 |
void roster_del_user(const char *jid); |
164 | 172 |
void roster_free(void); |
438
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
173 |
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
|
174 |
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
|
175 |
time_t timestamp, |
572
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
176 |
enum imrole role, enum imaffiliation affil, |
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
548
diff
changeset
|
177 |
const char *realjid); |
80 | 178 |
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
|
179 |
void roster_msg_setflag(const char *jid, guint special, guint value); |
2324
4ddd6f5c3ffc
Add support for displaying the number of unread messages for each roster entry
Michał Kępień <bitbucket@kempniu.pl>
parents:
2291
diff
changeset
|
180 |
void roster_msg_update_unread(const char *jid, gboolean increment); |
1802
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
181 |
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
|
182 |
enum setuiprio_ops action); |
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
183 |
guint roster_getuiprio(const char *jid, guint special); |
510
6c3cd3aa4a91
New 'buddy_format' option
Mikael Berthe <mikael@lilotux.net>
parents:
489
diff
changeset
|
184 |
const char *roster_getname(const char *jid); |
863
4f1a93faffea
Add roster_getnickname()
Mikael Berthe <mikael@lilotux.net>
parents:
848
diff
changeset
|
185 |
const char *roster_getnickname(const char *jid); |
89 | 186 |
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
|
187 |
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
|
188 |
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
|
189 |
char roster_getprio(const char *jid, const char *resname); |
89 | 190 |
guint roster_gettype(const char *jid); |
819
c2d7d9dd4193
New option 'block_unsubscribed'
Mikael Berthe <mikael@lilotux.net>
parents:
792
diff
changeset
|
191 |
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
|
192 |
void roster_unsubscribed(const char *jid); |
72 | 193 |
|
2291
0d350e979bde
Don't rebuild the buddylist multiple times before a screen refresh
franky
parents:
2165
diff
changeset
|
194 |
void buddylist_defer_build(void); |
166 | 195 |
void buddylist_build(void); |
196 |
void buddy_hide_group(gpointer rosterdata, int hide); |
|
197 |
void buddylist_set_hide_offline_buddies(int hide); |
|
1413 | 198 |
int buddylist_isset_filter(void); |
1504
9fafea381eb8
Show the number of unfiltered contacts in folded groups
franky
parents:
1437
diff
changeset
|
199 |
int buddylist_is_status_filtered(enum imstatus status); |
1311
0dda8238af21
Implement "/roster display"
Mikael Berthe <mikael@lilotux.net>
parents:
1292
diff
changeset
|
200 |
void buddylist_set_filter(guchar); |
0dda8238af21
Implement "/roster display"
Mikael Berthe <mikael@lilotux.net>
parents:
1292
diff
changeset
|
201 |
guchar buddylist_get_filter(void); |
72 | 202 |
const char *buddy_getjid(gpointer rosterdata); |
207 | 203 |
void buddy_setname(gpointer rosterdata, char *newname); |
72 | 204 |
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
|
205 |
void buddy_setnickname(gpointer rosterdata, const char *newname); |
447
03bb57383cea
Initial Multi-User Chat support
Mikael Berthe <mikael@lilotux.net>
parents:
439
diff
changeset
|
206 |
const char *buddy_getnickname(gpointer rosterdata); |
952 | 207 |
void buddy_setinsideroom(gpointer rosterdata, guint inside); |
208 |
guint buddy_getinsideroom(gpointer rosterdata); |
|
548
265c50238a48
Add buddy_{get,set}topic()
Mikael Berthe <mikael@lilotux.net>
parents:
539
diff
changeset
|
209 |
void buddy_settopic(gpointer rosterdata, const char *newtopic); |
265c50238a48
Add buddy_{get,set}topic()
Mikael Berthe <mikael@lilotux.net>
parents:
539
diff
changeset
|
210 |
const char *buddy_gettopic(gpointer rosterdata); |
1377
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
211 |
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
|
212 |
enum room_printstatus buddy_getprintstatus(gpointer rosterdata); |
cd9182f0b5c7
Add /room setopt {print_status,auto_whois}
Mikael Berthe <mikael@lilotux.net>
parents:
1355
diff
changeset
|
213 |
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
|
214 |
enum room_autowhois buddy_getautowhois(gpointer rosterdata); |
1979
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
215 |
void buddy_setflagjoins(gpointer rosterdata, enum room_flagjoins); |
6febc7d1f760
Add /room setopt flag_joins (Hermitifier)
Mikael Berthe <mikael@lilotux.net>
parents:
1866
diff
changeset
|
216 |
enum room_flagjoins buddy_getflagjoins(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
|
217 |
void buddy_settype(gpointer rosterdata, guint type); |
166 | 218 |
guint buddy_gettype(gpointer rosterdata); |
603 | 219 |
guint buddy_getsubscription(gpointer rosterdata); |
210 | 220 |
void buddy_setgroup(gpointer rosterdata, char *newgroupname); |
207 | 221 |
const char *buddy_getgroupname(gpointer rosterdata); |
166 | 222 |
gpointer buddy_getgroup(gpointer rosterdata); |
438
b44be19d6229
Handle multiple resources for the same buddy
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
223 |
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
|
224 |
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
|
225 |
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
|
226 |
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
|
227 |
//int buddy_isresource(gpointer rosterdata); |
439
63562fd409a1
/info can show multiple resources
Mikael Berthe <mikael@lilotux.net>
parents:
438
diff
changeset
|
228 |
GSList *buddy_getresources(gpointer rosterdata); |
792
89ad7b530b3c
MUC: Fix completion for UTF-8 nicknames
Mikael Berthe <mikael@lilotux.net>
parents:
652
diff
changeset
|
229 |
GSList *buddy_getresources_locale(gpointer rosterdata); |
2013
8dc418af3e72
Allow to select to which buddy resource messages go. Closes issue #55
Hermitifier
parents:
1996
diff
changeset
|
230 |
const char *buddy_getactiveresource(gpointer rosterdata); |
8dc418af3e72
Allow to select to which buddy resource messages go. Closes issue #55
Hermitifier
parents:
1996
diff
changeset
|
231 |
void buddy_setactiveresource(gpointer rosterdata, const char *resname); |
468
644b8bf9ca4d
Improve MUC presence messages handling
Mikael Berthe <mikael@lilotux.net>
parents:
447
diff
changeset
|
232 |
void buddy_resource_setname(gpointer rosterdata, const char *resname, |
644b8bf9ca4d
Improve MUC presence messages handling
Mikael Berthe <mikael@lilotux.net>
parents:
447
diff
changeset
|
233 |
const char *newname); |
986
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
234 |
void buddy_resource_setevents(gpointer rosterdata, const char *resname, |
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
235 |
guint event); |
ed697234bd39
Chat states receival (Alexis Hildebrandt)
Mikael Berthe <mikael@lilotux.net>
parents:
974
diff
changeset
|
236 |
guint buddy_resource_getevents(gpointer rosterdata, const char *resname); |
1600 | 237 |
void buddy_resource_setcaps(gpointer rosterdata, const char *resname, |
238 |
const char *caps); |
|
239 |
char *buddy_resource_getcaps(gpointer rosterdata, const char *resname); |
|
1866 | 240 |
struct xep0085 *buddy_resource_xep85(gpointer rosterdata, const char *resname); |
1043 | 241 |
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
|
242 |
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
|
243 |
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
|
244 |
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
|
245 |
void buddy_del_all_resources(gpointer rosterdata); |
166 | 246 |
void buddy_setflags(gpointer rosterdata, guint flags, guint value); |
247 |
guint buddy_getflags(gpointer rosterdata); |
|
1802
b135572fcd26
Add urgent flag per screen buffer
Mikael Berthe <mikael@lilotux.net>
parents:
1727
diff
changeset
|
248 |
guint buddy_getuiprio(gpointer rosterdata); |
2324
4ddd6f5c3ffc
Add support for displaying the number of unread messages for each roster entry
Michał Kępień <bitbucket@kempniu.pl>
parents:
2291
diff
changeset
|
249 |
guint buddy_getunread(gpointer rosterdata); |
1355 | 250 |
void buddy_setonserverflag(gpointer rosterdata, guint onserver); |
251 |
guint buddy_getonserverflag(gpointer rosterdata); |
|
1292
382ec54b584e
Muc nick coloring functionality
Michal 'vorner' Vaner <vorner@ucw.cz>
parents:
1065
diff
changeset
|
252 |
GList *buddy_search_jid(const char *jid); |
265 | 253 |
GList *buddy_search(char *string); |
532
2ac8d8e49e81
Send status changes to chatrooms
Mikael Berthe <mikael@lilotux.net>
parents:
510
diff
changeset
|
254 |
void foreach_buddy(guint roster_type, |
2ac8d8e49e81
Send status changes to chatrooms
Mikael Berthe <mikael@lilotux.net>
parents:
510
diff
changeset
|
255 |
void (*pfunc)(gpointer rosterdata, void *param), |
2ac8d8e49e81
Send status changes to chatrooms
Mikael Berthe <mikael@lilotux.net>
parents:
510
diff
changeset
|
256 |
void *param); |
885
afdd81c2c44d
Allow /rename for groups
Mikael Berthe <mikael@lilotux.net>
parents:
863
diff
changeset
|
257 |
void foreach_group_member(gpointer groupdata, |
afdd81c2c44d
Allow /rename for groups
Mikael Berthe <mikael@lilotux.net>
parents:
863
diff
changeset
|
258 |
void (*pfunc)(gpointer rosterdata, void *param), |
afdd81c2c44d
Allow /rename for groups
Mikael Berthe <mikael@lilotux.net>
parents:
863
diff
changeset
|
259 |
void *param); |
236 | 260 |
gpointer unread_msg(gpointer rosterdata); |
72 | 261 |
|
1437
071c8170b7de
Add option 'statefile' to keep track of unread messages across restarts
Mikael Berthe <mikael@lilotux.net>
parents:
1413
diff
changeset
|
262 |
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
|
263 |
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
|
264 |
|
225 | 265 |
GSList *compl_list(guint type); |
266 |
||
1668
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1600
diff
changeset
|
267 |
#endif /* __MCABBER_ROSTER_H__ */ |
576 | 268 |
|
1811 | 269 |
/* vim: set et cindent cinoptions=>2\:2(0 ts=2 sw=2: For Vim users... */ |