AusweisApp
Lade ...
Suche ...
Keine Treffer
SignalHandler.h
gehe zur Dokumentation dieser Datei
1
5/*
6 * \brief Implements signal handler for unix and windows.
7 */
8
9#pragma once
10
11#include "Env.h"
12
13#include <QObject>
14#include <functional>
15
16#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
17 #include <QSocketNotifier>
18 #include <csignal>
19#elif defined(Q_OS_WIN)
20 #include <QReadWriteLock>
21 #include <windows.h>
22#endif
23
24namespace governikus
25{
26
28 : public QObject
29 , private Env::ThreadSafe
30{
32
36
37 private:
38 bool mInit;
39 std::function<void()> mController;
40
41#ifdef Q_OS_WIN
43 QReadWriteLock mLock;
44#endif
45
47 ~SignalHandler() override;
48
49#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
50
51 private:
53 static int cSignalSocketPair[2];
54
55 void initUnix();
56 static void sigHandler(int pSignal);
57#elif defined(Q_OS_WIN)
58
59 private:
63 static void registerService();
65#endif
66
67 private Q_SLOTS:
68 void onSignalSocketActivated();
69#if defined(Q_OS_WIN)
70 void quit();
71#else
72 void quit() const;
73#endif
74
75 public:
76 void init();
77 void setController(const std::function<void()>& pController);
78};
79
80} // namespace governikus
Definition Env.h:42
Definition SignalHandler.h:30
void setController(const std::function< void()> &pController)
Definition SignalHandler.cpp:66
void init()
Definition SignalHandler.cpp:46
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
VOID
Definition MsgTypes.h:22
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114
Definition Env.h:47