diff options
Diffstat (limited to 'Sluift/SluiftComponent.cpp')
| -rw-r--r-- | Sluift/SluiftComponent.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Sluift/SluiftComponent.cpp b/Sluift/SluiftComponent.cpp index c08a103..c8a17a7 100644 --- a/Sluift/SluiftComponent.cpp +++ b/Sluift/SluiftComponent.cpp @@ -47,71 +47,71 @@ void SluiftComponent::connect(const std::string& host, int port) { void SluiftComponent::setTraceEnabled(bool b) { if (b && !tracer) { tracer = new ComponentXMLTracer(component); } else if (!b && tracer) { delete tracer; tracer = NULL; } } void SluiftComponent::waitConnected(int timeout) { Watchdog watchdog(timeout, networkFactories->getTimerFactory()); while (!watchdog.getTimedOut() && !disconnectedError && !component->isAvailable()) { eventLoop->runUntilEvents(); } if (watchdog.getTimedOut()) { component->disconnect(); throw Lua::Exception("Timeout while connecting"); } if (disconnectedError) { throw Lua::Exception(getErrorString(*disconnectedError)); } } bool SluiftComponent::isConnected() const { return component->isAvailable(); } void SluiftComponent::disconnect() { component->disconnect(); while (component->isAvailable()) { eventLoop->runUntilEvents(); } } -void SluiftComponent::setSoftwareVersion(const std::string& name, const std::string& version, const std::string& os) { +void SluiftComponent::setSoftwareVersion(const std::string& name, const std::string& version, const std::string& /* os */) { component->setSoftwareVersion(name, version); } boost::optional<SluiftComponent::Event> SluiftComponent::getNextEvent( int timeout, boost::function<bool (const Event&)> condition) { Watchdog watchdog(timeout, networkFactories->getTimerFactory()); size_t currentIndex = 0; while (true) { // Look for pending events in the queue while (currentIndex < pendingEvents.size()) { Event event = pendingEvents[currentIndex]; if (!condition || condition(event)) { pendingEvents.erase( pendingEvents.begin() + boost::numeric_cast<int>(currentIndex)); return event; } ++currentIndex; } // Wait for new events while (!watchdog.getTimedOut() && currentIndex >= pendingEvents.size() && component->isAvailable()) { eventLoop->runUntilEvents(); } // Finish if we're disconnected or timed out if (watchdog.getTimedOut() || !component->isAvailable()) { return boost::optional<Event>(); } } } void SluiftComponent::handleIncomingMessage(boost::shared_ptr<Message> stanza) { pendingEvents.push_back(Event(stanza)); } |
Swift