]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/unix/app.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / unix / app.h
index 98bbeef1af92ba310d57f9623bbc6bea4d8ce4d1..f14df9ec3fa7928b52813dce7d1df2b569fa06b0 100644 (file)
@@ -3,7 +3,6 @@
 // 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 <signal.h>
 
+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 +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
@@ -53,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;
 };