X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b46b1d59d6f69ad80dcf5955375578a6504d100a..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/unix/app.h diff --git a/include/wx/unix/app.h b/include/wx/unix/app.h index d0dc89a413..f14df9ec3f 100644 --- a/include/wx/unix/app.h +++ b/include/wx/unix/app.h @@ -3,15 +3,24 @@ // Purpose: wxAppConsole implementation for Unix // Author: Lukasz Michalski // Created: 28/01/2005 -// RCS-ID: $Id$ // Copyright: (c) Lukasz Michalski // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +//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); @@ -35,6 +44,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 @@ -50,5 +67,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; };