# HG changeset patch # User Matthew Wild # Date 1284564684 -3600 # Node ID 97bf22d6ff96eb4af23fb466654db278f624f4aa # Parent ccb8ecde8b092f887a3c46e4272f9e08512f8845 plugins.jingle, plugins.jingle_s5b: API changes to allow not sending inside when transfer succeeds diff -r ccb8ecde8b09 -r 97bf22d6ff96 plugins/jingle.lua --- a/plugins/jingle.lua Wed Sep 15 16:17:40 2010 +0100 +++ b/plugins/jingle.lua Wed Sep 15 16:31:24 2010 +0100 @@ -159,9 +159,7 @@ action = command, initiator = self.role == "initiator" and self.stream.jid or nil, responder = self.role == "responder" and self.jid or nil, - }) - :tag("content", { creator = self.creator, name = self.name }) - :add_child(element); + }):add_child(element); if not callback then self.stream:send(stanza); else diff -r ccb8ecde8b09 -r 97bf22d6ff96 plugins/jingle_s5b.lua --- a/plugins/jingle_s5b.lua Wed Sep 15 16:17:40 2010 +0100 +++ b/plugins/jingle_s5b.lua Wed Sep 15 16:31:24 2010 +0100 @@ -141,8 +141,9 @@ if #streamhost_array > 0 then self.connecting_peer_candidates = true; local function onconnect(streamhost, conn) - self.jingle:send_command("transport-info", verse.stanza("transport", { xmlns = xmlns_s5b, sid = self.s5b_sid }) - :tag("candidate-used", { cid = streamhost.cid })); + self.jingle:send_command("transport-info", verse.stanza("content", { creator = self.creator, name = self.name }) + :tag("transport", { xmlns = xmlns_s5b, sid = self.s5b_sid }) + :tag("candidate-used", { cid = streamhost.cid })); self.onconnect_callback = callback; self.conn = conn; end @@ -156,7 +157,8 @@ function s5b:info_received(jingle_tag) stream:warn("Info received"); - local transport_tag = jingle_tag:child_with_name("content"):child_with_name("transport"); + local content_tag = jingle_tag:child_with_name("content"); + local transport_tag = content_tag:child_with_name("transport"); if transport_tag:get_child("candidate-used") and not self.connecting_peer_candidates then local candidate_used = transport_tag:child_with_name("candidate-used"); if candidate_used then @@ -169,8 +171,9 @@ :tag("activate"):text(self.jingle.peer), function (result) if result.attr.type == "result" then - self.jingle:send_command("transport-info", verse.stanza("transport", { xmlns = xmlns_s5b, sid = self.s5b_sid }) - :tag("activated", { cid = candidate_used.attr.cid })); + self.jingle:send_command("transport-info", verse.stanza("content", content_tag.attr) + :tag("transport", { xmlns = xmlns_s5b, sid = self.s5b_sid }) + :tag("activated", { cid = candidate_used.attr.cid })); self.conn = conn; self.onconnect_callback(conn); else