diff options
6 files changed, 74 insertions, 26 deletions
diff --git a/PortingProgress.txt b/PortingProgress.txt index 9b22cc6..97c4ac9 100644 --- a/PortingProgress.txt +++ b/PortingProgress.txt @@ -84,4 +84,5 @@ All files ported to 6ca201d0b48f4273e24dd7bff17c4a46eeaddf39 except for: -PayloadPersister -- Not Yet Ported! -GenericPayloadPersister -- Not Yet Ported! +Individual Comments: +PayloadPersister and GenericPayloadPersister implemented as +GenericPayloadPersister and GenericPayloadLoader. @@ -98,4 +99,6 @@ All files ported to 6ca201d0b48f4273e24dd7bff17c4a46eeaddf39 except for: Tests not yet ported. -Incoming and Outgoing Jingle File Transfer unimplemented due to multiple inheritance. -S5BTransportSession -- Incomplete. + +Individual Comments: +Incoming and Outgoing Jingle File Transfer have been implemented +slightly differently to swiften due to multipe inheritance. diff --git a/src/com/isode/stroke/filetransfer/S5BTransportSession.java b/src/com/isode/stroke/filetransfer/S5BTransportSession.java index 768354f..4cb2a02 100644 --- a/src/com/isode/stroke/filetransfer/S5BTransportSession.java +++ b/src/com/isode/stroke/filetransfer/S5BTransportSession.java @@ -1,3 +1,3 @@ /* - * Copyright (c) 2015 Isode Limited. + * Copyright (c) 2015-2016 Isode Limited. * All rights reserved. @@ -13,7 +13,16 @@ package com.isode.stroke.filetransfer; -import com.isode.stroke.signals.Signal1; import com.isode.stroke.signals.SignalConnection; -public class S5BTransportSession<T> extends TransportSession { +/** + * S5BTransportSession + * + * @param <T> Type of {@link SOCKS5AbstractBytestreamSession} to use. + */ +public class S5BTransportSession<T extends SOCKS5AbstractBytestreamSession> extends TransportSession { + /** + * Constructor for a read byte stream + * @param session byte stream session. Should not be {@code null}. + * @param readStream read byte stream. Should not be {@code null}. + */ public S5BTransportSession( @@ -26,2 +35,7 @@ public class S5BTransportSession<T> extends TransportSession { + /** + * Constructor for a write byte stream + * @param session byte stream session. Should not be {@code null}. + * @param writeStream write byte stream. Should not be {@code null} + */ public S5BTransportSession( @@ -36,6 +50,6 @@ public class S5BTransportSession<T> extends TransportSession { if (readStream != null) { - //session.startSending(readStream); + session.startSending(readStream); } else { - //session.startReceiving(writeStream); + session.startReceiving(writeStream); } @@ -44,3 +58,3 @@ public class S5BTransportSession<T> extends TransportSession { public void stop() { - //session.stop(); + session.stop(); } @@ -48,4 +62,4 @@ public class S5BTransportSession<T> extends TransportSession { private void initialize() { - //finishedConnection = session.onFinished.connect(onFinished); - //bytesSentConnection = session.onBytesSent.connect(onBytesSent); + finishedConnection = session.onFinished.connect(onFinished); + bytesSentConnection = session.onBytesSent.connect(onBytesSent); } diff --git a/src/com/isode/stroke/filetransfer/SOCKS5AbstractBytestreamSession.java b/src/com/isode/stroke/filetransfer/SOCKS5AbstractBytestreamSession.java new file mode 100644 index 0000000..2f64857 --- /dev/null +++ b/src/com/isode/stroke/filetransfer/SOCKS5AbstractBytestreamSession.java @@ -0,0 +1,36 @@ +/* Copyright (c) 2016, Isode Limited, London, England. + * All rights reserved. + * + * Acquisition and use of this software and related materials for any + * purpose requires a written license agreement from Isode Limited, + * or a written license from an organisation licensed by Isode Limited + * to grant such a license. + * + */ +package com.isode.stroke.filetransfer; + +import com.isode.stroke.signals.Signal1; + +/** + * + */ +public abstract class SOCKS5AbstractBytestreamSession { + + /** + * Constructor + */ + public SOCKS5AbstractBytestreamSession() { + // Empty Constructor + } + + abstract public void startReceiving(WriteBytestream writeStream); + + abstract public void startSending(ReadBytestream stream); + + abstract public void stop(); + + public final Signal1<FileTransferError> onFinished = new Signal1<FileTransferError>(); + public final Signal1<Integer> onBytesSent = new Signal1<Integer>(); + // boost::signal<void (unsigned long long)> onBytesReceived; + +} diff --git a/src/com/isode/stroke/filetransfer/SOCKS5BytestreamClientSession.java b/src/com/isode/stroke/filetransfer/SOCKS5BytestreamClientSession.java index 0144bcb..3e51b5f 100644 --- a/src/com/isode/stroke/filetransfer/SOCKS5BytestreamClientSession.java +++ b/src/com/isode/stroke/filetransfer/SOCKS5BytestreamClientSession.java @@ -6,3 +6,3 @@ /* - * Copyright (c) 2015 Isode Limited. + * Copyright (c) 2015 - 2016 Isode Limited. * All rights reserved. @@ -35,3 +35,3 @@ import java.util.logging.Logger; */ -public class SOCKS5BytestreamClientSession { +public class SOCKS5BytestreamClientSession extends SOCKS5AbstractBytestreamSession { @@ -147,6 +147,2 @@ public class SOCKS5BytestreamClientSession { - public Signal1<FileTransferError> onFinished = new Signal1<FileTransferError>(); - public Signal1<Integer> onBytesSent = new Signal1<Integer>(); - //public boost::signal<void (size_t)> onBytesReceived; - private void process() { diff --git a/src/com/isode/stroke/filetransfer/SOCKS5BytestreamServerSession.java b/src/com/isode/stroke/filetransfer/SOCKS5BytestreamServerSession.java index cb09ad9..8452e36 100644 --- a/src/com/isode/stroke/filetransfer/SOCKS5BytestreamServerSession.java +++ b/src/com/isode/stroke/filetransfer/SOCKS5BytestreamServerSession.java @@ -1,3 +1,3 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. @@ -22,5 +22,6 @@ import com.isode.stroke.signals.Slot; import com.isode.stroke.signals.Slot1; + import java.util.logging.Logger; -public class SOCKS5BytestreamServerSession { +public class SOCKS5BytestreamServerSession extends SOCKS5AbstractBytestreamSession { @@ -118,5 +119,3 @@ public class SOCKS5BytestreamServerSession { - public Signal1<FileTransferError> onFinished = new Signal1<FileTransferError>(); - public Signal1<Long> onBytesSent = new Signal1<Long>(); - // boost::signal<void (unsigned long long)> onBytesReceived; + @@ -230,3 +229,3 @@ public class SOCKS5BytestreamServerSession { connection.write(dataToSend); - onBytesSent.emit((long)dataToSend.getSize()); + onBytesSent.emit(dataToSend.getSize()); waitingForData = false; diff --git a/src/com/isode/stroke/filetransfer/TransportSession.java b/src/com/isode/stroke/filetransfer/TransportSession.java index b0e101d..5d07a1b 100644 --- a/src/com/isode/stroke/filetransfer/TransportSession.java +++ b/src/com/isode/stroke/filetransfer/TransportSession.java @@ -1,3 +1,3 @@ /* - * Copyright (c) 2013 Isode Limited. + * Copyright (c) 2013-2016 Isode Limited. * All rights reserved. @@ -19,3 +19,3 @@ public abstract class TransportSession { public abstract void stop(); - + public final Signal1<Integer> onBytesSent = new Signal1<Integer>(); |
Swift