summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-07-26 08:21:20 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-07-26 14:52:17 (GMT)
commit26d623d3cfd8937fb52acf76ef33d230f5010538 (patch)
treeade8246f719fa4dee9de1daaa2ba3f7b6c324e53 /Swiften/LinkLocal/DNSSD/Bonjour/BonjourQuerier.cpp
parent2833b8f09c9aef09004662a2a89eefbaee1e4247 (diff)
downloadswift-26d623d3cfd8937fb52acf76ef33d230f5010538.zip
swift-26d623d3cfd8937fb52acf76ef33d230f5010538.tar.bz2
Implement fake DNSSD querier.
Diffstat (limited to 'Swiften/LinkLocal/DNSSD/Bonjour/BonjourQuerier.cpp')
-rw-r--r--Swiften/LinkLocal/DNSSD/Bonjour/BonjourQuerier.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/Swiften/LinkLocal/DNSSD/Bonjour/BonjourQuerier.cpp b/Swiften/LinkLocal/DNSSD/Bonjour/BonjourQuerier.cpp
index c065d4d..70fbc7c 100644
--- a/Swiften/LinkLocal/DNSSD/Bonjour/BonjourQuerier.cpp
+++ b/Swiften/LinkLocal/DNSSD/Bonjour/BonjourQuerier.cpp
@@ -22,7 +22,7 @@ BonjourQuerier::BonjourQuerier() : stopRequested(false), thread(0) {
}
BonjourQuerier::~BonjourQuerier() {
- stop();
+ assert(!thread);
}
boost::shared_ptr<DNSSDBrowseQuery> BonjourQuerier::createBrowseQuery() {
@@ -64,18 +64,19 @@ void BonjourQuerier::interruptSelect() {
}
void BonjourQuerier::start() {
- stop();
+ assert(!thread);
thread = new boost::thread(boost::bind(&BonjourQuerier::run, shared_from_this()));
}
void BonjourQuerier::stop() {
if (thread) {
stopRequested = true;
- runningQueries.clear(); // TODO: Is this the right thing to do?
+ assert(runningQueries.empty());
runningQueriesAvailableEvent.notify_one();
interruptSelect();
thread->join();
delete thread;
+ thread = NULL;
stopRequested = false;
}
}