AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
SignalHandler.h
gehe zur Dokumentation dieser Datei
1 /*
2  * \brief Implements signal handler for unix and windows.
3  *
4  * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany
5  */
6 
7 #pragma once
8 
10 
11 #include <QPointer>
12 
13 #if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
14 #include <QSocketNotifier>
15 #include <signal.h>
16 #elif defined(Q_OS_WIN)
17 #include <windows.h>
18 #endif
19 
20 namespace governikus
21 {
22 
24  : public QObject
25 {
26  Q_OBJECT
27 
28  private:
29  Q_DISABLE_COPY(SignalHandler)
30 
31  bool mInit;
32  QPointer<AppController> mAppController;
33  bool mQuit;
34 
35  void quit();
36 
37 #if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
38 
39  private:
40  QScopedPointer<QSocketNotifier> mSignalSocketNotifier;
41  static int cSignalSocketPair[2];
42 
43  void initUnix();
44  static void sigHandler(int pSignal);
45 #elif defined(Q_OS_WIN)
46 
47  private:
48  static BOOL ctrlHandler(DWORD pCtrlType);
49 #endif
50 
51  private Q_SLOTS:
52  void onSignalSocketActivated();
53 
54  protected:
55  SignalHandler();
56  virtual ~SignalHandler();
57 
58  public:
59  static SignalHandler& getInstance();
60  void init();
61  void setController(AppController& pAppController);
62  bool shouldQuit() const;
63 };
64 
65 } /* namespace governikus */
Definition: AppController.h:35
static SignalHandler & getInstance()
Definition: SignalHandler.cpp:33
SignalHandler()
Definition: SignalHandler.cpp:20
void setController(AppController &pAppController)
Definition: SignalHandler.cpp:54
virtual ~SignalHandler()
Definition: SignalHandler.cpp:28
bool shouldQuit() const
Definition: SignalHandler.cpp:75
Definition: SignalHandler.h:23
void init()
Definition: SignalHandler.cpp:39