Mercurial > hg
annotate mcabber/src/jab_priv.h @ 730:e46c680bdd3d
New color: color_highlight (for outgoing messages)
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Mon, 06 Mar 2006 12:16:23 +0100 |
parents | 603b43e4f56a |
children | 413e95f3051a |
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" |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
7 |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
8 #define JABBER_AGENT_GROUP "Jabber Agents" |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
9 |
578 | 10 enum enum_jstate { |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
11 STATE_CONNECTING, |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
12 STATE_GETAUTH, |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
13 STATE_SENDAUTH, |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
14 STATE_LOGGED |
578 | 15 }; |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
16 |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
17 struct T_presence { |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
18 enum imstatus st; |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
19 const char *msg; |
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 |
683 | 22 |
705
603b43e4f56a
Fix a bug in iqs_check_timeout()
Mikael Berthe <mikael@lilotux.net>
parents:
698
diff
changeset
|
23 #define IQS_DEFAULT_TIMEOUT 90 |
683 | 24 #define IQS_MAX_TIMEOUT 600 |
25 | |
698
60522cf6d325
Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents:
691
diff
changeset
|
26 #define IQS_CONTEXT_RESULT 0 /* Normal result should be zero */ |
60522cf6d325
Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents:
691
diff
changeset
|
27 #define IQS_CONTEXT_TIMEOUT 1 |
60522cf6d325
Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents:
691
diff
changeset
|
28 #define IQS_CONTEXT_ERROR 2 |
60522cf6d325
Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents:
691
diff
changeset
|
29 |
60522cf6d325
Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents:
691
diff
changeset
|
30 |
683 | 31 typedef struct { |
32 char *id; | |
33 time_t ts_create; | |
34 time_t ts_expire; | |
35 guint8 type; | |
36 gpointer data; | |
37 void (*callback)(); | |
38 xmlnode xmldata; | |
39 } iqs; | |
40 | |
41 | |
578 | 42 extern enum enum_jstate jstate; |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
43 |
683 | 44 |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
45 char *jidtodisp(const char *jid); |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
46 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
|
47 void display_server_error(xmlnode x); |
683 | 48 iqs *iqs_new(guint8 type, const char *ns, const char *prefix, time_t timeout); |
49 int iqs_del(const char *iqid); | |
698
60522cf6d325
Propagate context to IQ callback functions
Mikael Berthe <mikael@lilotux.net>
parents:
691
diff
changeset
|
50 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
|
51 void iqs_check_timeout(time_t now_t); |
686
98de2d166a11
Use the new IQ system for authentication
Mikael Berthe <mikael@lilotux.net>
parents:
683
diff
changeset
|
52 void iqscallback_auth(iqs *iqp, xmlnode xml_result); |
690
3e965a1186c7
Implement IQ:version requests
Mikael Berthe <mikael@lilotux.net>
parents:
686
diff
changeset
|
53 void request_version(const char *fulljid); |
691
3c0a0a993de8
Implement IQ:time requests
Mikael Berthe <mikael@lilotux.net>
parents:
690
diff
changeset
|
54 void request_time(const char *fulljid); |
577
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
55 |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
56 #endif /* __JAB_PRIV_H__ */ |
5c6d364130ee
Move IQ Jabber stuff to a separate file
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
57 |
580 | 58 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */ |