// ----------------------------------------------------------------------------
class wxFDIODispatcher;
-
-namespace wxPrivate
-{
- class PipeIOHandler;
-};
-
-class WXDLLIMPEXP_BASE wxConsoleEventLoop : public wxEventLoopManual
+class wxUnixEventLoopSource;
+class wxWakeUpPipeMT;
+
+class WXDLLIMPEXP_BASE wxConsoleEventLoop
+#ifdef __WXOSX__
+: public wxCFEventLoop
+#else
+: public wxEventLoopManual
+#endif
{
public:
// initialize the event loop, use IsOk() to check if we were successful
virtual int DispatchTimeout(unsigned long timeout);
virtual void WakeUp();
virtual bool IsOk() const { return m_dispatcher != NULL; }
+ virtual bool YieldFor(long WXUNUSED(eventsToProcess)) { return true; }
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;
// either wxSelectDispatcher or wxEpollDispatcher
wxFDIODispatcher *m_dispatcher;
- DECLARE_NO_COPY_CLASS(wxConsoleEventLoop)
+ wxDECLARE_NO_COPY_CLASS(wxConsoleEventLoop);
};
#endif // wxUSE_CONSOLE_EVENTLOOP