AusweisApp2
SignalHandler.h
gehe zur Dokumentation dieser Datei
1
/*
2
* \brief Implements signal handler for unix and windows.
3
*
4
* \copyright Copyright (c) 2014-2021 Governikus GmbH & Co. KG, Germany
5
*/
6
7
#pragma once
8
9
#include "
controller/AppController.h
"
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
23
class
SignalHandler
24
:
public
QObject
25
{
26
Q_OBJECT
27
friend
class
Env
;
28
29
private
:
30
Q_DISABLE_COPY(
SignalHandler
)
31
32
bool
mInit;
33
QPointer<AppController> mAppController;
34
bool
mQuit;
35
36
SignalHandler
();
37
~
SignalHandler
()
override
;
38
void
quit();
39
40
#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
41
42
private
:
43
QScopedPointer<QSocketNotifier> mSignalSocketNotifier;
44
static
int
cSignalSocketPair[2];
45
46
void
initUnix();
47
static
void
sigHandler(
int
pSignal);
48
#elif defined(Q_OS_WIN)
49
50
private
:
51
static
BOOL WINAPI ctrlHandler(DWORD pCtrlType);
52
#endif
53
54
private
Q_SLOTS:
55
void
onSignalSocketActivated();
56
57
public
:
58
void
init
();
59
void
setController
(
AppController
& pAppController);
60
[[nodiscard]]
bool
shouldQuit
()
const
;
61
};
62
63
}
// namespace governikus
governikus::Env
Definition:
Env.h:44
governikus::SignalHandler::setController
void setController(AppController &pAppController)
Definition:
SignalHandler.cpp:46
governikus::SignalHandler::shouldQuit
bool shouldQuit() const
Definition:
SignalHandler.cpp:67
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition:
ActivationContext.h:15
SignalHandler.h
governikus::AppController
Definition:
AppController.h:36
AppController.h
governikus::SignalHandler::init
void init()
Definition:
SignalHandler.cpp:31
governikus::SignalHandler
Definition:
SignalHandler.h:25
src
init
SignalHandler.h
Erzeugt von
1.8.20