AusweisApp2
AbstractState.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 
11 #include <QSharedPointer>
12 #include <QState>
13 
14 
15 namespace 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();
38  bool isCancellationByUser();
39  void updateStatus(const GlobalStatus& pStatus);
40  void updateStartPaosResult(const ECardApiResult& pStartPaosResult);
41 
42  void startScanIfNecessary();
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:
64  void fireContinue();
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
ReaderManager.h
governikus::AbstractState::onCardRemoved
void onCardRemoved(const ReaderInfo &pInfo)
Definition: AbstractState.cpp:128
governikus::AbstractState::~AbstractState
~AbstractState() override
Definition: AbstractState.cpp:32
governikus::AbstractState::isCancellationByUser
bool isCancellationByUser()
Definition: AbstractState.cpp:113
governikus::AbstractState::stopScanIfNecessary
void stopScanIfNecessary(const QString &pError=QString())
Definition: AbstractState.cpp:175
governikus::ReaderInfo
Definition: ReaderInfo.h:17
governikus::AbstractState
Definition: AbstractState.h:20
governikus::AbstractState::fireContinue
void fireContinue()
governikus::AbstractState::onEntry
void onEntry(QEvent *pEvent) override
Definition: AbstractState.cpp:71
VolatileSettings.h
WorkflowContext.h
governikus::AbstractState::updateStartPaosResult
void updateStartPaosResult(const ECardApiResult &pStartPaosResult)
Definition: AbstractState.cpp:147
governikus::AbstractState::onExit
void onExit(QEvent *pEvent) override
Definition: AbstractState.cpp:93
governikus::AbstractState::fireAbort
void fireAbort()
governikus::ReaderManager::fireReaderRemoved
void fireReaderRemoved(const ReaderInfo &pInfo)
governikus::AbstractState::onStateApprovedChanged
void onStateApprovedChanged(bool pApproved)
Definition: AbstractState.cpp:61
AbstractState.h
governikus::ECardApiResult
Definition: ECardApiResult.h:25
governikus::WorkflowContext::fireStateApprovedChanged
void fireStateApprovedChanged(bool pApproved)
governikus::AbstractState::AbstractState
AbstractState(const QSharedPointer< WorkflowContext > &pContext, bool pConnectOnCardRemoved=true)
Definition: AbstractState.cpp:23
governikus::ReaderManager::fireCardRemoved
void fireCardRemoved(const ReaderInfo &pInfo)
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::ECardApiResult::isOk
bool isOk() const
Definition: ECardApiResult.cpp:573
governikus::AbstractState::cFORCE_START_STOP_SCAN
static const char *const cFORCE_START_STOP_SCAN
Definition: AbstractState.h:46
governikus::AbstractState::startScanIfNecessary
void startScanIfNecessary()
Definition: AbstractState.cpp:164
governikus::WorkflowContext::fireCancelWorkflow
void fireCancelWorkflow()
governikus::GlobalStatus
Definition: GlobalStatus.h:20
governikus::GlobalStatus::Code::Workflow_Cancellation_By_User
@ Workflow_Cancellation_By_User
governikus::ReaderInfo::getName
const QString & getName() const
Definition: ReaderInfo.h:107
governikus::AbstractState::updateStatus
void updateStatus(const GlobalStatus &pStatus)
Definition: AbstractState.cpp:138
governikus::AbstractState::getClassName
static QString getClassName(const char *const pName)
Definition: AbstractState.cpp:50
governikus::AbstractState::onUserCancelled
virtual void onUserCancelled()
Definition: AbstractState.cpp:119
governikus::AbstractState::getStateName
QString getStateName() const
Definition: AbstractState.cpp:37
governikus::AbstractState::clearConnections
void clearConnections()
Definition: AbstractState.cpp:103
governikus::GlobalStatus::isError
bool isError() const
governikus::AbstractState::setStateName
void setStateName(const QString &pName)
Definition: AbstractState.cpp:44
governikus::GlobalStatus::Code::Workflow_Card_Removed
@ Workflow_Card_Removed
governikus::AbstractState::isState
static bool isState(const QString &pState)
Definition: AbstractState.h:50
governikus::AbstractState::mConnections
QVector< QMetaObject::Connection > mConnections
Definition: AbstractState.h:31