1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxAppConsole implementation for Unix
4 // Author: Lukasz Michalski
7 // Copyright: (c) Lukasz Michalski
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
11 // wxApp subclass implementing event processing for console applications
12 class WXDLLIMPEXP_BASE wxAppConsoleUnix
: public wxAppConsole
15 // override base class initialization
16 virtual bool Initialize(int& argc
, wxChar
** argv
);
19 // Unix-specific: Unix signal handling
20 // -----------------------------------
22 // type of the function which can be registered as signal handler: notice
23 // that it isn't really a signal handler, i.e. it's not subject to the
24 // usual signal handlers constraints, because it is called later from
25 // CheckSignal() and not when the signal really occurs
26 typedef void (*SignalHandler
)(int);
28 // Set signal handler for the given signal, SIG_DFL or SIG_IGN can be used
29 // instead of a function pointer
31 // Return true if handler was installed, false on error
32 bool SetSignalHandler(int signal
, SignalHandler handler
);
34 // Check if any Unix signals arrived since the last call and execute
39 // signal handler set up by SetSignalHandler() for all signals we handle,
40 // it just adds the signal to m_signalsCaught -- the real processing is
41 // done later, when CheckSignal() is called
42 static void HandleSignal(int signal
);
45 // signals for which HandleSignal() had been called (reset from
47 sigset_t m_signalsCaught
;
49 // the signal handlers
50 WX_DECLARE_HASH_MAP(int, SignalHandler
, wxIntegerHash
, wxIntegerEqual
, SignalHandlerHash
);
51 SignalHandlerHash m_signalHandlerHash
;
53 friend class GSocketGUIFunctionsTableBase
;