diff --git a/include/wx/private/fdioeventloopsourcehandler.h b/include/wx/private/fdioeventloopsourcehandler.h new file mode 100644 index 0000000000..9d6248c579 --- /dev/null +++ b/include/wx/private/fdioeventloopsourcehandler.h @@ -0,0 +1,39 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/private/fdioeventloopsourcehandler.h +// Purpose: declares wxFDIOEventLoopSourceHandler class +// Author: Rob Bresalier, Vadim Zeitlin +// Created: 2013-06-13 (extracted from src/unix/evtloopunix.cpp) +// RCS-ID: $Id$ +// Copyright: (c) 2009 Vadim Zeitlin +// (c) 2013 Rob Bresalier +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_PRIVATE_FDIO_EVENT_LOOP_SOURCE_HANDLER_H +#define _WX_PRIVATE_FDIO_EVENT_LOOP_SOURCE_HANDLER_H + +#include "wx/evtloopsrc.h" + +// This class is a temporary bridge between event loop sources and +// FDIODispatcher. It is going to be removed soon, when all subject interfaces +// are modified +class wxFDIOEventLoopSourceHandler : public wxFDIOHandler +{ +public: + wxEXPLICIT wxFDIOEventLoopSourceHandler(wxEventLoopSourceHandler* handler) + : m_handler(handler) + { + } + + // Just forward to the real handler. + virtual void OnReadWaiting() { m_handler->OnReadWaiting(); } + virtual void OnWriteWaiting() { m_handler->OnWriteWaiting(); } + virtual void OnExceptionWaiting() { m_handler->OnExceptionWaiting(); } + +protected: + wxEventLoopSourceHandler* const m_handler; + + wxDECLARE_NO_COPY_CLASS(wxFDIOEventLoopSourceHandler); +}; + +#endif // _WX_PRIVATE_FDIO_EVENT_LOOP_SOURCE_HANDLER_H diff --git a/src/unix/evtloopunix.cpp b/src/unix/evtloopunix.cpp index 95756ef530..784241c663 100644 --- a/src/unix/evtloopunix.cpp +++ b/src/unix/evtloopunix.cpp @@ -36,6 +36,7 @@ #include "wx/unix/private/epolldispatcher.h" #include "wx/unix/private/wakeuppipe.h" #include "wx/private/selectdispatcher.h" +#include "wx/private/fdioeventloopsourcehandler.h" #if wxUSE_EVENTLOOP_SOURCE #include "wx/evtloopsrc.h" @@ -86,33 +87,6 @@ wxConsoleEventLoop::~wxConsoleEventLoop() #if wxUSE_EVENTLOOP_SOURCE -// This class is a temporary bridge between event loop sources and -// FDIODispatcher. It is going to be removed soon, when all subject interfaces -// are modified -class wxFDIOEventLoopSourceHandler : public wxFDIOHandler -{ -public: - wxFDIOEventLoopSourceHandler(wxEventLoopSourceHandler* handler) : - m_impl(handler) { } - - virtual void OnReadWaiting() - { - m_impl->OnReadWaiting(); - } - virtual void OnWriteWaiting() - { - m_impl->OnWriteWaiting(); - } - - virtual void OnExceptionWaiting() - { - m_impl->OnExceptionWaiting(); - } - -protected: - wxEventLoopSourceHandler* m_impl; -}; - wxEventLoopSource * wxConsoleEventLoop::AddSourceForFD(int fd, wxEventLoopSourceHandler *handler,