#include <msp/time/units.h>
#include "base.h"
#include "eventdispatcher.h"
+#include "eventobject.h"
#include "poll.h"
namespace Msp {
EventDispatcher::EventDispatcher()
{ }
-void EventDispatcher::add(Base &obj)
+void EventDispatcher::add(EventObject &obj)
{
SlotMap::iterator i = objects.find(&obj);
if(i==objects.end())
}
}
-void EventDispatcher::remove(Base &obj)
+void EventDispatcher::remove(EventObject &obj)
{
SlotMap::iterator i = objects.find(&obj);
if(i!=objects.end())
dispatch();
}
-void EventDispatcher::object_events_changed(PollEvent ev, Base *obj)
+void EventDispatcher::object_events_changed(PollEvent ev, EventObject *obj)
{
poller.set_object(*obj, ev);
}
-void EventDispatcher::object_deleted(Base *obj)
+void EventDispatcher::object_deleted(EventObject *obj)
{
remove(*obj);
}
void EventDispatcher::dispatch()
{
- const Poller::SlotSeq &result = poller.get_result();
- for(Poller::SlotSeq::const_iterator i=result.begin(); i!=result.end(); ++i)
+ const Poller::SlotList &result = poller.get_result();
+ for(Poller::SlotList::const_iterator i=result.begin(); i!=result.end(); ++i)
i->object->event(i->events);
}