annotate mcabber/src/jab_priv.h @ 1254:401639413340

More jabber:iq:last support... (misc) This is a patch from Michael Scherer to answer iq:last requests, slightly modified.
author Mikael Berthe <mikael@lilotux.net>
date Fri, 22 Jun 2007 19:21:23 +0200
parents fb0460a3cf4b
children 7daf906fbcdc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
1 #ifndef __JAB_PRIV_H__
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
2 #define __JAB_PRIV_H__ 1
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
3
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
4 /* This header file declares functions used by jab*.c only. */
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
5
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
6 #include "jabglue.h"
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents: 705
diff changeset
7 #include "events.h"
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
8
1215
80c095886fb5 Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents: 1213
diff changeset
9 /* XEP-0115 (Entity Capabilities) node */
80c095886fb5 Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents: 1213
diff changeset
10 #define MCABBER_CAPS_NODE "http://mcabber.lilotux.net/caps"
80c095886fb5 Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents: 1213
diff changeset
11
80c095886fb5 Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents: 1213
diff changeset
12 #define JABBER_AGENT_GROUP "Jabber Agents"
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
13
578
b3ab662757a0 Fix connection issue
Mikael Berthe <mikael@lilotux.net>
parents: 577
diff changeset
14 enum enum_jstate {
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
15 STATE_CONNECTING,
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
16 STATE_GETAUTH,
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
17 STATE_SENDAUTH,
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
18 STATE_LOGGED
578
b3ab662757a0 Fix connection issue
Mikael Berthe <mikael@lilotux.net>
parents: 577
diff changeset
19 };
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
20
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
21 struct T_presence {
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
22 enum imstatus st;
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
23 const char *msg;
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
24 };
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
25
683
c5e0d8c3f00c Introduce new IQ system
Mikael Berthe <mikael@lilotux.net>
parents: 580
diff changeset
26
965
1bdf0f1b16c0 Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents: 814
diff changeset
27 #define IQS_DEFAULT_TIMEOUT 90U
1bdf0f1b16c0 Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents: 814
diff changeset
28 #define IQS_MAX_TIMEOUT 600U
683
c5e0d8c3f00c Introduce new IQ system
Mikael Berthe <mikael@lilotux.net>
parents: 580
diff changeset
29
965
1bdf0f1b16c0 Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents: 814
diff changeset
30 #define IQS_CONTEXT_RESULT 0U /* Normal result should be zero */
1bdf0f1b16c0 Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents: 814
diff changeset
31 #define IQS_CONTEXT_TIMEOUT 1U
1bdf0f1b16c0 Use U suffix for unsigned defines
Mikael Berthe <mikael@lilotux.net>
parents: 814
diff changeset
32 #define IQS_CONTEXT_ERROR 2U
698
60522cf6d325 Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents: 691
diff changeset
33
578
b3ab662757a0 Fix connection issue
Mikael Berthe <mikael@lilotux.net>
parents: 577
diff changeset
34 extern enum enum_jstate jstate;
1016
4d3c48844746 Add /roster note
Mikael Berthe <mikael@lilotux.net>
parents: 1015
diff changeset
35 extern xmlnode bookmarks, rosternotes;
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
36
814
109dcf5fc111 Use hgcset (if available) when answering to IQ:version requests
Mikael Berthe <mikael@lilotux.net>
parents: 745
diff changeset
37 extern char *mcabber_version(void);
1215
80c095886fb5 Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents: 1213
diff changeset
38 const char *entity_version(void);
814
109dcf5fc111 Use hgcset (if available) when answering to IQ:version requests
Mikael Berthe <mikael@lilotux.net>
parents: 745
diff changeset
39
1254
401639413340 More jabber:iq:last support... (misc)
Mikael Berthe <mikael@lilotux.net>
parents: 1224
diff changeset
40 extern time_t iqlast; /* last message/status change time */
683
c5e0d8c3f00c Introduce new IQ system
Mikael Berthe <mikael@lilotux.net>
parents: 580
diff changeset
41
1058
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1016
diff changeset
42 char *jidtodisp(const char *fjid);
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
43 void handle_packet_iq(jconn conn, char *type, char *from, xmlnode xmldata);
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
44 void display_server_error(xmlnode x);
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents: 705
diff changeset
45 eviqs *iqs_new(guint8 type, const char *ns, const char *prefix, time_t timeout);
683
c5e0d8c3f00c Introduce new IQ system
Mikael Berthe <mikael@lilotux.net>
parents: 580
diff changeset
46 int iqs_del(const char *iqid);
698
60522cf6d325 Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents: 691
diff changeset
47 int iqs_callback(const char *iqid, xmlnode xml_result, guint iqcontext);
705
603b43e4f56a Fix a bug in iqs_check_timeout()
Mikael Berthe <mikael@lilotux.net>
parents: 698
diff changeset
48 void iqs_check_timeout(time_t now_t);
1224
fb0460a3cf4b Fix iqscallback_auth() when authentication fails
Mikael Berthe <mikael@lilotux.net>
parents: 1215
diff changeset
49 int iqscallback_auth(eviqs *iqp, xmlnode xml_result, guint iqcontext);
690
3e965a1186c7 Implement IQ:version requests
Mikael Berthe <mikael@lilotux.net>
parents: 686
diff changeset
50 void request_version(const char *fulljid);
691
3c0a0a993de8 Implement IQ:time requests
Mikael Berthe <mikael@lilotux.net>
parents: 690
diff changeset
51 void request_time(const char *fulljid);
1015
579299b1c9b2 Add /request last
Mikael Berthe <mikael@lilotux.net>
parents: 1008
diff changeset
52 void request_last(const char *fulljid);
1003
c8b1a52b2fd6 Initial VCard retrieval support
Mikael Berthe <mikael@lilotux.net>
parents: 965
diff changeset
53 void request_vcard(const char *barejid);
1008
bbf53cd43fbb Functions to update room bookmarks
Mikael Berthe <mikael@lilotux.net>
parents: 1003
diff changeset
54 void send_storage_bookmarks(void);
1016
4d3c48844746 Add /roster note
Mikael Berthe <mikael@lilotux.net>
parents: 1015
diff changeset
55 void send_storage_rosternotes(void);
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
56
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
57 #endif /* __JAB_PRIV_H__ */
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
58
580
fed6d1e4d7a9 Fix modelines
Mikael Berthe <mikael@lilotux.net>
parents: 578
diff changeset
59 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */