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  Q_DISABLE_COPY(AbstractState)
23 
24  template<typename ModelClass> friend class AbstractGenericState;
25 
26  private:
27  const QSharedPointer<WorkflowContext> mContext;
28  const bool mConnectOnCardRemoved;
29 
30  virtual void run() = 0;
31 
32  protected:
33  QVector<QMetaObject::Connection> mConnections;
34 
35  explicit AbstractState(const QSharedPointer<WorkflowContext>& pContext, bool pConnectOnCardRemoved = true);
36 
37  void onExit(QEvent* pEvent) override;
38 
39  void clearConnections();
40  bool isCancellationByUser();
41  void updateStatus(const GlobalStatus& pStatus);
42  void updateStartPaosResult(const ECardApiResult& pStartPaosResult);
43 
44  public:
45  static QString getClassName(const char* const pName);
46 
47  template<typename T>
48  static bool isState(const QString& pState)
49  {
50  return pState == getClassName(T::staticMetaObject.className());
51  }
52 
53 
54  virtual ~AbstractState() override;
55 
56  void onEntry(QEvent* pEvent) override;
57 
58  QString getStateName() const;
59  void setStateName(const QString& pName);
60 
61  Q_SIGNALS:
62  void fireContinue();
63  void fireAbort();
64 
65  public Q_SLOTS:
67  virtual void onUserCancelled();
68  void onCardRemoved(const QString& pReaderName);
69 };
70 
71 } // namespace governikus
Definition: AbstractState.h:20
virtual void onUserCancelled()
Definition: AbstractState.cpp:109
void clearConnections()
Definition: AbstractState.cpp:93
QString getStateName() const
Definition: AbstractState.cpp:32
bool isCancellationByUser()
Definition: AbstractState.cpp:103
void onEntry(QEvent *pEvent) override
Definition: AbstractState.cpp:66
friend class AbstractGenericState
Definition: AbstractState.h:24
void onCardRemoved(const QString &pReaderName)
Definition: AbstractState.cpp:117
void setStateName(const QString &pName)
Definition: AbstractState.cpp:39
void onExit(QEvent *pEvent) override
Definition: AbstractState.cpp:83
void updateStartPaosResult(const ECardApiResult &pStartPaosResult)
Definition: AbstractState.cpp:136
QVector< QMetaObject::Connection > mConnections
Definition: AbstractState.h:33
virtual ~AbstractState() override
Definition: AbstractState.cpp:27
void onStateApprovedChanged()
Definition: AbstractState.cpp:56
static QString getClassName(const char *const pName)
Definition: AbstractState.cpp:45
static bool isState(const QString &pState)
Definition: AbstractState.h:48
void updateStatus(const GlobalStatus &pStatus)
Definition: AbstractState.cpp:127
Definition: ECardApiResult.h:25
Definition: GlobalStatus.h:20
Definition: WorkflowContext.h:23
#define T(v)
Definition: http_parser.cpp:237
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15