AusweisApp2
SignalHandler.h
gehe zur Dokumentation dieser Datei
1 /*
2  * \brief Implements signal handler for unix and windows.
3  *
4  * \copyright Copyright (c) 2014-2020 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 <csignal>
15 #include <QSocketNotifier>
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 WINAPI ctrlHandler(DWORD pCtrlType);
49 #endif
50 
51  private Q_SLOTS:
52  void onSignalSocketActivated();
53 
54  protected:
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
governikus::SignalHandler::SignalHandler
SignalHandler()
governikus::SignalHandler::setController
void setController(AppController &pAppController)
Definition: SignalHandler.cpp:54
governikus::SignalHandler::shouldQuit
bool shouldQuit() const
Definition: SignalHandler.cpp:75
governikus::SignalHandler::getInstance
static SignalHandler & getInstance()
Definition: SignalHandler.cpp:33
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
SignalHandler.h
governikus::AppController
Definition: AppController.h:36
governikus::SignalHandler::~SignalHandler
virtual ~SignalHandler()
Definition: SignalHandler.cpp:28
AppController.h
governikus::SignalHandler::init
void init()
Definition: SignalHandler.cpp:39
defineSingleton
defineSingleton(SignalHandler) SignalHandler
Definition: SignalHandler.cpp:15
governikus::SignalHandler
Definition: SignalHandler.h:25
SingletonHelper.h