AusweisApp
Lade ...
Suche ...
Keine Treffer
AbstractState.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "FailureCode.h"
12#include "StateBuilder.h"
14
15#include <QSharedPointer>
16#include <QState>
17
18
19class test_StateChangePinIfd;
20class test_StateChangeSmartPin;
21class test_StateEstablishPaceChannelIfd;
22class test_StateProcessIfdMessages;
23class test_StateChangePin;
24class test_StateDestroyPace;
25class test_StateDidAuthenticateEac1;
26class test_StateDidAuthenticateEac2;
27class test_StateGetTcToken;
28class test_StateTransmit;
29
30
31namespace governikus
32{
33
35 : public QState
36{
37 Q_OBJECT
38 friend class ::test_StateChangePinIfd;
39 friend class ::test_StateChangeSmartPin;
40 friend class ::test_StateEstablishPaceChannelIfd;
41 friend class ::test_StateProcessIfdMessages;
42 friend class ::test_StateChangePin;
43 friend class ::test_StateDestroyPace;
44 friend class ::test_StateDidAuthenticateEac1;
45 friend class ::test_StateDidAuthenticateEac2;
46 friend class ::test_StateGetTcToken;
47 friend class ::test_StateTransmit;
48 friend class ::test_StateChangeSmartPin;
49
50 private:
51 const QSharedPointer<WorkflowContext> mContext;
52 QList<QMetaObject::Connection> mConnections;
53 bool mAbortOnCardRemoved;
54 bool mHandleNfcStop;
55 bool mKeepCardConnectionAlive;
56
57 virtual void run() = 0;
58 [[nodiscard]] bool isStartStopEnabled() const;
59
60 protected:
61 explicit AbstractState(const QSharedPointer<WorkflowContext>& pContext);
62
64 void setHandleNfcStop();
66
67 void onEntry(QEvent* pEvent) override;
68 void onExit(QEvent* pEvent) override;
69
70 void operator<<(const QMetaObject::Connection& connection);
71
72 void clearConnections();
73 bool isCancellationByUser() const;
74 void updateStatus(const GlobalStatus& pStatus);
75 void updateStartPaosResult(const ECardApiResult& pStartPaosResult);
76
77 void stopNfcScanIfNecessary(const QString& pError = QString()) const;
78
79 public:
80 static const char* const cFORCE_START_STOP_SCAN;
81
82 ~AbstractState() override = default;
83
84 [[nodiscard]] QString getStateName() const;
85
86 Q_SIGNALS:
88 void fireAbort(const FailureCode& pFailure);
89
90 private Q_SLOTS:
91 void onAbort(const FailureCode& pFailure) const;
92 void onReaderStatusChanged(const ReaderManagerPlugInInfo& pInfo) const;
93
94 public Q_SLOTS:
95 void onStateApprovedChanged(bool pApproved);
96 virtual void onUserCancelled();
97 void onCardRemoved(const ReaderInfo& pInfo);
98};
99
100} // namespace governikus
Definition AbstractState.h:36
virtual void onUserCancelled()
Definition AbstractState.cpp:157
void clearConnections()
Definition AbstractState.cpp:141
void onCardRemoved(const ReaderInfo &pInfo)
Definition AbstractState.cpp:168
QString getStateName() const
Definition AbstractState.cpp:55
void onEntry(QEvent *pEvent) override
Definition AbstractState.cpp:82
void setHandleNfcStop()
Definition AbstractState.cpp:43
void fireAbort(const FailureCode &pFailure)
void stopNfcScanIfNecessary(const QString &pError=QString()) const
Definition AbstractState.cpp:206
void onStateApprovedChanged(bool pApproved)
Definition AbstractState.cpp:72
void onExit(QEvent *pEvent) override
Definition AbstractState.cpp:120
void setAbortOnCardRemoved()
Definition AbstractState.cpp:37
void updateStartPaosResult(const ECardApiResult &pStartPaosResult)
Definition AbstractState.cpp:189
void setKeepCardConnectionAlive()
Definition AbstractState.cpp:49
~AbstractState() override=default
static const char *const cFORCE_START_STOP_SCAN
Definition AbstractState.h:80
void operator<<(const QMetaObject::Connection &connection)
Definition AbstractState.cpp:135
bool isCancellationByUser() const
Definition AbstractState.cpp:151
void updateStatus(const GlobalStatus &pStatus)
Definition AbstractState.cpp:180
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