author | Mikael Berthe <mikael@lilotux.net> |
Sun, 12 Feb 2006 11:06:26 +0100 | |
changeset 698 | 60522cf6d325 |
parent 691 | 3c0a0a993de8 |
child 705 | 603b43e4f56a |
permissions | -rw-r--r-- |
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 |
|
23 |
#define IQS_DEFAULT_TIMEOUT 40 |
|
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); |
683 | 51 |
void iqs_check_timeout(void); |
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... */ |