annotate mcabber/src/events.h @ 1213:4a7db2870685

Improve Private Storage detection. MCabber now correctly detects Private Storage support when receiving an item-not-found error (which doesn't mean the server has no support for P.S., but that it's empty). I've added a return value to the callback functions. For now the return value is only used for IQ error handling.
author Mikael Berthe <mikael@lilotux.net>
date Tue, 01 May 2007 18:16:11 +0200
parents ac9c89f6cb51
children a087125d8fc8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
1 #ifndef __EVENTS_H__
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
2 #define __EVENTS_H__ 1
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
3
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
4 #include "jabglue.h"
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
5
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
6
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
7 #define EVS_DEFAULT_TIMEOUT 90
747
9875bc774ddf Event maximum timeout could be higher... Set to 5 days.
Mikael Berthe <mikael@lilotux.net>
parents: 745
diff changeset
8 #define EVS_MAX_TIMEOUT 432000
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
9
952
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 820
diff changeset
10 #define EVS_CONTEXT_TIMEOUT 0U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 820
diff changeset
11 #define EVS_CONTEXT_CANCEL 1U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 820
diff changeset
12 #define EVS_CONTEXT_USER 2U
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
13
749
6c633adaae10 Use events system for subscription requests
Mikael Berthe <mikael@lilotux.net>
parents: 748
diff changeset
14 typedef enum {
1128
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
15 EVS_TYPE_SUBSCRIPTION = 1,
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
16 EVS_TYPE_INVITATION = 2
749
6c633adaae10 Use events system for subscription requests
Mikael Berthe <mikael@lilotux.net>
parents: 748
diff changeset
17 } evs_type;
6c633adaae10 Use events system for subscription requests
Mikael Berthe <mikael@lilotux.net>
parents: 748
diff changeset
18
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
19 /* Common structure for events (evs) and IQ requests (iqs) */
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
20 typedef struct {
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
21 char *id;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
22 time_t ts_create;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
23 time_t ts_expire;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
24 guint8 type;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
25 gpointer data;
1213
4a7db2870685 Improve Private Storage detection.
Mikael Berthe <mikael@lilotux.net>
parents: 1128
diff changeset
26 int (*callback)();
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
27 xmlnode xmldata;
753
584db5f21e43 Improve "/event list"
Mikael Berthe <mikael@lilotux.net>
parents: 749
diff changeset
28 char *desc;
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
29 } eviqs;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
30
1128
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
31 typedef struct {
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
32 char* to;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
33 char* from;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
34 char* passwd;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
35 char* reason;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
36 } event_muc_invitation;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
37
757
ae23c8826efb Improve completion for the "/event" command
Mikael Berthe <mikael@lilotux.net>
parents: 753
diff changeset
38 eviqs *evs_new(guint8 type, time_t timeout);
ae23c8826efb Improve completion for the "/event" command
Mikael Berthe <mikael@lilotux.net>
parents: 753
diff changeset
39 int evs_del(const char *evid);
ae23c8826efb Improve completion for the "/event" command
Mikael Berthe <mikael@lilotux.net>
parents: 753
diff changeset
40 int evs_callback(const char *evid, guint evcontext);
ae23c8826efb Improve completion for the "/event" command
Mikael Berthe <mikael@lilotux.net>
parents: 753
diff changeset
41 void evs_check_timeout(time_t now_t);
ae23c8826efb Improve completion for the "/event" command
Mikael Berthe <mikael@lilotux.net>
parents: 753
diff changeset
42 void evs_display_list(void);
820
80bd7f49075f Allow '*' in /event command
Mikael Berthe <mikael@lilotux.net>
parents: 757
diff changeset
43 GSList *evs_geteventslist(int forcompl);
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
44
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
45 #endif /* __EVENTS_H__ */
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
46
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
47 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */