]> git.tdb.fi Git - libs/core.git/blobdiff - source/eventdispatcher.h
Move class members and comments around
[libs/core.git] / source / eventdispatcher.h
index 6f6fe6f72a9455320e8954655eda10f2a01d1dcd..7e89d4739e845f0e0c180845ffedb43184eefd9f 100644 (file)
@@ -1,9 +1,3 @@
-/* $Id$
-
-This file is part of libmspio
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
 #ifndef EVENTDISPATCHER_H_
 #define EVENTDISPATCHER_H_
 
@@ -20,16 +14,6 @@ on some of them.
 */
 class EventDispatcher: public sigc::trackable
 {
-public:
-       EventDispatcher();
-       void add(Base &);
-       void remove(Base &);
-
-       /**
-       Checks for and dispatches events.  If block is true, will block until events
-       are available.
-       */
-       void tick(bool =true);
 private:
        struct Slot
        {
@@ -39,13 +23,30 @@ private:
 
                Slot(Base *o): obj(o) { }
        };
+
        typedef std::map<Base *, Slot> SlotMap;
 
        Poller poller;
        SlotMap objects;
 
+public:
+       EventDispatcher();
+
+       void add(Base &);
+       void remove(Base &);
+
+       /** Checks for and dispatches events.  If there are no events available,
+       blocks until there are. */
+       void tick();
+
+       /** Checks for and dispatches events.  If there are no events available,
+       waits at most the specified time before returning. */
+       void tick(const Time::TimeDelta &);
+
+private:
        void object_events_changed(PollEvent, Base *);
        void object_deleted(Base *);
+       void dispatch();
 };
 
 } // namespace IO