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 const bool mConnectOnCardRemoved;
26
27 virtual void run() = 0;
28 [[nodiscard]] bool isStartStopEnabled() const;
29
30 protected:
31 QVector<QMetaObject::Connection> mConnections;
32
33 explicit AbstractState(const QSharedPointer<WorkflowContext>& pContext, bool pConnectOnCardRemoved = true);
34
35 void onExit(QEvent* pEvent) override;
36
37 void clearConnections();
39 void updateStatus(const GlobalStatus& pStatus);
40 void updateStartPaosResult(const ECardApiResult& pStartPaosResult);
41
43 void stopScanIfNecessary(const QString& pError = QString());
44
45 public:
46 static const char* const cFORCE_START_STOP_SCAN;
47 static QString getClassName(const char* const pName);
48
49 template<typename T>
50 static bool isState(const QString& pState)
51 {
52 return pState == getClassName(T::staticMetaObject.className());
53 }
54
55
56 ~AbstractState() override;
57
58 void onEntry(QEvent* pEvent) override;
59
60 [[nodiscard]] QString getStateName() const;
61 void setStateName(const QString& pName);
62
63 Q_SIGNALS:
65 void fireAbort();
66
67 public Q_SLOTS:
68 void onStateApprovedChanged(bool pApproved);
69 virtual void onUserCancelled();
70 void onCardRemoved(const ReaderInfo& pInfo);
71};
72
73} // namespace governikus
Definition: AbstractState.h:20
void startScanIfNecessary()
Definition: AbstractState.cpp:164
virtual void onUserCancelled()
Definition: AbstractState.cpp:119
void clearConnections()
Definition: AbstractState.cpp:103
void onCardRemoved(const ReaderInfo &pInfo)
Definition: AbstractState.cpp:128
QString getStateName() const
Definition: AbstractState.cpp:37
bool isCancellationByUser()
Definition: AbstractState.cpp:113
void onEntry(QEvent *pEvent) override
Definition: AbstractState.cpp:71
void onStateApprovedChanged(bool pApproved)
Definition: AbstractState.cpp:61
void setStateName(const QString &pName)
Definition: AbstractState.cpp:44
void onExit(QEvent *pEvent) override
Definition: AbstractState.cpp:93
void stopScanIfNecessary(const QString &pError=QString())
Definition: AbstractState.cpp:175
void updateStartPaosResult(const ECardApiResult &pStartPaosResult)
Definition: AbstractState.cpp:147
QVector< QMetaObject::Connection > mConnections
Definition: AbstractState.h:31
static const char *const cFORCE_START_STOP_SCAN
Definition: AbstractState.h:46
~AbstractState() override
Definition: AbstractState.cpp:32
static QString getClassName(const char *const pName)
Definition: AbstractState.cpp:50
static bool isState(const QString &pState)
Definition: AbstractState.h:50
void updateStatus(const GlobalStatus &pStatus)
Definition: AbstractState.cpp:138
Definition: ECardApiResult.h:25
Definition: GlobalStatus.h:20
Definition: ReaderInfo.h:17
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15