plugins.jingle_ft: Update to version 0.16

Fri, 01 May 2015 21:46:24 +0200

author
Kim Alvefur <zash@zash.se>
date
Fri, 01 May 2015 21:46:24 +0200
changeset 379
d80d27234e38
parent 368
154c2f04d73b
child 380
0891b4e27766

plugins.jingle_ft: Update to version 0.16

plugins/jingle_ft.lua file | annotate | diff | comparison | revisions
--- a/plugins/jingle_ft.lua	Sun Nov 16 19:33:18 2014 +0100
+++ b/plugins/jingle_ft.lua	Fri May 01 21:46:24 2015 +0200
@@ -3,8 +3,7 @@
 
 local dirsep = package.config:sub(1,1);
 
-local xmlns_jingle_ft = "urn:xmpp:jingle:apps:file-transfer:1";
-local xmlns_si_file_transfer = "http://jabber.org/protocol/si/profile/file-transfer";
+local xmlns_jingle_ft = "urn:xmpp:jingle:apps:file-transfer:4";
 
 function verse.plugins.jingle_ft(stream)
 	stream:hook("ready", function ()
@@ -26,10 +25,12 @@
 	
 	local ft_mt = { __index = ft_content };
 	stream:hook("jingle/content/"..xmlns_jingle_ft, function (jingle, description_tag)
-		local file_tag = description_tag:get_child("offer"):get_child("file", xmlns_si_file_transfer);
+		local file_tag = description_tag:get_child("file");
 		local file = {
-			name = file_tag.attr.name;
-			size = tonumber(file_tag.attr.size);
+			name = file_tag:get_child_text("name");
+			size = tonumber(file_tag:get_child_text("size"));
+			desc = file_tag:get_child_text("desc");
+			date = file_tag:get_child_text("date");
 		};
 		
 		return setmetatable({ jingle = jingle, file = file }, ft_mt);
@@ -42,14 +43,12 @@
 			date = os.date("!%Y-%m-%dT%H:%M:%SZ", file_info.timestamp);
 		end
 		return verse.stanza("description", { xmlns = xmlns_jingle_ft })
-			:tag("offer")
-				:tag("file", { xmlns = xmlns_si_file_transfer,
-					name = file_info.filename, -- Mandatory
-					size = file_info.size, -- Mandatory
-					date = date,
-					hash = file_info.hash,
-				})
-					:tag("desc"):text(file_info.description or "");
+			:tag("file")
+				:tag("name"):text(file_info.filename):up()
+				:tag("size"):text(tostring(file_info.size)):up()
+				:tag("date"):text(date):up()
+				:tag("desc"):text(file_info.description):up()
+			:up();
 	end);
 
 	function stream:send_file(to, filename)

mercurial