annotate mcabber/src/events.h @ 1461:8fa24a6d1a93

Improve Remote Controlling Clients The XEP recommends adding the node to the IQ response. Some clients seem not to understand the answer when it is omitted. Problem reported by Rhaamo and js (thanks to js for spotting the node issue!).
author Mikael Berthe <mikael@lilotux.net>
date Sat, 12 Apr 2008 13:35:03 +0200
parents 4a7db2870685
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... */