diff options
author | Tobias Markmann <tm@ayena.de> | 2014-12-17 15:21:30 (GMT) |
---|---|---|
committer | Swift Review <review@swift.im> | 2015-02-03 10:03:17 (GMT) |
commit | b5fc240f1cf4e340e04177a23cb8cf827b9ca16b (patch) | |
tree | 13d701e160af328553551974e55fea876d21eed8 /Swiften/Serializer/PayloadSerializers/JingleFileTransferHashSerializer.cpp | |
parent | d860805af76ec85e003bf3019407bbb7acd218c9 (diff) | |
download | swift-b5fc240f1cf4e340e04177a23cb8cf827b9ca16b.zip swift-b5fc240f1cf4e340e04177a23cb8cf827b9ca16b.tar.bz2 |
Update Jingle FT protocol to namespace verison urn:xmpp:jingle:apps:file-transfer:4.
Test-Information:
Adjusted unit tests and successfully build/run them on OS X 10.9.5.
Change-Id: I63789e3fb351999f719157b54fa9fcf95f40fb07
Diffstat (limited to 'Swiften/Serializer/PayloadSerializers/JingleFileTransferHashSerializer.cpp')
-rw-r--r-- | Swiften/Serializer/PayloadSerializers/JingleFileTransferHashSerializer.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/Swiften/Serializer/PayloadSerializers/JingleFileTransferHashSerializer.cpp b/Swiften/Serializer/PayloadSerializers/JingleFileTransferHashSerializer.cpp index 2bd3afa..f416ddc 100644 --- a/Swiften/Serializer/PayloadSerializers/JingleFileTransferHashSerializer.cpp +++ b/Swiften/Serializer/PayloadSerializers/JingleFileTransferHashSerializer.cpp @@ -4,6 +4,12 @@ * See Documentation/Licenses/BSD-simplified.txt for more information. */ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + #include <Swiften/Serializer/PayloadSerializers/JingleFileTransferHashSerializer.h> #include <string> @@ -16,7 +22,7 @@ #include <Swiften/Serializer/XML/XMLNode.h> #include <Swiften/Serializer/XML/XMLElement.h> #include <Swiften/Serializer/XML/XMLRawTextNode.h> - +#include <Swiften/Serializer/PayloadSerializers/JingleFileTransferFileInfoSerializer.h> namespace Swift { @@ -27,17 +33,14 @@ std::string JingleFileTransferHashSerializer::serializePayload(boost::shared_ptr // code for version urn:xmpp:jingle:apps:file-transfer:2 //XMLElement hash("hash", "urn:xmpp:jingle:apps:file-transfer:info:2", payload->getHash()); - // code for version urn:xmpp:jingle:apps:file-transfer:3 - XMLElement checksum("checksum", "urn:xmpp:jingle:apps:file-transfer:3"); - boost::shared_ptr<XMLElement> file = boost::make_shared<XMLElement>("file"); + // code for version urn:xmpp:jingle:apps:file-transfer:4 + XMLElement checksum("checksum", "urn:xmpp:jingle:apps:file-transfer:4"); + + JingleFileTransferFileInfoSerializer fileSerializer; + + boost::shared_ptr<XMLRawTextNode> file = boost::make_shared<XMLRawTextNode>(fileSerializer.serialize(boost::make_shared<JingleFileTransferFileInfo>(payload->getFileInfo()))); + checksum.addNode(file); - boost::shared_ptr<XMLElement> hashes = boost::make_shared<XMLElement>("hashes", "urn:xmpp:hashes:0"); - file->addNode(hashes); - foreach(const JingleFileTransferHash::HashesMap::value_type& pair, payload->getHashes()) { - boost::shared_ptr<XMLElement> hash = boost::make_shared<XMLElement>("hash", "", pair.second); - hash->setAttribute("algo", pair.first); - hashes->addNode(hash); - } return checksum.serialize(); } |