#include <map>
#include <vector>
-#include <msp/core/attributes.h>
+#include <msp/core/mspcore_api.h>
#include <msp/core/noncopyable.h>
#include <msp/time/timedelta.h>
{ return PollEvent(~static_cast<int>(e)); }
-class Poller: private NonCopyable
+class MSPCORE_API Poller: private NonCopyable
{
public:
struct PolledObject
{
EventObject *object;
PollEvent events;
-
- PolledObject(EventObject *o, PollEvent e): object(o), events(e) { }
};
- typedef PolledObject Slot DEPRECATED;
-
- typedef std::vector<PolledObject> SlotList DEPRECATED;
private:
struct Private;
std::vector<PolledObject> objects;
- Private *priv;
- bool events_changed;
- bool objs_changed;
+ Private *priv = nullptr;
+ bool events_changed = false;
+ bool objs_changed = false;
std::vector<PolledObject> poll_result;
public:
const std::vector<PolledObject> &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