AusweisApp2
Lade ...
Suche ...
Keine Treffer
AbstractState.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "FailureCode.h"
13
14#include <QSharedPointer>
15#include <QState>
16
17
18namespace governikus
19{
20
22 : public QState
23{
24 Q_OBJECT
25
26 private:
27 const QSharedPointer<WorkflowContext> mContext;
28 bool mAbortOnCardRemoved;
29 bool mKeepCardConnectionAlive;
30
31 virtual void run() = 0;
32 [[nodiscard]] bool isStartStopEnabled() const;
33
34 protected:
35 QVector<QMetaObject::Connection> mConnections;
36
37 explicit AbstractState(const QSharedPointer<WorkflowContext>& pContext);
38
41
42 void onEntry(QEvent* pEvent) override;
43 void onExit(QEvent* pEvent) override;
44
45 void clearConnections();
47 void updateStatus(const GlobalStatus& pStatus);
48 void updateStartPaosResult(const ECardApiResult& pStartPaosResult);
49
50 void stopNfcScanIfNecessary(const QString& pError = QString());
51
52 public:
53 static const char* const cFORCE_START_STOP_SCAN;
54 static QString getClassName(const char* const pName);
55
56 template<typename T>
57 [[nodiscard]] static QString getClassName()
58 {
59 return getClassName(T::staticMetaObject.className());
60 }
61
62
63 template<typename T>
64 static bool isState(const QString& pState)
65 {
66 return pState == getClassName<T>();
67 }
68
69
70 ~AbstractState() override = default;
71
72 [[nodiscard]] QString getStateName() const;
73 void setStateName(const QString& pName);
74
75 Q_SIGNALS:
77 void fireAbort(const FailureCode& pFailure);
78
79 private Q_SLOTS:
80 void onAbort(const FailureCode& pFailure) const;
81
82 public Q_SLOTS:
83 void onStateApprovedChanged(bool pApproved);
84 virtual void onUserCancelled();
85 void onCardRemoved(const ReaderInfo& pInfo);
86};
87
88} // namespace governikus
Definition AbstractState.h:23
virtual void onUserCancelled()
Definition AbstractState.cpp:149
void clearConnections()
Definition AbstractState.cpp:133
void stopNfcScanIfNecessary(const QString &pError=QString())
Definition AbstractState.cpp:198
void onCardRemoved(const ReaderInfo &pInfo)
Definition AbstractState.cpp:160
QString getStateName() const
Definition AbstractState.cpp:46
bool isCancellationByUser()
Definition AbstractState.cpp:143
void onEntry(QEvent *pEvent) override
Definition AbstractState.cpp:90
static QString getClassName()
Definition AbstractState.h:57
void fireAbort(const FailureCode &pFailure)
void onStateApprovedChanged(bool pApproved)
Definition AbstractState.cpp:80
void setStateName(const QString &pName)
Definition AbstractState.cpp:53
void onExit(QEvent *pEvent) override
Definition AbstractState.cpp:118
void setAbortOnCardRemoved()
Definition AbstractState.cpp:34
void updateStartPaosResult(const ECardApiResult &pStartPaosResult)
Definition AbstractState.cpp:181
void setKeepCardConnectionAlive()
Definition AbstractState.cpp:40
QVector< QMetaObject::Connection > mConnections
Definition AbstractState.h:35
~AbstractState() override=default
static const char *const cFORCE_START_STOP_SCAN
Definition AbstractState.h:53
static bool isState(const QString &pState)
Definition AbstractState.h:64
void updateStatus(const GlobalStatus &pStatus)
Definition AbstractState.cpp:172
Definition ECardApiResult.h:31
Definition FailureCode.h:21
Definition GlobalStatus.h:22
Definition ReaderInfo.h:18
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16