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
20namespace governikus
21{
22
24 : public QObject
25 , private Env::ThreadSafe
26{
28
32
33 private:
34 bool mInit;
35 std::function<void()> mController;
36
37#ifdef Q_OS_WIN
39 QReadWriteLock mLock;
40#endif
41
43 ~SignalHandler() override;
44
45#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
46
47 private:
49 static int cSignalSocketPair[2];
50
51 void initUnix();
52 static void sigHandler(int pSignal);
53#elif defined(Q_OS_WIN)
54
55 private:
59 static void registerService();
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
Definition Env.h:40
Definition SignalHandler.h:26
void setController(const std::function< void()> &pController)
Definition SignalHandler.cpp:66
void init()
Definition SignalHandler.cpp:46
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
VOID
Definition MsgTypes.h:18
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:112
Definition Env.h:45