author | Nicolas Cornu <nicolas.cornu@ensi-bourges.fr> |
Mon, 26 Jul 2010 02:56:15 +0200 | |
changeset 75 | bd48c89b0a3d |
parent 68 | ae8b0d03887e |
child 80 | 1c2ef2c5debe |
permissions | -rw-r--r-- |
21
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
1 |
#ifndef __JINGLE_SESSIONS_H__ |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
2 |
#define __JINGLE_SESSIONS_H__ 1 |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
3 |
|
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
4 |
#include <glib.h> |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
5 |
|
33
92e92ce901e7
a function to find a sessioncontent
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
32
diff
changeset
|
6 |
#include <jingle/register.h> |
92e92ce901e7
a function to find a sessioncontent
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
32
diff
changeset
|
7 |
|
21
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
8 |
|
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
9 |
typedef enum { |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
10 |
JINGLE_SESSION_ |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
11 |
} JingleStatus; |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
12 |
|
38 | 13 |
typedef enum { |
47 | 14 |
JINGLE_SESSION_STATE_ACTIVE, |
15 |
JINGLE_SESSION_STATE_PENDING, |
|
16 |
JINGLE_SESSION_STATE_ENDED, |
|
38 | 17 |
} SessionState; |
18 |
||
21
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
19 |
typedef struct { |
68
ae8b0d03887e
Start the send_session_initiate function
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
67
diff
changeset
|
20 |
JingleStatus status; |
24
c80439433dd7
Fix compilation errors.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
23
diff
changeset
|
21 |
gchar *sid; |
c80439433dd7
Fix compilation errors.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
23
diff
changeset
|
22 |
gchar *initiator; |
c80439433dd7
Fix compilation errors.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
23
diff
changeset
|
23 |
gchar *from; |
21
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
24 |
GSList *content; |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
25 |
} JingleSession; |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
26 |
|
32
72bbe33f151a
Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
31
diff
changeset
|
27 |
typedef struct { |
37
fce6bdc1ff46
Modify comparaison function for session, now basing on name
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
33
diff
changeset
|
28 |
const gchar *name; |
38 | 29 |
SessionState state; |
54
1c1153f9f945
Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
30 |
const gchar *xmlns_desc; |
33
92e92ce901e7
a function to find a sessioncontent
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
32
diff
changeset
|
31 |
gconstpointer description; |
32
72bbe33f151a
Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
31
diff
changeset
|
32 |
JingleAppFuncs *appfuncs; |
54
1c1153f9f945
Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
33 |
const gchar *xmlns_trans; |
33
92e92ce901e7
a function to find a sessioncontent
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
32
diff
changeset
|
34 |
gconstpointer transport; |
32
72bbe33f151a
Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
31
diff
changeset
|
35 |
JingleTransportFuncs *transfuncs; |
72bbe33f151a
Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
31
diff
changeset
|
36 |
} SessionContent; |
72bbe33f151a
Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
31
diff
changeset
|
37 |
|
67
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
38 |
JingleSession *session_new(const gchar *sid, const gchar *initiator, |
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
39 |
const gchar *from); |
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
40 |
JingleSession *session_new_from_jinglenode(JingleNode *jn); |
31
02f5698ffa49
fix jingle_ft_check, make session_find use JingleNodes directly.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
26
diff
changeset
|
41 |
JingleSession *session_find_by_sid(const gchar *sid, const gchar *from); |
02f5698ffa49
fix jingle_ft_check, make session_find use JingleNodes directly.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
26
diff
changeset
|
42 |
JingleSession *session_find(const JingleNode *jn); |
67
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
43 |
void session_add_content(JingleSession *sess, const gchar *name, |
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
44 |
SessionState state); |
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
45 |
void session_add_app(JingleSession *sess, const gchar *name, |
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
46 |
const gchar *xmlns, gconstpointer data); |
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
47 |
void session_add_trans(JingleSession *sess, const gchar *name, |
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
48 |
const gchar *xmlns, gconstpointer data); |
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
49 |
void session_add_content_from_jinglecontent(JingleSession *sess, JingleContent *cn, |
c12618793df0
New functions in sessions
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
54
diff
changeset
|
50 |
SessionState state); |
37
fce6bdc1ff46
Modify comparaison function for session, now basing on name
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
33
diff
changeset
|
51 |
SessionContent *session_find_sessioncontent(JingleSession *sess, const gchar *name); |
54
1c1153f9f945
Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
47
diff
changeset
|
52 |
SessionContent *session_find_transport(const gchar *xmlns_trans, gconstpointer data); |
37
fce6bdc1ff46
Modify comparaison function for session, now basing on name
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
33
diff
changeset
|
53 |
void session_remove_sessioncontent(JingleSession *sess, const gchar *name); |
38 | 54 |
void session_changestate_sessioncontent(JingleSession *sess, const gchar *name, |
55 |
SessionState state); |
|
21
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
56 |
void session_delete(JingleSession *sess); |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
57 |
void session_remove(JingleSession *sess); |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
58 |
void session_free(JingleSession *sess); |
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
59 |
|
75
bd48c89b0a3d
Put jingle_handle_app in sessions.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
68
diff
changeset
|
60 |
void jingle_handle_app(JingleSession *sess, const gchar *name, |
bd48c89b0a3d
Put jingle_handle_app in sessions.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
68
diff
changeset
|
61 |
const gchar *xmlns_app, gconstpointer app, |
bd48c89b0a3d
Put jingle_handle_app in sessions.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
68
diff
changeset
|
62 |
const gchar *to); |
bd48c89b0a3d
Put jingle_handle_app in sessions.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
68
diff
changeset
|
63 |
|
21
147f131382dd
Some sessions management code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff
changeset
|
64 |
#endif |