X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fpoll.cpp;h=a58090792fcb06cf9c4a2a9049159ac7324524a8;hp=1ca0987ac10fd0ce7795f5649f667ffc6f178c42;hb=b4806214e905752617691f851717033fd3f266c2;hpb=31e72f50fbb34d86877e5110401c49ce3fefd4bb diff --git a/source/io/poll.cpp b/source/io/poll.cpp index 1ca0987..a580907 100644 --- a/source/io/poll.cpp +++ b/source/io/poll.cpp @@ -5,8 +5,7 @@ #endif #include #include -#include -#include "base.h" +#include "eventobject.h" #include "handle.h" #include "handle_private.h" #include "poll.h" @@ -18,7 +17,7 @@ namespace { using namespace Msp; using namespace Msp::IO; -inline int sys_poll_event(PollEvent event) +inline short int sys_poll_event(PollEvent event) { int result = 0; @@ -57,7 +56,7 @@ inline PollEvent poll_event_from_sys(int event) return result; } -inline PollEvent do_poll(Base &obj, PollEvent pe, int timeout) +inline PollEvent do_poll(EventObject &obj, PollEvent pe, int timeout) { #ifdef WIN32 if(timeout<0) @@ -107,7 +106,12 @@ Poller::Poller(): objs_changed(false) { } -void Poller::set_object(Base &obj, PollEvent ev) +Poller::~Poller() +{ + delete priv; +} + +void Poller::set_object(EventObject &obj, PollEvent ev) { // Verify that the object has an event handle if(ev) @@ -218,12 +222,12 @@ int Poller::do_poll(int timeout) } -PollEvent poll(Base &obj, PollEvent pe) +PollEvent poll(EventObject &obj, PollEvent pe) { return do_poll(obj, pe, -1); } -PollEvent poll(Base &obj, PollEvent pe, const Time::TimeDelta &timeout) +PollEvent poll(EventObject &obj, PollEvent pe, const Time::TimeDelta &timeout) { if(timeout