X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fpoll.h;h=09e00e5bbedb6313bea0832d09eb0e451a5ffe3d;hp=f59b499ddbc3bad3702c42a56507c32969ddac84;hb=609c9a508cfdc7b42c46c4f21d17639204165a00;hpb=e46de55d3c8f65d3b0eeaee76247476695e9eb7c diff --git a/source/io/poll.h b/source/io/poll.h index f59b499..09e00e5 100644 --- a/source/io/poll.h +++ b/source/io/poll.h @@ -9,7 +9,7 @@ namespace Msp { namespace IO { -class Base; +class EventObject; enum PollEvent { @@ -35,15 +35,15 @@ class Poller public: struct Slot { - Base *object; + EventObject *object; PollEvent events; - Slot(Base *o, PollEvent e): object(o), events(e) { } + Slot(EventObject *o, PollEvent e): object(o), events(e) { } }; typedef std::list SlotList; private: - typedef std::map EventMap; + typedef std::map EventMap; struct Private; @@ -54,19 +54,21 @@ private: public: Poller(); + ~Poller(); - void set_object(Base &, PollEvent); + void set_object(EventObject &, PollEvent); int poll(); int poll(const Time::TimeDelta &); private: void rebuild_array(); int do_poll(int); + void platform_poll(int); public: const SlotList &get_result() const { return poll_result; } }; -PollEvent poll(Base &, PollEvent); -PollEvent poll(Base &, PollEvent, const Time::TimeDelta &); +PollEvent poll(EventObject &, PollEvent); +PollEvent poll(EventObject &, PollEvent, const Time::TimeDelta &); } // namespace IO } // namespace Msp