[Telepathy-commits] [telepathy-gabble/master] gabble_bytestream_factory_make_multi_accept_iq: send multi stream methods in <si-multiple>

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Tue Jan 6 08:41:35 PST 2009


---
 src/bytestream-factory.c                |    8 ++++++--
 tests/twisted/tubes/test-si-fallback.py |    8 +++++---
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/bytestream-factory.c b/src/bytestream-factory.c
index c09d402..427c2c8 100644
--- a/src/bytestream-factory.c
+++ b/src/bytestream-factory.c
@@ -1688,6 +1688,7 @@ gabble_bytestream_factory_make_multi_accept_iq (const gchar *full_jid,
                                                 GList *stream_methods)
 {
   LmMessage *msg;
+  LmMessageNode *multi_node;
   GList *l;
 
   msg = lm_message_build (full_jid, LM_MESSAGE_TYPE_IQ,
@@ -1695,12 +1696,15 @@ gabble_bytestream_factory_make_multi_accept_iq (const gchar *full_jid,
       '@', "id", stream_init_id,
       '(', "si", "",
         '@', "xmlns", NS_SI,
+        '(', "si-multiple", "",
+          '@', "xmlns", NS_SI_MULTIPLE,
+          '*', &multi_node,
+        ')',
       ')', NULL);
 
   for (l = stream_methods; l != NULL; l = l->next)
     {
-      lm_message_node_add_child (msg->node->children,
-          "value", l->data);
+      lm_message_node_add_child (multi_node, "value", l->data);
     }
 
   return msg;
diff --git a/tests/twisted/tubes/test-si-fallback.py b/tests/twisted/tubes/test-si-fallback.py
index 8e90b54..129a777 100644
--- a/tests/twisted/tubes/test-si-fallback.py
+++ b/tests/twisted/tubes/test-si-fallback.py
@@ -161,15 +161,17 @@ def test(q, bus, conn, stream):
             EventPattern('stream-iq', iq_type='result'),
             EventPattern('dbus-signal', signal='TubeChannelStateChanged',
                 args=[2])) # 2 == OPEN
+
     iq = si_reply_event.stanza
-    si = xpath.queryForNodes('/iq/si[@xmlns="%s"]' % NS_SI, iq)[0]
-    methods = xpath.queryForNodes('/si/value', si)
+    methods = xpath.queryForNodes('/iq/si[@xmlns="%s"]/si-multiple[@xmlns="%s"]/value' %
+            (NS_SI, NS_SI_MULTIPLE), iq)
     assert len(methods) == 2
     assert methods[0].name == 'value'
     assert str(methods[0]) == NS_BYTESTREAMS
     assert methods[1].name == 'value'
     assert str(methods[1]) == NS_IBB
-    tube = xpath.queryForNodes('/si/tube[@xmlns="%s"]' % NS_TUBES, si)
+    tube = xpath.queryForNodes('/iq/si[@xmlns="%s"]/tube[@xmlns="%s"]' %
+            (NS_SI, NS_TUBES), iq)
     assert len(tube) == 1
 
     q.expect('dbus-signal', signal='StreamTubeNewConnection',
-- 
1.5.6.5




More information about the Telepathy-commits mailing list