diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-02-24 19:12:39 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-02-24 19:18:05 (GMT) |
commit | 90d6b45adf84976d99911feb3fb09b27cb6a8d1e (patch) | |
tree | 3e49f71aef78b3d95d5318ca8e1f42305628da9f /Swiften/EventLoop | |
parent | 442420335b9533b2a43c6e3f09758a94af045a84 (diff) | |
download | swift-90d6b45adf84976d99911feb3fb09b27cb6a8d1e.zip swift-90d6b45adf84976d99911feb3fb09b27cb6a8d1e.tar.bz2 |
Added debugging switch to Sluift.
Diffstat (limited to 'Swiften/EventLoop')
-rw-r--r-- | Swiften/EventLoop/SimpleEventLoop.cpp | 5 | ||||
-rw-r--r-- | Swiften/EventLoop/SimpleEventLoop.h | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/Swiften/EventLoop/SimpleEventLoop.cpp b/Swiften/EventLoop/SimpleEventLoop.cpp index d745e39..2d71544 100644 --- a/Swiften/EventLoop/SimpleEventLoop.cpp +++ b/Swiften/EventLoop/SimpleEventLoop.cpp @@ -25,7 +25,7 @@ SimpleEventLoop::~SimpleEventLoop() { } } -void SimpleEventLoop::run() { +void SimpleEventLoop::doRun(bool breakAfterEvents) { while (isRunning_) { std::vector<Event> events; { @@ -38,6 +38,9 @@ void SimpleEventLoop::run() { foreach(const Event& event, events) { handleEvent(event); } + if (breakAfterEvents) { + return; + } } } diff --git a/Swiften/EventLoop/SimpleEventLoop.h b/Swiften/EventLoop/SimpleEventLoop.h index 86195e1..bdffa3d 100644 --- a/Swiften/EventLoop/SimpleEventLoop.h +++ b/Swiften/EventLoop/SimpleEventLoop.h @@ -19,12 +19,20 @@ namespace Swift { SimpleEventLoop(); ~SimpleEventLoop(); - void run(); + void run() { + doRun(false); + } + + void runUntilEvents() { + doRun(true); + } + void stop(); virtual void post(const Event& event); private: + void doRun(bool breakAfterEvents); void doStop(); private: |