comparison mcabber/src/events.h @ 1128:ac9c89f6cb51

Support for invitations to muc rooms According to section "7.5" ("Inviting Another User to a Room") of the xep 0045 (about multi user chat), someone can invite you to a room. But it seems mcabber ignore this, so I have coded the missing support. [Patch slightly modified by Mikael]
author misc@mandriva.org
date Sat, 20 Jan 2007 18:41:13 +0100
parents 527d6f234924
children 4a7db2870685
comparison
equal deleted inserted replaced
1127:fddf2fef7b83 1128:ac9c89f6cb51
10 #define EVS_CONTEXT_TIMEOUT 0U 10 #define EVS_CONTEXT_TIMEOUT 0U
11 #define EVS_CONTEXT_CANCEL 1U 11 #define EVS_CONTEXT_CANCEL 1U
12 #define EVS_CONTEXT_USER 2U 12 #define EVS_CONTEXT_USER 2U
13 13
14 typedef enum { 14 typedef enum {
15 EVS_TYPE_SUBSCRIPTION = 1 15 EVS_TYPE_SUBSCRIPTION = 1,
16 EVS_TYPE_INVITATION = 2
16 } evs_type; 17 } evs_type;
17 18
18 /* Common structure for events (evs) and IQ requests (iqs) */ 19 /* Common structure for events (evs) and IQ requests (iqs) */
19 typedef struct { 20 typedef struct {
20 char *id; 21 char *id;
25 void (*callback)(); 26 void (*callback)();
26 xmlnode xmldata; 27 xmlnode xmldata;
27 char *desc; 28 char *desc;
28 } eviqs; 29 } eviqs;
29 30
31 typedef struct {
32 char* to;
33 char* from;
34 char* passwd;
35 char* reason;
36 } event_muc_invitation;
37
30 eviqs *evs_new(guint8 type, time_t timeout); 38 eviqs *evs_new(guint8 type, time_t timeout);
31 int evs_del(const char *evid); 39 int evs_del(const char *evid);
32 int evs_callback(const char *evid, guint evcontext); 40 int evs_callback(const char *evid, guint evcontext);
33 void evs_check_timeout(time_t now_t); 41 void evs_check_timeout(time_t now_t);
34 void evs_display_list(void); 42 void evs_display_list(void);