AusweisApp
Lade ...
Suche ...
Keine Treffer
SignalHandler.h
gehe zur Dokumentation dieser Datei
1
5
#pragma once
6
7
#include "
Env.h
"
8
9
#include <QObject>
10
#include <functional>
11
12
#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
13
#include <QSocketNotifier>
14
#include <csignal>
15
#elif defined(Q_OS_WIN)
16
#include <QReadWriteLock>
17
#include <windows.h>
18
#endif
19
20
namespace
governikus
21
{
22
23
class
SignalHandler
24
:
public
QObject
25
,
private
Env::ThreadSafe
26
{
27
Q_OBJECT
28
29
Q_DISABLE_COPY
(
SignalHandler
)
30
friend
class
Env
;
31
friend
void
shutdownApp
();
32
33
private
:
34
bool
mInit;
35
std::
function
<
void
()> mController;
36
37
#ifdef Q_OS_WIN
38
SERVICE_STATUS_HANDLE
mServiceStatusHandle
;
39
QReadWriteLock
mLock;
40
#endif
41
42
SignalHandler
();
43
~SignalHandler
()
override
;
44
45
#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
46
47
private
:
48
QScopedPointer<QSocketNotifier>
mSignalSocketNotifier
;
49
static
int
cSignalSocketPair
[2];
50
51
void
initUnix
();
52
static
void
sigHandler
(
int
pSignal
);
53
#elif defined(Q_OS_WIN)
54
55
private
:
56
static
BOOL
WINAPI
ctrlHandler
(
DWORD
pCtrlType
);
57
static
VOID
WINAPI
serviceMain
(
DWORD
pArgc
,
LPTSTR
*
pArgv
);
58
static
VOID
WINAPI
serviceCtrlHandler
(
DWORD
pCtrlCode
);
59
static
void
registerService
();
60
void
setServiceStatus
(
DWORD
pCurrentState
);
61
#endif
62
63
private
Q_SLOTS
:
64
void
onSignalSocketActivated();
65
#if defined(Q_OS_WIN)
66
void
quit();
67
#else
68
void
quit()
const
;
69
#endif
70
71
public
:
72
void
init
();
73
void
setController
(
const
std::function<
void
()>&
pController
);
74
};
75
76
}
// namespace governikus
Env.h
governikus::Env
Definition
Env.h:40
governikus::SignalHandler
Definition
SignalHandler.h:26
governikus::SignalHandler::setController
void setController(const std::function< void()> &pController)
Definition
SignalHandler.cpp:66
governikus::SignalHandler::shutdownApp
friend void shutdownApp()
governikus::SignalHandler::init
void init()
Definition
SignalHandler.cpp:46
governikus
Defines the AccessRight and AccessRole enum.
Definition
CommandApdu.h:17
governikus::VOID
VOID
Definition
MsgTypes.h:18
governikus::decodeObject
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition
ASN1TemplateUtil.h:112
governikus::Env::ThreadSafe
Definition
Env.h:45
src
init
SignalHandler.h
Erzeugt von
1.10.0