author | Nicolas Cornu <nicolas.cornu@ensi-bourges.fr> |
Mon, 16 Aug 2010 23:36:49 +0200 | |
changeset 138 | dde8eaf7ff2c |
parent 137 | 14ef2cb0bd2b |
child 144 | efc92c939fef |
permissions | -rw-r--r-- |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
1 |
#ifndef __JINGLE_H__ |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
2 |
#define __JINGLE_H__ 1 |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
3 |
|
138 | 4 |
/** |
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
5 |
* \file jingle.h |
138 | 6 |
* \brief |
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
7 |
* \author Nicolas Cornu |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
8 |
* \version 0.1 |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
9 |
*/ |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
10 |
|
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
11 |
#include <glib.h> |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
12 |
#include <loudmouth/loudmouth.h> |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
13 |
|
74 | 14 |
|
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
15 |
#define NS_JINGLE "urn:xmpp:jingle:1" |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
16 |
#define NS_JINGLE_ERRORS "urn:xmpp:jingle:errors:1" |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
17 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
18 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
19 |
* \enum JingleAction |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
20 |
* \brief Jingle actions constants |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
21 |
*/ |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
22 |
typedef enum { |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
23 |
JINGLE_UNKNOWN_ACTION, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
24 |
JINGLE_CONTENT_ACCEPT, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
25 |
JINGLE_CONTENT_ADD, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
26 |
JINGLE_CONTENT_MODIFY, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
27 |
JINGLE_CONTENT_REJECT, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
28 |
JINGLE_CONTENT_REMOVE, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
29 |
JINGLE_DESCRIPTION_INFO, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
30 |
JINGLE_SECURITY_INFO, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
31 |
JINGLE_SESSION_ACCEPT, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
32 |
JINGLE_SESSION_INFO, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
33 |
JINGLE_SESSION_INITIATE, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
34 |
JINGLE_SESSION_TERMINATE, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
35 |
JINGLE_TRANSPORT_ACCEPT, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
36 |
JINGLE_TRANSPORT_INFO, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
37 |
JINGLE_TRANSPORT_REJECT, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
38 |
JINGLE_TRANSPORT_REPLACE, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
39 |
} JingleAction; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
40 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
41 |
typedef enum { |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
42 |
JINGLE_CREATOR_INITIATOR, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
43 |
JINGLE_CREATOR_RESPONDER, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
44 |
} JingleCreator; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
45 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
46 |
typedef enum { |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
47 |
JINGLE_SENDERS_BOTH, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
48 |
JINGLE_SENDERS_INITIATOR, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
49 |
JINGLE_SENDERS_NONE, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
50 |
JINGLE_SENDERS_RESPONDER, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
51 |
} JingleSenders; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
52 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
53 |
typedef struct { |
18
d0ddcfd31eb8
Change the way the header files are included.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
15
diff
changeset
|
54 |
/* pointer to the original LmMessage */ |
d0ddcfd31eb8
Change the way the header files are included.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
15
diff
changeset
|
55 |
LmMessage *message; |
d0ddcfd31eb8
Change the way the header files are included.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
15
diff
changeset
|
56 |
|
22
a089f2f49e9f
Produce new LmMessageNode with a struct Jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
21
diff
changeset
|
57 |
/* pointer to the <jingle> element */ |
18
d0ddcfd31eb8
Change the way the header files are included.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
15
diff
changeset
|
58 |
LmMessageNode *node; |
d0ddcfd31eb8
Change the way the header files are included.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
15
diff
changeset
|
59 |
|
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
60 |
/* action attribute */ |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
61 |
JingleAction action; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
62 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
63 |
/* full JID of the entity that has initiated the session flow. |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
64 |
* may be different from the 'from' address on the IQ-set of the |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
65 |
* session-initiate message. |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
66 |
* recommended for session-initiate, not recommended otherwise. */ |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
67 |
const gchar *initiator; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
68 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
69 |
/* full JID of the entity that has replied to the initation. |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
70 |
* can be different from the 'to' address on the IQ-set. |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
71 |
* recommended for session-accept, not recommended otherwise. */ |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
72 |
const gchar *responder; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
73 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
74 |
/* Random session identifier generated by the initator. */ |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
75 |
const gchar *sid; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
76 |
|
21
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
20
diff
changeset
|
77 |
/* Linked list of JingleContent. */ |
18
d0ddcfd31eb8
Change the way the header files are included.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
15
diff
changeset
|
78 |
GSList *content; |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
79 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
80 |
} JingleNode; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
81 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
82 |
typedef struct { |
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
83 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
84 |
* pointer to the <content> element |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
85 |
*/ |
21
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
20
diff
changeset
|
86 |
LmMessageNode *node; |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
20
diff
changeset
|
87 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
88 |
/** which party originally generated the content type. |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
89 |
* the defined values are "initiator" and "responder" |
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
90 |
* (where the default is "initiator"). required. |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
91 |
*/ |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
92 |
JingleCreator creator; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
93 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
94 |
/** how the content definition is to be interpreted by the recipient. |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
95 |
* optional, the default value is "session". |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
96 |
*/ |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
97 |
const gchar *disposition; // optional, default=session |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
98 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
99 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
100 |
* A unique name or identifier for the content type |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
101 |
* according to the creator. required. |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
102 |
*/ |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
103 |
const gchar *name; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
104 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
105 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
106 |
* which parties in the session will be generating content. |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
107 |
* allowable values are both, initiator, none, responder. |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
108 |
* default is both. |
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
109 |
* required for content-modify, optional otherwise |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
110 |
*/ |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
111 |
JingleSenders senders; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
112 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
113 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
114 |
* each content element (must) contain one description |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
115 |
* child element that specifies a desired application. |
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
116 |
* the connt of this node is app specific. |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
117 |
*/ |
32
72bbe33f151a
Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
31
diff
changeset
|
118 |
LmMessageNode *description; |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
119 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
120 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
121 |
* each content element (must) contain one transport |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
122 |
* child element that specifies a potential transport |
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
123 |
* method |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
124 |
*/ |
32
72bbe33f151a
Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
31
diff
changeset
|
125 |
LmMessageNode *transport; |
20
72e53665328e
Add a function to check a file transfert request.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
18
diff
changeset
|
126 |
} JingleContent; |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
127 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
128 |
struct JingleActionList { |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
129 |
const gchar *name; |
45
c007e112dd54
Delete LmMessage * in handlers
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
44
diff
changeset
|
130 |
void (*handler)(JingleNode *); |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
131 |
}; |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
132 |
|
129
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
133 |
typedef enum { |
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
134 |
JINGLE_ACK_RESPONSE, |
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
135 |
JINGLE_ACK_TIMEOUT |
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
136 |
} JingleAckType; |
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
137 |
|
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
138 |
typedef void (*JingleAckCallback) (JingleAckType type, LmMessage *, gpointer); |
52
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
139 |
|
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
140 |
typedef struct { |
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
141 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
142 |
* function to be called when we receive a response to the IQ |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
143 |
*/ |
52
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
144 |
JingleAckCallback callback; |
129
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
145 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
146 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
147 |
* additional data to pass to callback |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
148 |
*/ |
52
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
149 |
gpointer *user_data; |
129
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
150 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
151 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
152 |
* if no response was received after timeout seconds, callback |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
153 |
* will be called with JINGLE_ACK_TIMEOUT as type |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
154 |
*/ |
129
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
155 |
guint timeout; |
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
156 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
157 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
158 |
* \private |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
159 |
* |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
160 |
* date at which the handler was inserted using |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
161 |
* jingle_new_ack_handler |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
162 |
*/ |
129
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
163 |
time_t _inserted; |
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
164 |
|
137
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
165 |
/** |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
166 |
* \private |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
167 |
* |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
168 |
* a pointer to the LmMessageHandler created |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
169 |
* using jingle_new_ack_handler |
14ef2cb0bd2b
Add a Doxyfile to generate the reference using Doxygen.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
133
diff
changeset
|
170 |
*/ |
129
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
171 |
LmMessageHandler *_handler; |
52
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
172 |
} JingleAckHandle; |
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
173 |
|
107 | 174 |
typedef struct { |
175 |
const gchar *sid; |
|
176 |
const gchar *from; |
|
177 |
const gchar *name; |
|
178 |
} session_content; |
|
52
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
179 |
|
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
180 |
LmHandlerResult jingle_handle_ack_iq(LmMessageHandler *handler, |
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
181 |
LmConnection *connection, |
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
182 |
LmMessage *message, gpointer user_data); |
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
183 |
LmMessageHandler *jingle_new_ack_handler(JingleAckHandle *ri); |
129
2d5c3efda92a
Add a timeout to the AckHandlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
121
diff
changeset
|
184 |
void jingle_ack_handler_free(JingleAckHandle *ah); |
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
185 |
|
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
186 |
LmMessage *jingle_new_iq_error(LmMessage *m, const gchar *errtype, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
187 |
const gchar *cond, const gchar *jinglecond); |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
188 |
void jingle_send_iq_error(LmMessage *m, const gchar *errtype, |
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
189 |
const gchar *cond, const gchar *jinglecond); |
52
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
190 |
|
79
a654afc4a74a
Function to detect which jid resource support jingle.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
75
diff
changeset
|
191 |
gchar *jingle_find_compatible_res(const gchar *jid, const gchar *ns[]); |
a654afc4a74a
Function to detect which jid resource support jingle.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
75
diff
changeset
|
192 |
|
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
193 |
void jingle_ack_iq(LmMessage *m); |
52
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
194 |
|
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
195 |
void jingle_free_jinglenode(JingleNode *jn); |
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
196 |
|
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
197 |
JingleAction jingle_action_from_str(const gchar* string); |
52
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
198 |
|
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
199 |
gboolean evscallback_jingle(guint evcontext, const gchar *arg, |
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
200 |
gpointer userdata); |
54
1c1153f9f945
Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
52
diff
changeset
|
201 |
|
133
361d8577ebd1
Change the way IBB work
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
129
diff
changeset
|
202 |
void handle_trans_data(gconstpointer data, const gchar *data2, guint len); |
52
d803c882a182
Fix the ack handlers.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
203 |
|
79
a654afc4a74a
Function to detect which jid resource support jingle.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
75
diff
changeset
|
204 |
gchar *jingle_generate_sid(void); |
74 | 205 |
|
121
3a3c0e16ea00
Delete some part which wasn't use
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
118
diff
changeset
|
206 |
void handle_trans_next(session_content *sc2); |
3a3c0e16ea00
Delete some part which wasn't use
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
118
diff
changeset
|
207 |
|
14
77966ed56e14
Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
208 |
#endif |