diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-06-10 17:23:57 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-06-10 17:38:05 (GMT) |
commit | e2f5588d089e4d2148762ea092e032976254a467 (patch) | |
tree | 851946c7a36ffa96e0f3ab54bc72f233f8b2c746 /Swift/Controllers/EventController.cpp | |
parent | 7214d768dca85a6d43892169d5008898249dce73 (diff) | |
download | swift-contrib-e2f5588d089e4d2148762ea092e032976254a467.zip swift-contrib-e2f5588d089e4d2148762ea092e032976254a467.tar.bz2 |
Moved Swiften/Controllers to Swift/Controllers.
Diffstat (limited to 'Swift/Controllers/EventController.cpp')
-rw-r--r-- | Swift/Controllers/EventController.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Swift/Controllers/EventController.cpp b/Swift/Controllers/EventController.cpp new file mode 100644 index 0000000..9b143dd --- /dev/null +++ b/Swift/Controllers/EventController.cpp @@ -0,0 +1,21 @@ +#include "Swift/Controllers/EventController.h" + +#include <boost/bind.hpp> +#include <algorithm> + +namespace Swift { + +void EventController::handleIncomingEvent(boost::shared_ptr<MessageEvent> event) { + if (event->isReadable()) { + events_.push_back(event); + event->onRead.connect(boost::bind(&EventController::handleEventRead, this, event)); + onEventQueueLengthChange(events_.size()); + } +} + +void EventController::handleEventRead(boost::shared_ptr<MessageEvent> event) { + events_.erase(std::remove(events_.begin(), events_.end(), event), events_.end()); + onEventQueueLengthChange(events_.size()); +} + +} |