summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-06-10 17:23:57 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-06-10 17:38:05 (GMT)
commite2f5588d089e4d2148762ea092e032976254a467 (patch)
tree851946c7a36ffa96e0f3ab54bc72f233f8b2c746 /Swift/Controllers/EventController.cpp
parent7214d768dca85a6d43892169d5008898249dce73 (diff)
downloadswift-e2f5588d089e4d2148762ea092e032976254a467.zip
swift-e2f5588d089e4d2148762ea092e032976254a467.tar.bz2
Moved Swiften/Controllers to Swift/Controllers.
Diffstat (limited to 'Swift/Controllers/EventController.cpp')
-rw-r--r--Swift/Controllers/EventController.cpp21
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());
+}
+
+}