summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/FileTransfer/SOCKS5BytestreamClientSession.h')
-rw-r--r--Swiften/FileTransfer/SOCKS5BytestreamClientSession.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/Swiften/FileTransfer/SOCKS5BytestreamClientSession.h b/Swiften/FileTransfer/SOCKS5BytestreamClientSession.h
index ea45955..cf731c1 100644
--- a/Swiften/FileTransfer/SOCKS5BytestreamClientSession.h
+++ b/Swiften/FileTransfer/SOCKS5BytestreamClientSession.h
@@ -10,4 +10,5 @@
#include <boost/optional.hpp>
+#include <Swiften/Base/API.h>
#include <Swiften/Base/ByteArray.h>
#include <Swiften/FileTransfer/FileTransferError.h>
@@ -29,5 +30,5 @@ class TimerFactory;
*
*/
-class SOCKS5BytestreamClientSession {
+class SWIFTEN_API SOCKS5BytestreamClientSession {
public:
enum State {
@@ -38,5 +39,5 @@ public:
Writing,
Reading,
- Finished,
+ Finished
};
@@ -45,5 +46,10 @@ public:
public:
- SOCKS5BytestreamClientSession(boost::shared_ptr<Connection> connection, const HostAddressPort&, const std::string&, TimerFactory*);
+ SOCKS5BytestreamClientSession(
+ boost::shared_ptr<Connection> connection,
+ const HostAddressPort&,
+ const std::string&,
+ TimerFactory*);
+ ~SOCKS5BytestreamClientSession();
void start();
@@ -58,6 +64,6 @@ public:
boost::signal<void (boost::optional<FileTransferError>)> onFinished;
- boost::signal<void (int)> onBytesSent;
- boost::signal<void (int)> onBytesReceived;
+ boost::signal<void (size_t)> onBytesSent;
+ // boost::signal<void (size_t)> onBytesReceived;
private:
@@ -73,4 +79,5 @@ private:
void finish(bool error);
void sendData();
+ void closeConnection();
private:
@@ -80,5 +87,4 @@ private:
State state;
- int destinationPort;
ByteArray unprocessedData;
@@ -90,4 +96,9 @@ private:
Timer::ref weFailedTimeout;
+
+ boost::bsignals::connection connectFinishedConnection;
+ boost::bsignals::connection dataWrittenConnection;
+ boost::bsignals::connection dataReadConnection;
+ boost::bsignals::connection disconnectedConnection;
};