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