[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