X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6b8ef0b35d674bc262eb2005ac1321762c831d31..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/unix/evtloop.h diff --git a/include/wx/unix/evtloop.h b/include/wx/unix/evtloop.h index 35d918390c..2b91c72375 100644 --- a/include/wx/unix/evtloop.h +++ b/include/wx/unix/evtloop.h @@ -1,9 +1,8 @@ - /////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// // Name: wx/unix/evtloop.h // 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 /////////////////////////////////////////////////////////////////////////////// @@ -17,18 +16,18 @@ // wxConsoleEventLoop // ---------------------------------------------------------------------------- +class wxEventLoopSource; class wxFDIODispatcher; +class wxWakeUpPipeMT; -namespace wxPrivate -{ - class PipeIOHandler; -} - -class WXDLLIMPEXP_BASE wxConsoleEventLoop : public wxEventLoopManual +class WXDLLIMPEXP_BASE wxConsoleEventLoop +#ifdef __WXOSX__ +: public wxCFEventLoop +#else +: public wxEventLoopManual +#endif { public: - typedef wxUnixEventLoopSource Source; - // initialize the event loop, use IsOk() to check if we were successful wxConsoleEventLoop(); virtual ~wxConsoleEventLoop(); @@ -41,33 +40,16 @@ public: virtual bool IsOk() const { return m_dispatcher != NULL; } virtual bool YieldFor(long WXUNUSED(eventsToProcess)) { return true; } -#if wxUSE_EVENTLOOP_SOURCE - virtual wxUnixEventLoopSource* CreateSource() const - { - return new wxUnixEventLoopSource(); - } - - virtual wxUnixEventLoopSource* CreateSource(int res, - wxEventLoopSourceHandler* handler, - int flags) const - { - return new wxUnixEventLoopSource(res, handler, flags); - } -#endif - protected: -#if wxUSE_EVENTLOOP_SOURCE - // adding/removing sources - virtual bool DoAddSource(wxAbstractEventLoopSource* source); - virtual bool DoRemoveSource(wxAbstractEventLoopSource* source); -#endif - 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;