libpurple/protocols/jabber/jingle.h

branch
soc.2008.vv
changeset 23697
299bafcd8eb8
parent 22649
d29483a90e40
child 23698
0815965bd80b
equal deleted inserted replaced
23696:1049b744d8c8 23697:299bafcd8eb8
24 #include <glib.h> 24 #include <glib.h>
25 #include <glib-object.h> 25 #include <glib-object.h>
26 26
27 #ifdef USE_FARSIGHT 27 #ifdef USE_FARSIGHT
28 28
29 #include <farsight/farsight.h>
30
31 G_BEGIN_DECLS 29 G_BEGIN_DECLS
32 30
33 typedef struct { 31 typedef struct {
34 char *id; 32 char *id;
35 JabberStream *js; 33 JabberStream *js;
36 FarsightStream *stream;
37 PurpleMedia *media; 34 PurpleMedia *media;
38 char *remote_jid; 35 char *remote_jid;
39 char *initiator; 36 char *initiator;
40 gboolean is_initiator; 37 gboolean is_initiator;
41 GList *remote_candidates; 38 gboolean session_started;
42 GList *remote_codecs;
43 } JingleSession; 39 } JingleSession;
44 40
45 JingleSession *jabber_jingle_session_create(JabberStream *js); 41 JingleSession *jabber_jingle_session_create(JabberStream *js);
46 JingleSession *jabber_jingle_session_create_by_id(JabberStream *js, 42 JingleSession *jabber_jingle_session_create_by_id(JabberStream *js,
47 const char *id); 43 const char *id);
50 JabberStream *jabber_jingle_session_get_js(const JingleSession *sess); 46 JabberStream *jabber_jingle_session_get_js(const JingleSession *sess);
51 47
52 void jabber_jingle_session_destroy(JingleSession *sess); 48 void jabber_jingle_session_destroy(JingleSession *sess);
53 49
54 JingleSession *jabber_jingle_session_find_by_id(const char *id); 50 JingleSession *jabber_jingle_session_find_by_id(const char *id);
55 51 GList *jabber_jingle_session_find_by_js(JabberStream *js);
56 FarsightStream *jabber_jingle_session_get_stream(const JingleSession *sess); 52 JingleSession *jabber_jingle_session_find_by_jid(JabberStream *js, const char *jid);
57 void jabber_jingle_session_set_stream(JingleSession *sess, FarsightStream *stream);
58 53
59 PurpleMedia *jabber_jingle_session_get_media(const JingleSession *sess); 54 PurpleMedia *jabber_jingle_session_get_media(const JingleSession *sess);
60 void jabber_jingle_session_set_media(JingleSession *sess, PurpleMedia *media); 55 void jabber_jingle_session_set_media(JingleSession *sess, PurpleMedia *media);
61 56
62 const char *jabber_jingle_session_get_remote_jid(const JingleSession *sess); 57 const char *jabber_jingle_session_get_remote_jid(const JingleSession *sess);
68 63
69 const char *jabber_jingle_session_get_initiator(const JingleSession *sess); 64 const char *jabber_jingle_session_get_initiator(const JingleSession *sess);
70 void jabber_jingle_session_set_initiator(JingleSession *sess, 65 void jabber_jingle_session_set_initiator(JingleSession *sess,
71 const char *initiator); 66 const char *initiator);
72 67
73 void jabber_jingle_session_add_remote_candidate(JingleSession *sess,
74 const GList *candidate);
75
76 xmlnode *jabber_jingle_session_create_terminate(const JingleSession *sess, 68 xmlnode *jabber_jingle_session_create_terminate(const JingleSession *sess,
77 const char *reasoncode, 69 const char *reasoncode,
78 const char *reasontext); 70 const char *reasontext);
79
80 xmlnode *jabber_jingle_session_create_session_accept(const JingleSession *sess); 71 xmlnode *jabber_jingle_session_create_session_accept(const JingleSession *sess);
81 xmlnode *jabber_jingle_session_create_transport_info(const JingleSession *sess, 72 xmlnode *jabber_jingle_session_create_transport_info(const JingleSession *sess);
82 gchar *candidate_id);
83 xmlnode *jabber_jingle_session_create_content_replace(const JingleSession *sess, 73 xmlnode *jabber_jingle_session_create_content_replace(const JingleSession *sess,
84 gchar *native_candidate_id, 74 FsCandidate *native_candidate,
85 gchar *remote_candidate_id); 75 FsCandidate *remote_candidate);
86 xmlnode *jabber_jingle_session_create_content_accept(const JingleSession *sess); 76 xmlnode *jabber_jingle_session_create_content_accept(const JingleSession *sess);
77 xmlnode *jabber_jingle_session_create_description(const JingleSession *sess);
87 78
88 /** 79 /**
89 * Gets a list of Farsight codecs from a Jingle <description> tag 80 * Gets a list of Farsight codecs from a Jingle <description> tag
90 * 81 *
91 * @param description 82 * @param description
93 */ 84 */
94 GList *jabber_jingle_get_codecs(const xmlnode *description); 85 GList *jabber_jingle_get_codecs(const xmlnode *description);
95 86
96 GList *jabber_jingle_get_candidates(const xmlnode *transport); 87 GList *jabber_jingle_get_candidates(const xmlnode *transport);
97 88
98 void jabber_jingle_session_set_remote_codecs(JingleSession *sess,
99 GList *codecs);
100 GList *jabber_jingle_session_get_remote_codecs(const JingleSession *sess);
101
102 G_END_DECLS 89 G_END_DECLS
103 90
104 #endif /* USE_FARSIGHT */ 91 #endif /* USE_FARSIGHT */
105 92
106 #endif /* JINGLE_H */ 93 #endif /* JINGLE_H */

mercurial