10 #include <msp/time/timedelta.h>
27 inline PollEvent operator|(PollEvent e, PollEvent f)
28 { return PollEvent(static_cast<int>(e)|static_cast<int>(f)); }
30 inline PollEvent operator&(PollEvent e, PollEvent f)
31 { return PollEvent(static_cast<int>(e)&static_cast<int>(f)); }
33 inline PollEvent operator~(PollEvent e)
34 { return PollEvent(~static_cast<int>(e)); }
45 Slot(Base *o, PollEvent e): object(o), events(e) { }
48 typedef std::list<Slot> SlotSeq;
50 typedef std::map<Base *, Slot> SlotMap;
60 std::vector<pollfd> pfd;
67 void set_object(Base &, PollEvent);
69 int poll(const Time::TimeDelta &);
74 const SlotSeq &get_result() const { return poll_result; }
77 PollEvent poll(Base &, PollEvent);
78 PollEvent poll(Base &, PollEvent, const Time::TimeDelta &);