X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Feventobject.h;h=cf987e4094fae6ce133c0f7c4f00491eb7e381df;hp=b8423c927f1daa95dd517c961e83c3477cf42731;hb=HEAD;hpb=c21ab7e49852585df01b4cc19599e25a918b581b diff --git a/source/io/eventobject.h b/source/io/eventobject.h index b8423c9..75cfb73 100644 --- a/source/io/eventobject.h +++ b/source/io/eventobject.h @@ -1,19 +1,20 @@ #ifndef MSP_IO_EVENTOBJECT_H_ #define MSP_IO_EVENTOBJECT_H_ +#include #include "base.h" namespace Msp { namespace IO { -struct Handle; +class Handle; /** Interface class for objects that can provide event-based I/O. These objects can be fed to the various poll functions in poll.h, or added to an EventDispatcher to generate event signals. */ -class EventObject: public Base +class MSPCORE_API EventObject: public Base { public: /** Emitted when there is data available for reading. If all data is not @@ -25,16 +26,17 @@ public: sigc::signal signal_events_changed; private: - PollEvent events; + PollEvent _events = P_NONE; protected: EventObject(); + ~EventObject() override; void set_events(PollEvent); public: /** Returns a mask of the currently interesting events. Used by EventDispatcher. */ - PollEvent get_events() const { return events; } + PollEvent get_events() const { return _events; } /** Returns a handle for polling. */ virtual const Handle &get_event_handle() = 0;