summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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)