summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2012-12-25 14:39:48 (GMT)
committerRemko Tronçon <git@el-tramo.be>2013-05-11 10:22:56 (GMT)
commit927d62cc54c8a5087dba6b61afa9ad30dc528a23 (patch)
treee67dc911bd30c0519d31a542d8e085bbb209879d /Swiften/FileTransfer/SOCKS5BytestreamRegistry.h
parent17b188343e7208b875af7af30d94f0bf948f6b93 (diff)
downloadswift-927d62cc54c8a5087dba6b61afa9ad30dc528a23.zip
swift-927d62cc54c8a5087dba6b61afa9ad30dc528a23.tar.bz2
File Transfer refactoring.
Allocate S5B server lazily. Forward forts lazily. Various state machine fixes. Temporarily disabling S5B proxy support. Change-Id: I3145e85a99b15a7e457306bbfbe9c0eb570191e4
Diffstat (limited to 'Swiften/FileTransfer/SOCKS5BytestreamRegistry.h')
-rw-r--r--Swiften/FileTransfer/SOCKS5BytestreamRegistry.h40
1 files changed, 4 insertions, 36 deletions
diff --git a/Swiften/FileTransfer/SOCKS5BytestreamRegistry.h b/Swiften/FileTransfer/SOCKS5BytestreamRegistry.h
index 107707f..4c05e47 100644
--- a/Swiften/FileTransfer/SOCKS5BytestreamRegistry.h
+++ b/Swiften/FileTransfer/SOCKS5BytestreamRegistry.h
@@ -6,62 +6,30 @@
#pragma once
-#include <boost/shared_ptr.hpp>
-
#include <map>
#include <string>
-#include <vector>
#include <set>
#include <Swiften/Base/API.h>
#include <Swiften/Base/IDGenerator.h>
-#include <Swiften/JID/JID.h>
-#include <Swiften/Elements/S5BProxyRequest.h>
-#include <Swiften/FileTransfer/ReadBytestream.h>
-#include <Swiften/FileTransfer/WriteBytestream.h>
-#include <Swiften/FileTransfer/SOCKS5BytestreamServerSession.h>
-#include <Swiften/FileTransfer/SOCKS5BytestreamClientSession.h>
-#include <Swiften/Network/HostAddressPort.h>
namespace Swift {
- class CryptoProvider;
+ class SOCKS5BytestreamServerSession;
class SWIFTEN_API SOCKS5BytestreamRegistry {
public:
SOCKS5BytestreamRegistry();
- boost::shared_ptr<ReadBytestream> getReadBytestream(const std::string& destination) const;
- void addReadBytestream(const std::string& destination, boost::shared_ptr<ReadBytestream> byteStream);
- void removeReadBytestream(const std::string& destination);
-
- boost::shared_ptr<WriteBytestream> getWriteBytestream(const std::string& destination) const;
- void addWriteBytestream(const std::string& destination, boost::shared_ptr<WriteBytestream> byteStream);
- void removeWriteBytestream(const std::string& destination);
+ void setHasBytestream(const std::string& destination, bool);
+ bool hasBytestream(const std::string& destination) const;
/**
* Generate a new session ID to use for new S5B streams.
*/
std::string generateSessionID();
- /**
- * Start an actual transfer.
- */
- SOCKS5BytestreamServerSession* getConnectedSession(const std::string& destination);
-
- public:
- static std::string getHostname(const std::string& sessionID, const JID& requester, const JID& target, CryptoProvider* crypto);
-
private:
- friend class SOCKS5BytestreamServerSession;
-
- typedef std::map<std::string, boost::shared_ptr<ReadBytestream> > ReadBytestreamMap;
- ReadBytestreamMap readBytestreams;
-
- typedef std::map<std::string, boost::shared_ptr<WriteBytestream> > WriteBytestreamMap;
- WriteBytestreamMap writeBytestreams;
-
- std::map<std::string, SOCKS5BytestreamServerSession*> serverSessions;
-
+ std::set<std::string> availableBytestreams;
IDGenerator idGenerator;
};
}