diff options
Diffstat (limited to 'Swiften/EventLoop/SimpleEventLoop.cpp')
| m--------- | Swiften | 0 | ||||
| -rw-r--r-- | Swiften/EventLoop/SimpleEventLoop.cpp | 54 | 
2 files changed, 0 insertions, 54 deletions
diff --git a/Swiften b/Swiften new file mode 160000 +Subproject 8213ba16d0043d2461f4b031c881d61dda5a38c diff --git a/Swiften/EventLoop/SimpleEventLoop.cpp b/Swiften/EventLoop/SimpleEventLoop.cpp deleted file mode 100644 index 7c46ed3..0000000 --- a/Swiften/EventLoop/SimpleEventLoop.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#include "Swiften/EventLoop/SimpleEventLoop.h" - -#include <boost/bind.hpp> - -#include "Swiften/Base/foreach.h" - - -namespace Swift { - -void nop() {} - -SimpleEventLoop::SimpleEventLoop() : isRunning_(true) { -} - -SimpleEventLoop::~SimpleEventLoop() { -	if (!events_.empty()) { -		std::cerr << "Warning: Pending events in SimpleEventLoop at destruction time" << std::endl; -	} -} - -void SimpleEventLoop::run() { -	while (isRunning_) { -		std::vector<Event> events; -		{ -			boost::unique_lock<boost::mutex> lock(eventsMutex_); -			while (events_.size() == 0) { -				eventsAvailable_.wait(lock); -			} -			events.swap(events_); -		} -		foreach(const Event& event, events) { -			handleEvent(event); -		} -	} -} - -void SimpleEventLoop::stop() { -	postEvent(boost::bind(&SimpleEventLoop::doStop, this)); -} - -void SimpleEventLoop::doStop() { -	isRunning_ = false; -} - -void SimpleEventLoop::post(const Event& event) { -	{ -		boost::lock_guard<boost::mutex> lock(eventsMutex_); -		events_.push_back(event); -	} -	eventsAvailable_.notify_one(); -} - - -}  | 
 Swift