X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eca4774075573858db88c78260f1dacba0db4f60..9c34a216817028bc533e07873d047208a96b05a2:/include/wx/unix/app.h diff --git a/include/wx/unix/app.h b/include/wx/unix/app.h index 98bbeef1af..222d2662e8 100644 --- a/include/wx/unix/app.h +++ b/include/wx/unix/app.h @@ -11,10 +11,17 @@ //Ensure that sigset_t is being defined #include +class wxFDIODispatcher; +class wxFDIOHandler; +class wxWakeUpPipe; + // wxApp subclass implementing event processing for console applications -class WXDLLIMPEXP_BASE wxAppConsoleUnix : public wxAppConsole +class WXDLLIMPEXP_BASE wxAppConsole : public wxAppConsoleBase { public: + wxAppConsole(); + virtual ~wxAppConsole(); + // override base class initialization virtual bool Initialize(int& argc, wxChar** argv); @@ -38,6 +45,14 @@ public: // handlers for them void CheckSignal(); + // Register the signal wake up pipe with the given dispatcher. + // + // This is used by wxExecute(wxEXEC_NOEVENTS) implementation only. + // + // The pointer to the handler used for processing events on this descriptor + // is returned so that it can be deleted when we no longer needed it. + wxFDIOHandler* RegisterSignalWakeUpPipe(wxFDIODispatcher& dispatcher); + private: // signal handler set up by SetSignalHandler() for all signals we handle, // it just adds the signal to m_signalsCaught -- the real processing is @@ -53,5 +68,7 @@ private: WX_DECLARE_HASH_MAP(int, SignalHandler, wxIntegerHash, wxIntegerEqual, SignalHandlerHash); SignalHandlerHash m_signalHandlerHash; - friend class GSocketGUIFunctionsTableBase; + // pipe used for wake up signal handling: if a signal arrives while we're + // blocking for input, writing to this pipe triggers a call to our CheckSignal() + wxWakeUpPipe *m_signalWakeUpPipe; };