X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fpoll.h;h=c8739239d960f4f801d1f1bd22846ddcd3a9989e;hp=ca0b0b7d88f46ccc6b82e8219e70d3bcbd74a97b;hb=HEAD;hpb=122846f0881673770d88eff7d925ecf25c01b62e diff --git a/source/io/poll.h b/source/io/poll.h index ca0b0b7..53e3808 100644 --- a/source/io/poll.h +++ b/source/io/poll.h @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -31,22 +32,20 @@ inline PollEvent operator~(PollEvent e) { return PollEvent(~static_cast(e)); } -class Poller: private NonCopyable +class MSPCORE_API Poller: private NonCopyable { public: struct PolledObject { - EventObject *object = 0; - PollEvent events = P_NONE; - - PolledObject(EventObject *o, PollEvent e): object(o), events(e) { } + EventObject *object; + PollEvent events; }; private: struct Private; std::vector objects; - Private *priv = 0; + Private *priv = nullptr; bool events_changed = false; bool objs_changed = false; std::vector poll_result; @@ -66,8 +65,8 @@ public: const std::vector &get_result() const { return poll_result; } }; -PollEvent poll(EventObject &, PollEvent); -PollEvent poll(EventObject &, PollEvent, const Time::TimeDelta &); +MSPCORE_API PollEvent poll(EventObject &, PollEvent); +MSPCORE_API PollEvent poll(EventObject &, PollEvent, const Time::TimeDelta &); } // namespace IO } // namespace Msp