[telepathy-gabble/master] Include 'creator' in transport-info <content>s

Will Thompson will.thompson at collabora.co.uk
Wed Jun 17 04:03:16 PDT 2009


---
 src/jingle-transport-google.c           |   16 ++++++++++++----
 tests/twisted/jingle/incoming-basics.py |    4 ++++
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/jingle-transport-google.c b/src/jingle-transport-google.c
index 4a216a7..b328c19 100644
--- a/src/jingle-transport-google.c
+++ b/src/jingle-transport-google.c
@@ -395,14 +395,22 @@ transmit_candidates (GabbleJingleTransportGoogle *transport, GList *candidates)
     {
       const gchar *name = gabble_jingle_content_get_name (priv->content);
       const gchar *ns = gabble_jingle_content_get_ns (priv->content);
+      LmMessageNode *content_node;
+
+      /* FIXME: this should use gabble_jingle_content_produce_node(); #22236 */
 
       /* we need the <content> ... */
-      trans_node = lm_message_node_add_child (sess_node, "content", NULL);
-      lm_message_node_set_attribute (trans_node, "xmlns", ns);
-      lm_message_node_set_attribute (trans_node, "name", name);
+      content_node = lm_message_node_add_child (sess_node, "content", NULL);
+      lm_message_node_set_attribute (content_node, "xmlns", ns);
+      lm_message_node_set_attribute (content_node, "name", name);
+
+      if (gabble_jingle_content_creator_is_initiator (priv->content))
+        lm_message_node_set_attribute (content_node, "creator", "initiator");
+      else
+        lm_message_node_set_attribute (content_node, "creator", "responder");
 
       /* .. and the <transport> node */
-      trans_node = lm_message_node_add_child (trans_node, "transport", NULL);
+      trans_node = lm_message_node_add_child (content_node, "transport", NULL);
       lm_message_node_set_attribute (trans_node, "xmlns", priv->transport_ns);
     }
 
diff --git a/tests/twisted/jingle/incoming-basics.py b/tests/twisted/jingle/incoming-basics.py
index cbffbc0..7043d75 100644
--- a/tests/twisted/jingle/incoming-basics.py
+++ b/tests/twisted/jingle/incoming-basics.py
@@ -139,6 +139,10 @@ def test(jp, q, bus, conn, stream):
     e = q.expect('stream-iq', predicate=jp.action_predicate('transport-info'))
     assertEquals('foo at bar.com/Foo', e.query['initiator'])
 
+    if jp.dialect in ['jingle-v0.15', 'jingle-v0.31']:
+        content = xpath.queryForNodes('/iq/jingle/content', e.stanza)[0]
+        assertEquals('initiator', content['creator'])
+
     stream.send(make_result_iq(stream, e.stanza))
 
     # At last, accept the call
-- 
1.5.6.5



More information about the telepathy-commits mailing list