AusweisApp
Lade ...
Suche ...
Keine Treffer
VolatileSettings.h
gehe zur Dokumentation dieser Datei
1
12#pragma once
13
14#include "Env.h"
15
16#include <QObject>
17#include <QReadWriteLock>
18
19#ifndef QT_NO_QDEBUG
20 #include <QScopeGuard>
21
22 #define SDK_MODE(pEnable)\
23 const auto sdkMode = Env::getSingleton<VolatileSettings>()->isUsedAsSDK();\
24 Env::getSingleton<VolatileSettings>()->setUsedAsSDK(pEnable);\
25 const auto sdkModeGuard = qScopeGuard([sdkMode] {\
26 Env::getSingleton<VolatileSettings>()->setUsedAsSDK(sdkMode);\
27 })
28
29#endif
30
31namespace governikus
32{
33
35 : public QObject
36 , private Env::ThreadSafe
37{
39 friend class Env;
40
41 public:
43 {
44 // See JSON-SDK MsgHandlerAuth and MsgHandlerChangePin
45 QString mSessionStarted;
46 QString mSessionFailed;
47 QString mSessionSucceeded;
48 QString mSessionInProgress;
49
50 public:
51 Messages(const QString& pSessionStarted = QString(), const QString& pSessionFailed = QString(),
52 const QString& mSessionSucceeded = QString(), const QString& pSessionInProgress = QString());
53
54 [[nodiscard]] QString getSessionStarted() const;
55 [[nodiscard]] QString getSessionFailed() const;
56 [[nodiscard]] QString getSessionSucceeded() const;
57 [[nodiscard]] QString getSessionInProgress() const;
58 };
59
60 private:
61 static constexpr bool cHandleInterruptDefault = false;
62
64 ~VolatileSettings() override = default;
65
66 mutable QReadWriteLock mLock;
67 bool mUsedAsSdk;
68 bool mDeveloperMode;
69 bool mHandleInterrupt;
70 Messages mMessages;
71 ulong mDelay;
72
73 public:
74 [[nodiscard]] bool isUsedAsSDK() const;
75 void setUsedAsSDK(bool pSdk);
76
77 [[nodiscard]] bool isDeveloperMode() const;
78 void setDeveloperMode(bool pMode = false);
79
80 [[nodiscard]] bool handleInterrupt() const;
81 void setHandleInterrupt(bool pScan = cHandleInterruptDefault);
82
83 void setMessages(const Messages& pMessages = Messages());
84 [[nodiscard]] Messages getMessages() const;
85
86 void setDelay(ulong pDelay = 0);
87 [[nodiscard]] ulong getDelay() const;
88
91};
92
93
94} // namespace governikus
Definition Env.h:42
Definition VolatileSettings.h:43
QString getSessionSucceeded() const
Definition VolatileSettings.cpp:36
Messages(const QString &pSessionStarted=QString(), const QString &pSessionFailed=QString(), const QString &mSessionSucceeded=QString(), const QString &pSessionInProgress=QString())
Definition VolatileSettings.cpp:12
QString getSessionStarted() const
Definition VolatileSettings.cpp:24
QString getSessionInProgress() const
Definition VolatileSettings.cpp:42
QString getSessionFailed() const
Definition VolatileSettings.cpp:30
Definition VolatileSettings.h:37
bool handleInterrupt() const
Definition VolatileSettings.cpp:93
void setUsedAsSDK(bool pSdk)
Definition VolatileSettings.cpp:66
void setMessages(const Messages &pMessages=Messages())
Definition VolatileSettings.cpp:107
ulong getDelay() const
Definition VolatileSettings.cpp:128
bool isDeveloperMode() const
Definition VolatileSettings.cpp:79
bool isUsedAsSDK() const
Definition VolatileSettings.cpp:59
Messages getMessages() const
Definition VolatileSettings.cpp:114
void setHandleInterrupt(bool pScan=cHandleInterruptDefault)
Definition VolatileSettings.cpp:100
void setDelay(ulong pDelay=0)
Definition VolatileSettings.cpp:121
void setDeveloperMode(bool pMode=false)
Definition VolatileSettings.cpp:86
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
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