diff options
author | dknn <yoann.blein@free.fr> | 2012-09-22 08:33:47 (GMT) |
---|---|---|
committer | dknn <yoann.blein@free.fr> | 2012-09-22 09:34:49 (GMT) |
commit | ced4cbf27545620b2a9be59173fd87305cab4a8b (patch) | |
tree | 0dd6f4037e175ff0526b2ed973ae06789fec7f2c /Swiften/ScreenSharing/ScreenSharingManagerImpl.cpp | |
parent | 949278e9418e4090c2f3c68ed313cf4853b25ef1 (diff) | |
download | swift-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.cpp | 13 |
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) |