summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-08-01 17:49:35 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-08-01 17:49:35 (GMT)
commit3a4c1c7a6fd03fed0bdfc3acc85d60ec1797361c (patch)
tree546b28d7970ef4b2bd719b04a3ec32530df8d680 /Swiften/LinkLocal/LinkLocalConnector.cpp
parentd856cc05a54eabe3014b8512b27192c9e8da35ff (diff)
downloadswift-3a4c1c7a6fd03fed0bdfc3acc85d60ec1797361c.zip
swift-3a4c1c7a6fd03fed0bdfc3acc85d60ec1797361c.tar.bz2
Added LinkLocalConnector::cancel().
Diffstat (limited to 'Swiften/LinkLocal/LinkLocalConnector.cpp')
-rw-r--r--Swiften/LinkLocal/LinkLocalConnector.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/Swiften/LinkLocal/LinkLocalConnector.cpp b/Swiften/LinkLocal/LinkLocalConnector.cpp
index 40558d4..326d053 100644
--- a/Swiften/LinkLocal/LinkLocalConnector.cpp
+++ b/Swiften/LinkLocal/LinkLocalConnector.cpp
@@ -20,6 +20,10 @@ LinkLocalConnector::LinkLocalConnector(
connection(connection) {
}
+LinkLocalConnector::~LinkLocalConnector() {
+ assert(!resolveQuery);
+}
+
void LinkLocalConnector::connect() {
resolveQuery = querier->createResolveHostnameQuery(
service.getHostname(),
@@ -31,6 +35,14 @@ void LinkLocalConnector::connect() {
resolveQuery->run();
}
+void LinkLocalConnector::cancel() {
+ if (resolveQuery) {
+ resolveQuery->finish();
+ }
+ resolveQuery.reset();
+ connection->disconnect();
+}
+
void LinkLocalConnector::handleHostnameResolved(const boost::optional<HostAddress>& address) {
if (address) {
resolveQuery->finish();