summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-11-18 14:08:45 (GMT)
committerTobias Markmann <tm@ayena.de>2015-11-18 14:08:45 (GMT)
commitcda6fd478b3d8f7f30f771b18324db389a01b1b3 (patch)
tree2d71e6787a0e937701968b5ce440f01c74c911ca /Swiften
parenteb2cdc07f275d565b76940396381784e29125981 (diff)
downloadswift-cda6fd478b3d8f7f30f771b18324db389a01b1b3.zip
swift-cda6fd478b3d8f7f30f771b18324db389a01b1b3.tar.bz2
Fix virtual destructors and mismatching signal disconnection
Test-Information: Unit tests pass on OS X 10.10.5. Change-Id: I7b505513b4342001596ee8518bfdcf9e77c91479
Diffstat (limited to 'Swiften')
-rw-r--r--Swiften/Network/BOSHConnection.cpp2
-rw-r--r--Swiften/Network/PlatformDomainNameAddressQuery.cpp6
-rw-r--r--Swiften/Network/PlatformDomainNameAddressQuery.h8
-rw-r--r--Swiften/Network/PlatformDomainNameResolver.h11
-rw-r--r--Swiften/Network/PlatformDomainNameServiceQuery.cpp6
-rw-r--r--Swiften/Network/PlatformDomainNameServiceQuery.h8
-rw-r--r--Swiften/StreamStack/ConnectionLayer.cpp5
-rw-r--r--Swiften/StreamStack/ConnectionLayer.h4
-rw-r--r--Swiften/StreamStack/TLSLayer.h7
9 files changed, 35 insertions, 22 deletions
diff --git a/Swiften/Network/BOSHConnection.cpp b/Swiften/Network/BOSHConnection.cpp
index 9a836cb..b04609f 100644
--- a/Swiften/Network/BOSHConnection.cpp
+++ b/Swiften/Network/BOSHConnection.cpp
@@ -91,7 +91,7 @@ void BOSHConnection::handleRawDataRead(boost::shared_ptr<SafeByteArray> data) {
tlsLayer_->handleDataRead(*data.get());
}
-void BOSHConnection::handleTLSError(boost::shared_ptr<TLSError> error) {
+void BOSHConnection::handleTLSError(boost::shared_ptr<TLSError> /* error */) {
}
diff --git a/Swiften/Network/PlatformDomainNameAddressQuery.cpp b/Swiften/Network/PlatformDomainNameAddressQuery.cpp
index 99e5eda..8b72c3b 100644
--- a/Swiften/Network/PlatformDomainNameAddressQuery.cpp
+++ b/Swiften/Network/PlatformDomainNameAddressQuery.cpp
@@ -8,8 +8,8 @@
#include <boost/asio/ip/tcp.hpp>
-#include <Swiften/Network/PlatformDomainNameResolver.h>
#include <Swiften/EventLoop/EventLoop.h>
+#include <Swiften/Network/PlatformDomainNameResolver.h>
namespace Swift {
@@ -20,6 +20,10 @@ PlatformDomainNameAddressQuery::PlatformDomainNameAddressQuery(const boost::opti
}
}
+PlatformDomainNameAddressQuery::~PlatformDomainNameAddressQuery() {
+
+}
+
void PlatformDomainNameAddressQuery::run() {
getResolver()->addQueryToQueue(shared_from_this());
}
diff --git a/Swiften/Network/PlatformDomainNameAddressQuery.h b/Swiften/Network/PlatformDomainNameAddressQuery.h
index 306612c..c241f2a 100644
--- a/Swiften/Network/PlatformDomainNameAddressQuery.h
+++ b/Swiften/Network/PlatformDomainNameAddressQuery.h
@@ -1,18 +1,19 @@
/*
- * Copyright (c) 2010 Isode Limited.
+ * Copyright (c) 2010-2015 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
+#include <string>
+
#include <boost/asio/io_service.hpp>
#include <boost/enable_shared_from_this.hpp>
+#include <Swiften/EventLoop/EventOwner.h>
#include <Swiften/Network/DomainNameAddressQuery.h>
#include <Swiften/Network/PlatformDomainNameQuery.h>
-#include <Swiften/EventLoop/EventOwner.h>
-#include <string>
namespace Swift {
class PlatformDomainNameResolver;
@@ -21,6 +22,7 @@ namespace Swift {
class PlatformDomainNameAddressQuery : public DomainNameAddressQuery, public PlatformDomainNameQuery, public boost::enable_shared_from_this<PlatformDomainNameAddressQuery>, public EventOwner {
public:
PlatformDomainNameAddressQuery(const boost::optional<std::string>& host, EventLoop* eventLoop, PlatformDomainNameResolver*);
+ virtual ~PlatformDomainNameAddressQuery();
void run();
diff --git a/Swiften/Network/PlatformDomainNameResolver.h b/Swiften/Network/PlatformDomainNameResolver.h
index e2d28a9..ae94179 100644
--- a/Swiften/Network/PlatformDomainNameResolver.h
+++ b/Swiften/Network/PlatformDomainNameResolver.h
@@ -7,16 +7,17 @@
#pragma once
#include <deque>
-#include <boost/thread/thread.hpp>
-#include <boost/thread/mutex.hpp>
+
#include <boost/thread/condition_variable.hpp>
+#include <boost/thread/mutex.hpp>
+#include <boost/thread/thread.hpp>
#include <Swiften/Base/API.h>
#include <Swiften/Base/Atomic.h>
+#include <Swiften/Network/DomainNameAddressQuery.h>
#include <Swiften/Network/DomainNameResolver.h>
-#include <Swiften/Network/PlatformDomainNameQuery.h>
#include <Swiften/Network/DomainNameServiceQuery.h>
-#include <Swiften/Network/DomainNameAddressQuery.h>
+#include <Swiften/Network/PlatformDomainNameQuery.h>
namespace Swift {
class IDNConverter;
@@ -25,7 +26,7 @@ namespace Swift {
class SWIFTEN_API PlatformDomainNameResolver : public DomainNameResolver {
public:
PlatformDomainNameResolver(IDNConverter* idnConverter, EventLoop* eventLoop);
- ~PlatformDomainNameResolver();
+ virtual ~PlatformDomainNameResolver();
virtual DomainNameServiceQuery::ref createServiceQuery(const std::string& serviceLookupPrefix, const std::string& domain);
virtual DomainNameAddressQuery::ref createAddressQuery(const std::string& name);
diff --git a/Swiften/Network/PlatformDomainNameServiceQuery.cpp b/Swiften/Network/PlatformDomainNameServiceQuery.cpp
index d68f4bf..673aaff 100644
--- a/Swiften/Network/PlatformDomainNameServiceQuery.cpp
+++ b/Swiften/Network/PlatformDomainNameServiceQuery.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010 Isode Limited.
+ * Copyright (c) 2010-2015 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -45,6 +45,10 @@ PlatformDomainNameServiceQuery::PlatformDomainNameServiceQuery(const boost::opti
}
}
+PlatformDomainNameServiceQuery::~PlatformDomainNameServiceQuery() {
+
+}
+
void PlatformDomainNameServiceQuery::run() {
getResolver()->addQueryToQueue(shared_from_this());
}
diff --git a/Swiften/Network/PlatformDomainNameServiceQuery.h b/Swiften/Network/PlatformDomainNameServiceQuery.h
index 53d9f50..afc4a90 100644
--- a/Swiften/Network/PlatformDomainNameServiceQuery.h
+++ b/Swiften/Network/PlatformDomainNameServiceQuery.h
@@ -1,16 +1,17 @@
/*
- * Copyright (c) 2010-2013 Isode Limited.
+ * Copyright (c) 2010-2015 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
+#include <string>
+
#include <boost/enable_shared_from_this.hpp>
-#include <Swiften/Network/DomainNameServiceQuery.h>
#include <Swiften/EventLoop/EventOwner.h>
-#include <string>
+#include <Swiften/Network/DomainNameServiceQuery.h>
#include <Swiften/Network/PlatformDomainNameQuery.h>
namespace Swift {
@@ -19,6 +20,7 @@ namespace Swift {
class PlatformDomainNameServiceQuery : public DomainNameServiceQuery, public PlatformDomainNameQuery, public boost::enable_shared_from_this<PlatformDomainNameServiceQuery>, public EventOwner {
public:
PlatformDomainNameServiceQuery(const boost::optional<std::string>& serviceName, EventLoop* eventLoop, PlatformDomainNameResolver* resolver);
+ virtual ~PlatformDomainNameServiceQuery();
virtual void run();
diff --git a/Swiften/StreamStack/ConnectionLayer.cpp b/Swiften/StreamStack/ConnectionLayer.cpp
index 4546a9b..5bf07d0 100644
--- a/Swiften/StreamStack/ConnectionLayer.cpp
+++ b/Swiften/StreamStack/ConnectionLayer.cpp
@@ -1,10 +1,11 @@
/*
- * Copyright (c) 2010 Isode Limited.
+ * Copyright (c) 2010-2015 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#include <Swiften/StreamStack/ConnectionLayer.h>
+
#include <boost/bind.hpp>
namespace Swift {
@@ -14,7 +15,7 @@ ConnectionLayer::ConnectionLayer(boost::shared_ptr<Connection> connection) : con
}
ConnectionLayer::~ConnectionLayer() {
- connection->onDataRead.disconnect(boost::bind(&ConnectionLayer::writeDataToParentLayer, this, _1));
+ connection->onDataRead.disconnect(boost::bind(&ConnectionLayer::handleDataRead, this, _1));
}
void ConnectionLayer::handleDataRead(boost::shared_ptr<SafeByteArray> data) {
diff --git a/Swiften/StreamStack/ConnectionLayer.h b/Swiften/StreamStack/ConnectionLayer.h
index 2ff1c3c..e89e24c 100644
--- a/Swiften/StreamStack/ConnectionLayer.h
+++ b/Swiften/StreamStack/ConnectionLayer.h
@@ -9,14 +9,14 @@
#include <boost/shared_ptr.hpp>
#include <Swiften/Base/API.h>
-#include <Swiften/StreamStack/LowLayer.h>
#include <Swiften/Network/Connection.h>
+#include <Swiften/StreamStack/LowLayer.h>
namespace Swift {
class SWIFTEN_API ConnectionLayer : public LowLayer {
public:
ConnectionLayer(boost::shared_ptr<Connection> connection);
- ~ConnectionLayer();
+ virtual ~ConnectionLayer();
void writeData(const SafeByteArray& data) {
connection->write(data);
diff --git a/Swiften/StreamStack/TLSLayer.h b/Swiften/StreamStack/TLSLayer.h
index 87d69a9..0ab35d5 100644
--- a/Swiften/StreamStack/TLSLayer.h
+++ b/Swiften/StreamStack/TLSLayer.h
@@ -6,14 +6,13 @@
#pragma once
-#include <Swiften/Base/boost_bsignals.h>
-
#include <Swiften/Base/API.h>
#include <Swiften/Base/SafeByteArray.h>
+#include <Swiften/Base/boost_bsignals.h>
#include <Swiften/StreamStack/StreamLayer.h>
#include <Swiften/TLS/Certificate.h>
-#include <Swiften/TLS/CertificateWithKey.h>
#include <Swiften/TLS/CertificateVerificationError.h>
+#include <Swiften/TLS/CertificateWithKey.h>
#include <Swiften/TLS/TLSError.h>
#include <Swiften/TLS/TLSOptions.h>
@@ -24,7 +23,7 @@ namespace Swift {
class SWIFTEN_API TLSLayer : public StreamLayer {
public:
TLSLayer(TLSContextFactory*, const TLSOptions&);
- ~TLSLayer();
+ virtual ~TLSLayer();
void connect();
bool setClientCertificate(CertificateWithKey::ref cert);