- const Poller::SlotList &result = poller.get_result();
- for(Poller::SlotList::const_iterator i=result.begin(); i!=result.end(); ++i)
- i->object->event(i->events);
+ obj.signal_events_changed.connect(sigc::mem_fun(this, &Slot::events_changed));
+ obj.signal_deleted.connect(sigc::mem_fun(this, &Slot::deleted));
+}
+
+void EventDispatcher::Slot::events_changed(PollEvent ev) const
+{
+ disp.poller.set_object(obj, ev);
+}
+
+void EventDispatcher::Slot::deleted() const
+{
+ disp.remove(obj);