diff options
| author | Alex Clayton <alex.clayton@isode.com> | 2016-03-15 10:55:56 (GMT) |
|---|---|---|
| committer | Alex Clayton <alex.clayton@isode.com> | 2016-03-15 14:14:06 (GMT) |
| commit | 3205cbf499196b32379c66cb0bea4ccd77334210 (patch) | |
| tree | f888751ed02d990d3b3a63906329d4c6992117b3 | |
| parent | 826bc53ab9839d4f6dff28cdb4d5dc1b317016de (diff) | |
| download | stroke-3205cbf499196b32379c66cb0bea4ccd77334210.zip stroke-3205cbf499196b32379c66cb0bea4ccd77334210.tar.bz2 | |
Add description to FileTransfer
As per patch 'Show file-transfer description if provided'
(523dbfb769069663eda19e381ad35f466b1ef27c) add a description field to
the FileTransfer interface and its implementations.
Test-information: Unit test still pass ok.
Change-Id: I146e2adce67a491ae0381154e54d6d0e480026a2
3 files changed, 23 insertions, 5 deletions
diff --git a/src/com/isode/stroke/filetransfer/FileTransfer.java b/src/com/isode/stroke/filetransfer/FileTransfer.java index e12b07d..f3e7bba 100644 --- a/src/com/isode/stroke/filetransfer/FileTransfer.java +++ b/src/com/isode/stroke/filetransfer/FileTransfer.java @@ -60,11 +60,13 @@ public interface FileTransfer { public void cancel(); public String getFileName(); public long getFileSizeInBytes(); - public void setFileInfo(final String name, long size); + public void setFileInfo(final String name, long size, String description); public State getState(); + public String getDescription(); + } diff --git a/src/com/isode/stroke/filetransfer/IncomingJingleFileTransfer.java b/src/com/isode/stroke/filetransfer/IncomingJingleFileTransfer.java index f7f9c70..60cde19 100644 --- a/src/com/isode/stroke/filetransfer/IncomingJingleFileTransfer.java +++ b/src/com/isode/stroke/filetransfer/IncomingJingleFileTransfer.java @@ -29,21 +29,23 @@ import com.isode.stroke.elements.JingleFileTransferDescription; import com.isode.stroke.elements.HashElement; import com.isode.stroke.elements.JingleFileTransferHash; import com.isode.stroke.jingle.JingleContentID; import com.isode.stroke.signals.SignalConnection; import com.isode.stroke.signals.Slot1; import com.isode.stroke.signals.Slot; + import java.util.logging.Logger; import java.util.Vector; import java.util.Map; import java.util.HashMap; public class IncomingJingleFileTransfer extends JingleFileTransfer implements IncomingFileTransfer { private long fileSizeInBytes = 0; //FileTransferVariables private String filename = ""; //FileTransferVariables + private String ft_description = ""; //FileTransferVariables /** * FileTransferMethod. */ @Override public String getFileName() { @@ -59,15 +61,16 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In } /** * FileTransferMethod. */ @Override - public void setFileInfo(final String name, long size) { + public void setFileInfo(final String name, long size, String description) { this.filename = name; this.fileSizeInBytes = size; + this.ft_description = description; } private JingleContentPayload initialContent; private CryptoProvider crypto; private State internalState; private JingleFileTransferDescription description; @@ -96,13 +99,13 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In this.internalState = State.Initial; this. receivedBytes = 0; this.hashCalculator = null; this.description = initialContent.getDescription(new JingleFileTransferDescription()); assert(description != null); JingleFileTransferFileInfo fileInfo = description.getFileInfo(); - setFileInfo(fileInfo.getName(), fileInfo.getSize()); + setFileInfo(fileInfo.getName(), fileInfo.getSize(), fileInfo.getDescription()); hashes = fileInfo.getHashes(); waitOnHashTimer = timerFactory.createTimer(5000); waitOnHashTimerTickedConnection = waitOnHashTimer.onTick.connect(new Slot() { @Override public void call() { @@ -498,7 +501,12 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In private void handleTransferFinished(FileTransferError error) { if (error != null && !State.WaitingForHash.equals(internalState)) { terminate(JinglePayload.Reason.Type.MediaError); } } + + @Override + public String getDescription() { + return ft_description; + } }
\ No newline at end of file diff --git a/src/com/isode/stroke/filetransfer/OutgoingJingleFileTransfer.java b/src/com/isode/stroke/filetransfer/OutgoingJingleFileTransfer.java index 63a11e8..f32821b 100644 --- a/src/com/isode/stroke/filetransfer/OutgoingJingleFileTransfer.java +++ b/src/com/isode/stroke/filetransfer/OutgoingJingleFileTransfer.java @@ -34,19 +34,21 @@ import com.isode.stroke.elements.JingleFileTransferDescription; import com.isode.stroke.elements.HashElement; import com.isode.stroke.elements.JingleFileTransferHash; import com.isode.stroke.jingle.JingleContentID; import com.isode.stroke.signals.SignalConnection; import com.isode.stroke.signals.Slot1; import com.isode.stroke.signals.Slot; + import java.util.logging.Logger; import java.util.Vector; public class OutgoingJingleFileTransfer extends JingleFileTransfer implements OutgoingFileTransfer { private long fileSizeInBytes = 0; //FileTransferVariables private String filename = ""; //FileTransferVariables + private String ft_description = ""; // FileTransferVariables /** * FileTransferMethod. */ @Override public String getFileName() { @@ -62,15 +64,16 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou } /** * FileTransferMethod. */ @Override - public void setFileInfo(final String name, long size) { + public void setFileInfo(final String name, long size, String description) { this.filename = name; this.fileSizeInBytes = size; + this.ft_description = description; } public static final int DEFAULT_BLOCK_SIZE = 4096; private IDGenerator idGenerator; private ReadBytestream stream; private JingleFileTransferFileInfo fileInfo; @@ -102,13 +105,13 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou this.fileInfo = fileInfo; this.options = options; this.session = session; this.contentID = new JingleContentID(idGenerator.generateID(), JingleContentPayload.Creator.InitiatorCreator); this.internalState = State.Initial; this.candidateAcknowledged = false; - setFileInfo(fileInfo.getName(), fileInfo.getSize()); + setFileInfo(fileInfo.getName(), fileInfo.getSize(), fileInfo.getDescription()); // calculate both, MD5 and SHA-1 since we don't know which one the other side supports hashCalculator = new IncrementalBytestreamHashCalculator(true, true, crypto); stream.onRead.connect(new Slot1<ByteArray>() { @Override public void call(ByteArray b) { @@ -446,7 +449,12 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou case Finished: return FileTransfer.State.Type.Finished; } assert(false); return FileTransfer.State.Type.Initial; } + @Override + public String getDescription() { + return ft_description; + } + }
\ No newline at end of file |
Swift