summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Network/PlatformNATTraversalWorker.cpp')
-rw-r--r--Swiften/Network/PlatformNATTraversalWorker.cpp27
1 files changed, 22 insertions, 5 deletions
diff --git a/Swiften/Network/PlatformNATTraversalWorker.cpp b/Swiften/Network/PlatformNATTraversalWorker.cpp
index eeecb38..40d6da6 100644
--- a/Swiften/Network/PlatformNATTraversalWorker.cpp
+++ b/Swiften/Network/PlatformNATTraversalWorker.cpp
@@ -50,10 +50,14 @@ class PlatformNATTraversalGetPublicIPRequest : public NATTraversalGetPublicIPReq
PlatformNATTraversalGetPublicIPRequest(PlatformNATTraversalWorker* worker) : PlatformNATTraversalRequest(worker) {
}
- virtual void run() {
+ virtual void start() {
doRun();
}
+ virtual void stop() {
+ // TODO
+ }
+
virtual void runBlocking() {
onResult(getNATTraversalInterface()->getPublicIP());
}
@@ -64,10 +68,14 @@ class PlatformNATTraversalForwardPortRequest : public NATTraversalForwardPortReq
PlatformNATTraversalForwardPortRequest(PlatformNATTraversalWorker* worker, unsigned int localIP, unsigned int publicIP) : PlatformNATTraversalRequest(worker), localIP(localIP), publicIP(publicIP) {
}
- virtual void run() {
+ virtual void start() {
doRun();
}
+ virtual void stop() {
+ // TODO
+ }
+
virtual void runBlocking() {
onResult(getNATTraversalInterface()->addPortForward(boost::numeric_cast<int>(localIP), boost::numeric_cast<int>(publicIP)));
}
@@ -82,10 +90,14 @@ class PlatformNATTraversalRemovePortForwardingRequest : public NATTraversalRemov
PlatformNATTraversalRemovePortForwardingRequest(PlatformNATTraversalWorker* worker, const NATPortMapping& mapping) : PlatformNATTraversalRequest(worker), mapping(mapping) {
}
- virtual void run() {
+ virtual void start() {
doRun();
}
+ virtual void stop() {
+ // TODO
+ }
+
virtual void runBlocking() {
onResult(getNATTraversalInterface()->removePortForward(mapping));
}
@@ -96,7 +108,8 @@ class PlatformNATTraversalRemovePortForwardingRequest : public NATTraversalRemov
PlatformNATTraversalWorker::PlatformNATTraversalWorker(EventLoop* eventLoop) : eventLoop(eventLoop), stopRequested(false), natPMPSupported(boost::logic::indeterminate), natPMPInterface(NULL), miniUPnPSupported(boost::logic::indeterminate), miniUPnPInterface(NULL) {
nullNATTraversalInterface = new NullNATTraversalInterface();
- thread = new boost::thread(boost::bind(&PlatformNATTraversalWorker::run, this));
+ // FIXME: This should be done from start(), and the current start() should be an internal method
+ thread = new boost::thread(boost::bind(&PlatformNATTraversalWorker::start, this));
}
PlatformNATTraversalWorker::~PlatformNATTraversalWorker() {
@@ -143,7 +156,7 @@ boost::shared_ptr<NATTraversalRemovePortForwardingRequest> PlatformNATTraversalW
return boost::make_shared<PlatformNATTraversalRemovePortForwardingRequest>(this, mapping);
}
-void PlatformNATTraversalWorker::run() {
+void PlatformNATTraversalWorker::start() {
while (!stopRequested) {
PlatformNATTraversalRequest::ref request;
{
@@ -162,6 +175,10 @@ void PlatformNATTraversalWorker::run() {
}
}
+void PlatformNATTraversalWorker::stop() {
+ // TODO
+}
+
void PlatformNATTraversalWorker::addRequestToQueue(PlatformNATTraversalRequest::ref request) {
{
boost::lock_guard<boost::mutex> lock(queueMutex);