annotate mcabber/src/jab_priv.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 bec235cd28a8
children
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 */
1455
bec235cd28a8 Misc. documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 1391
diff changeset
10 #define MCABBER_CAPS_NODE "http://mcabber.com/caps"
1215
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
1215
80c095886fb5 Entity Capabilities support (XEP-0115)
Mikael Berthe <mikael@lilotux.net>
parents: 1213
diff changeset
37 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
38
1254
401639413340 More jabber:iq:last support... (misc)
Mikael Berthe <mikael@lilotux.net>
parents: 1224
diff changeset
39 extern time_t iqlast; /* last message/status change time */
683
c5e0d8c3f00c Introduce new IQ system
Mikael Berthe <mikael@lilotux.net>
parents: 580
diff changeset
40
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
41 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
42 void display_server_error(xmlnode x);
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents: 705
diff changeset
43 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
44 int iqs_del(const char *iqid);
698
60522cf6d325 Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents: 691
diff changeset
45 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
46 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
47 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
48 void request_version(const char *fulljid);
691
3c0a0a993de8 Implement IQ:time requests
Mikael Berthe <mikael@lilotux.net>
parents: 690
diff changeset
49 void request_time(const char *fulljid);
1015
579299b1c9b2 Add /request last
Mikael Berthe <mikael@lilotux.net>
parents: 1008
diff changeset
50 void request_last(const char *fulljid);
1003
c8b1a52b2fd6 Initial VCard retrieval support
Mikael Berthe <mikael@lilotux.net>
parents: 965
diff changeset
51 void request_vcard(const char *barejid);
1008
bbf53cd43fbb Functions to update room bookmarks
Mikael Berthe <mikael@lilotux.net>
parents: 1003
diff changeset
52 void send_storage_bookmarks(void);
1016
4d3c48844746 Add /roster note
Mikael Berthe <mikael@lilotux.net>
parents: 1015
diff changeset
53 void send_storage_rosternotes(void);
577
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
54
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
55 #endif /* __JAB_PRIV_H__ */
5c6d364130ee Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
56
580
fed6d1e4d7a9 Fix modelines
Mikael Berthe <mikael@lilotux.net>
parents: 578
diff changeset
57 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */