#include "wx/defs.h"
-#ifdef HAVE_SYS_EPOLL_H
+#ifdef wxUSE_EPOLL_DISPATCHER
#include "wx/private/fdiodispatcher.h"
class WXDLLIMPEXP_CORE wxEpollDispatcher : public wxFDIODispatcher
{
public:
- // get pointer to the unique instance of this class, can return NULL if
+ // create a new instance of this class, can return NULL if
// epoll() is not supported on this system
//
- // do not delete the returned pointer
- static wxEpollDispatcher *Get();
+ // the caller should delete the returned pointer
+ static wxEpollDispatcher *Create();
+
+ virtual ~wxEpollDispatcher();
// implement base class pure virtual methods
virtual bool RegisterFD(int fd, wxFDIOHandler* handler, int flags = wxFDIO_ALL);
virtual bool ModifyFD(int fd, wxFDIOHandler* handler, int flags = wxFDIO_ALL);
- virtual wxFDIOHandler *UnregisterFD(int fd, int flags = wxFDIO_ALL);
- virtual void RunLoop(int timeout = TIMEOUT_INFINITE);
+ virtual bool UnregisterFD(int fd);
+ virtual void Dispatch(int timeout = TIMEOUT_INFINITE);
private:
- // ctor is private, use Get()
- wxEpollDispatcher();
-
- // return true if the object was successfully initialized
- bool IsOk() const { return m_epollDescriptor != -1; }
+ // ctor is private, use Create()
+ wxEpollDispatcher(int epollDescriptor);
int m_epollDescriptor;
};
-#endif // HAVE_SYS_EPOLL_H
+#endif // wxUSE_EPOLL_DISPATCHER
#endif // _WX_PRIVATE_SOCKETEVTDISPATCH_H_