]> git.tdb.fi Git - libs/core.git/blobdiff - source/eventdispatcher.cpp
Style update: spaces around assignments
[libs/core.git] / source / eventdispatcher.cpp
index 04147e9bee4647e6d452c2d8e35e4f3eac61265c..02330ec11fd7db97e7025703b57b246380daab5f 100644 (file)
@@ -9,9 +9,6 @@ Distributed under the LGPL
 #include "eventdispatcher.h"
 #include "poll.h"
 
-#include <iostream>
-using namespace std;
-
 namespace Msp {
 namespace IO {
 
@@ -20,13 +17,12 @@ EventDispatcher::EventDispatcher()
 
 void EventDispatcher::add(Base &obj)
 {
-       //cout<<"evdisp add "<<&obj<<'\n';
-       SlotMap::iterator i=objects.find(&obj);
+       SlotMap::iterator i = objects.find(&obj);
        if(i==objects.end())
        {
-               i=objects.insert(SlotMap::value_type(&obj, Slot(&obj))).first;
-               i->second.evch_conn=obj.signal_events_changed.connect(sigc::bind(sigc::mem_fun(this, &EventDispatcher::object_events_changed), &obj));
-               i->second.del_conn=obj.signal_deleted.connect(sigc::bind(sigc::mem_fun(this, &EventDispatcher::object_deleted), &obj));
+               i = objects.insert(SlotMap::value_type(&obj, Slot(&obj))).first;
+               i->second.evch_conn = obj.signal_events_changed.connect(sigc::bind(sigc::mem_fun(this, &EventDispatcher::object_events_changed), &obj));
+               i->second.del_conn = obj.signal_deleted.connect(sigc::bind(sigc::mem_fun(this, &EventDispatcher::object_deleted), &obj));
 
                if(obj.get_events())
                        poller.set_object(obj, obj.get_events());
@@ -35,8 +31,7 @@ void EventDispatcher::add(Base &obj)
 
 void EventDispatcher::remove(Base &obj)
 {
-       //cout<<"evdisp remove "<<&obj<<'\n';
-       SlotMap::iterator i=objects.find(&obj);
+       SlotMap::iterator i = objects.find(&obj);
        if(i!=objects.end())
        {
                i->second.evch_conn.disconnect();
@@ -47,23 +42,22 @@ void EventDispatcher::remove(Base &obj)
        }
 }
 
-void EventDispatcher::tick(bool block)
+void EventDispatcher::tick()
 {
        if(objects.empty())
                return;
 
-       int ret;
-       if(block)
-               ret=poller.poll();
-       else
-               ret=poller.poll(Time::zero);
+       if(poller.poll()>0)
+               dispatch();
+}
 
-       if(ret>0)
-       {
-               const Poller::SlotSeq &result=poller.get_result();
-               for(Poller::SlotSeq::const_iterator i=result.begin(); i!=result.end(); ++i)
-                       i->object->event(i->events);
-       }
+void EventDispatcher::tick(const Time::TimeDelta &dt)
+{
+       if(objects.empty())
+               return;
+
+       if(poller.poll(dt)>0)
+               dispatch();
 }
 
 void EventDispatcher::object_events_changed(PollEvent ev, Base *obj)
@@ -76,5 +70,12 @@ void EventDispatcher::object_deleted(Base *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)
+               i->object->event(i->events);
+}
+
 } // namespace IO
 } // namespace Msp