// Purpose: declares wxEventLoop class
// Author: Lukasz Michalski (lm@zork.pl)
// Created: 2007-05-07
-// RCS-ID: $Id$
// Copyright: (c) 2007 Lukasz Michalski
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// wxConsoleEventLoop
// ----------------------------------------------------------------------------
+class wxEventLoopSource;
class wxFDIODispatcher;
-class wxUnixEventLoopSource;
+class wxWakeUpPipeMT;
-namespace wxPrivate
-{
- class PipeIOHandler;
-}
-
-class WXDLLIMPEXP_BASE wxConsoleEventLoop
+class WXDLLIMPEXP_BASE wxConsoleEventLoop
#ifdef __WXOSX__
: public wxCFEventLoop
#else
virtual bool IsOk() const { return m_dispatcher != NULL; }
virtual bool YieldFor(long WXUNUSED(eventsToProcess)) { return true; }
-#if wxUSE_EVENTLOOP_SOURCE
- virtual wxEventLoopSource *
- AddSourceForFD(int fd, wxEventLoopSourceHandler *handler, int flags);
-#endif // wxUSE_EVENTLOOP_SOURCE
-
protected:
virtual void OnNextIteration();
private:
// pipe used for wake up messages: when a child thread wants to wake up
// the event loop in the main thread it writes to this pipe
- wxPrivate::PipeIOHandler *m_wakeupPipe;
+ wxWakeUpPipeMT *m_wakeupPipe;
+
+ // the event loop source used to monitor this pipe
+ wxEventLoopSource* m_wakeupSource;
// either wxSelectDispatcher or wxEpollDispatcher
wxFDIODispatcher *m_dispatcher;