diff options
Diffstat (limited to 'src/com/isode/stroke/serializer/payloadserializers/JingleFileTransferHashSerializer.java')
-rw-r--r-- | src/com/isode/stroke/serializer/payloadserializers/JingleFileTransferHashSerializer.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/JingleFileTransferHashSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/JingleFileTransferHashSerializer.java new file mode 100644 index 0000000..73a3fd6 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/JingleFileTransferHashSerializer.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2011 Tobias Markmann + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.serializer.payloadserializers.JingleFileTransferFileInfoSerializer; +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.xml.XMLRawTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.JingleFileTransferHash; +import com.isode.stroke.elements.JingleFileTransferFileInfo; +import com.isode.stroke.base.NotNull; + +public class JingleFileTransferHashSerializer extends GenericPayloadSerializer<JingleFileTransferHash> { + + public JingleFileTransferHashSerializer() { + super(JingleFileTransferHash.class); + } + + public String serializePayload(JingleFileTransferHash payload) { + // 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:4 + XMLElement checksum = new XMLElement("checksum", "urn:xmpp:jingle:apps:file-transfer:4"); + + JingleFileTransferFileInfoSerializer fileSerializer = new JingleFileTransferFileInfoSerializer(); + + XMLRawTextNode file = new XMLRawTextNode(fileSerializer.serialize((JingleFileTransferFileInfo)(payload.getFileInfo()))); + + checksum.addNode(file); + + return checksum.serialize(); + } +}
\ No newline at end of file |