diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-03-28 13:40:14 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-03-28 13:40:43 (GMT) |
commit | b61486fefe602e0d18fa5279021006f87b965307 (patch) | |
tree | 437585cbef1179e1ec31f79789591d5610200c29 /Swiften/EventLoop/EventLoop.h | |
parent | dae28dd45e43fc6e6ef2ec4c6c65d5d736ed86f8 (diff) | |
download | swift-contrib-b61486fefe602e0d18fa5279021006f87b965307.zip swift-contrib-b61486fefe602e0d18fa5279021006f87b965307.tar.bz2 |
Moved Swiften to a separate module.
Diffstat (limited to 'Swiften/EventLoop/EventLoop.h')
m--------- | Swiften | 0 | ||||
-rw-r--r-- | Swiften/EventLoop/EventLoop.h | 38 |
2 files changed, 0 insertions, 38 deletions
diff --git a/Swiften b/Swiften new file mode 160000 +Subproject 8213ba16d0043d2461f4b031c881d61dda5a38c diff --git a/Swiften/EventLoop/EventLoop.h b/Swiften/EventLoop/EventLoop.h deleted file mode 100644 index 2b45288..0000000 --- a/Swiften/EventLoop/EventLoop.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include <boost/function.hpp> -#include <boost/thread/mutex.hpp> -#include <list> - -#include "Swiften/EventLoop/Event.h" - -namespace Swift { - class EventOwner; - class EventLoop { - public: - EventLoop(); - virtual ~EventLoop(); - - void postEvent(boost::function<void ()> event, boost::shared_ptr<EventOwner> owner = boost::shared_ptr<EventOwner>()); - void removeEventsFromOwner(boost::shared_ptr<EventOwner> owner); - - protected: - /** - * Reimplement this to call handleEvent(event) from the thread in which - * the event loop is residing. - */ - virtual void post(const Event& event) = 0; - - void handleEvent(const Event& event); - - private: - struct HasOwner { - HasOwner(boost::shared_ptr<EventOwner> owner) : owner(owner) {} - bool operator()(const Event& event) { return event.owner == owner; } - boost::shared_ptr<EventOwner> owner; - }; - boost::mutex eventsMutex_; - unsigned int nextEventID_; - std::list<Event> events_; - }; -} |