]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/unix/app.h
set eol-style
[wxWidgets.git] / include / wx / unix / app.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/unix/app.h
3// Purpose: wxAppConsole implementation for Unix
4// Author: Lukasz Michalski
5// Created: 28/01/2005
6// RCS-ID: $Id$
7// Copyright: (c) Lukasz Michalski
8// Licence: wxWindows licence
9/////////////////////////////////////////////////////////////////////////////
10
11//Ensure that sigset_t is being defined
12#include <signal.h>
13
14// wxApp subclass implementing event processing for console applications
15class WXDLLIMPEXP_BASE wxAppConsole : public wxAppConsoleBase
16{
17public:
18 // override base class initialization
19 virtual bool Initialize(int& argc, wxChar** argv);
20
21
22 // Unix-specific: Unix signal handling
23 // -----------------------------------
24
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);
30
31 // Set signal handler for the given signal, SIG_DFL or SIG_IGN can be used
32 // instead of a function pointer
33 //
34 // Return true if handler was installed, false on error
35 bool SetSignalHandler(int signal, SignalHandler handler);
36
37 // Check if any Unix signals arrived since the last call and execute
38 // handlers for them
39 void CheckSignal();
40
41private:
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);
46
47
48 // signals for which HandleSignal() had been called (reset from
49 // CheckSignal())
50 sigset_t m_signalsCaught;
51
52 // the signal handlers
53 WX_DECLARE_HASH_MAP(int, SignalHandler, wxIntegerHash, wxIntegerEqual, SignalHandlerHash);
54 SignalHandlerHash m_signalHandlerHash;
55
56 friend class GSocketGUIFunctionsTableBase;
57};