summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordknn <yoann.blein@free.fr>2012-09-22 08:33:47 (GMT)
committerdknn <yoann.blein@free.fr>2012-09-22 09:34:49 (GMT)
commitced4cbf27545620b2a9be59173fd87305cab4a8b (patch)
tree0dd6f4037e175ff0526b2ed973ae06789fec7f2c /Swiften/ScreenSharing/ScreenSharingManagerImpl.cpp
parent949278e9418e4090c2f3c68ed313cf4853b25ef1 (diff)
downloadswift-contrib-ced4cbf27545620b2a9be59173fd87305cab4a8b.zip
swift-contrib-ced4cbf27545620b2a9be59173fd87305cab4a8b.tar.bz2
Add use of NAT traversal
Diffstat (limited to 'Swiften/ScreenSharing/ScreenSharingManagerImpl.cpp')
-rw-r--r--Swiften/ScreenSharing/ScreenSharingManagerImpl.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/Swiften/ScreenSharing/ScreenSharingManagerImpl.cpp b/Swiften/ScreenSharing/ScreenSharingManagerImpl.cpp
index c20d2c7..6c930f7 100644
--- a/Swiften/ScreenSharing/ScreenSharingManagerImpl.cpp
+++ b/Swiften/ScreenSharing/ScreenSharingManagerImpl.cpp
@@ -14,6 +14,7 @@
#include <Swiften/ScreenSharing/OutgoingScreenSharingManager.h>
#include <Swiften/ScreenSharing/OutgoingScreenSharing.h>
#include <Swiften/ScreenSharing/InputEventResponder.h>
+#include <Swiften/FileTransfer/ConnectivityManager.h>
#include <boost/foreach.hpp>
@@ -21,11 +22,14 @@ namespace Swift {
ScreenSharingManagerImpl::ScreenSharingManagerImpl(const JID& ownFullJID, JingleSessionManager *jingleSessionManager, IQRouter *iqRouter,
UDPSocketFactory* udpSocketFactory, TimerFactory* timerFactory, PresenceOracle* presenceOrable,
- EntityCapsProvider* capsProvider)
- : ownJID(ownFullJID), capsProvider(capsProvider), presenceOracle(presenceOrable)
+ EntityCapsProvider* capsProvider, NATTraverser* natTraverser)
+ : ownJID(ownFullJID), capsProvider(capsProvider), presenceOracle(presenceOrable), natTraverser(natTraverser)
{
- incomingSSManager = new IncomingScreenSharingManager(jingleSessionManager, iqRouter, udpSocketFactory, timerFactory);
- outgoingSSManager = new OutgoingScreenSharingManager(jingleSessionManager, iqRouter, udpSocketFactory, timerFactory);
+ incomingSSManager = new IncomingScreenSharingManager(jingleSessionManager, iqRouter, connectivityManager, udpSocketFactory, timerFactory);
+ outgoingSSManager = new OutgoingScreenSharingManager(jingleSessionManager, iqRouter, udpSocketFactory, connectivityManager, timerFactory);
+
+ connectivityManager = new ConnectivityManager(natTraverser);
+ connectivityManager->addListeningPort(29999, NATPortMapping::UDP);
responder = new InputEventResponder(this, iqRouter);
responder->start();
@@ -39,6 +43,7 @@ ScreenSharingManagerImpl::~ScreenSharingManagerImpl()
delete responder;
delete incomingSSManager;
delete outgoingSSManager;
+ delete connectivityManager;
}
boost::shared_ptr<OutgoingScreenSharing> ScreenSharingManagerImpl::createOutgoingScreenSharing(const JID &to)