AusweisApp2
Lade ...
Suche ...
Keine Treffer
AbstractState.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
10
11#include <QSharedPointer>
12#include <QState>
13
14
15namespace governikus
16{
17
19 : public QState
20{
21 Q_OBJECT
22
23 private:
24 const QSharedPointer<WorkflowContext> mContext;
25 bool mAbortOnCardRemoved;
26 bool mKeepCardConnectionAlive;
27
28 virtual void run() = 0;
29 [[nodiscard]] bool isStartStopEnabled() const;
30
31 protected:
32 QVector<QMetaObject::Connection> mConnections;
33
34 explicit AbstractState(const QSharedPointer<WorkflowContext>& pContext);
35
38
39 void onEntry(QEvent* pEvent) override;
40 void onExit(QEvent* pEvent) override;
41
42 void clearConnections();
44 void updateStatus(const GlobalStatus& pStatus);
45 void updateStartPaosResult(const ECardApiResult& pStartPaosResult);
46
48 void stopNfcScanIfNecessary(const QString& pError = QString());
49
50 public:
51 static const char* const cFORCE_START_STOP_SCAN;
52 static QString getClassName(const char* const pName);
53
54 template<typename T>
55 [[nodiscard]] static QString getClassName()
56 {
57 return getClassName(T::staticMetaObject.className());
58 }
59
60
61 template<typename T>
62 static bool isState(const QString& pState)
63 {
64 return pState == getClassName<T>();
65 }
66
67
68 ~AbstractState() override = default;
69
70 [[nodiscard]] QString getStateName() const;
71 void setStateName(const QString& pName);
72
73 Q_SIGNALS:
75 void fireAbort();
76
77 public Q_SLOTS:
78 void onStateApprovedChanged(bool pApproved);
79 virtual void onUserCancelled();
80 void onCardRemoved(const ReaderInfo& pInfo);
81};
82
83} // namespace governikus
Definition: AbstractState.h:20
virtual void onUserCancelled()
Definition: AbstractState.cpp:138
void clearConnections()
Definition: AbstractState.cpp:122
void stopNfcScanIfNecessary(const QString &pError=QString())
Definition: AbstractState.cpp:194
void onCardRemoved(const ReaderInfo &pInfo)
Definition: AbstractState.cpp:147
QString getStateName() const
Definition: AbstractState.cpp:45
bool isCancellationByUser()
Definition: AbstractState.cpp:132
void onEntry(QEvent *pEvent) override
Definition: AbstractState.cpp:79
static QString getClassName()
Definition: AbstractState.h:55
void onStateApprovedChanged(bool pApproved)
Definition: AbstractState.cpp:69
void setStateName(const QString &pName)
Definition: AbstractState.cpp:52
void onExit(QEvent *pEvent) override
Definition: AbstractState.cpp:107
void setAbortOnCardRemoved()
Definition: AbstractState.cpp:33
void updateStartPaosResult(const ECardApiResult &pStartPaosResult)
Definition: AbstractState.cpp:166
void setKeepCardConnectionAlive()
Definition: AbstractState.cpp:39
QVector< QMetaObject::Connection > mConnections
Definition: AbstractState.h:32
~AbstractState() override=default
static const char *const cFORCE_START_STOP_SCAN
Definition: AbstractState.h:51
void startNfcScanIfNecessary()
Definition: AbstractState.cpp:183
static bool isState(const QString &pState)
Definition: AbstractState.h:62
void updateStatus(const GlobalStatus &pStatus)
Definition: AbstractState.cpp:157
Definition: ECardApiResult.h:25
Definition: GlobalStatus.h:20
Definition: ReaderInfo.h:18
A simple template renderer.
Definition: ActivationContext.h:15