Mercurial > hg
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 |
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 | 10 #define EVS_CONTEXT_TIMEOUT 0U |
11 #define EVS_CONTEXT_CANCEL 1U | |
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 | 15 EVS_TYPE_SUBSCRIPTION = 1, |
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 | 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 | 31 typedef struct { |
32 char* to; | |
33 char* from; | |
34 char* passwd; | |
35 char* reason; | |
36 } event_muc_invitation; | |
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... */ |