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
void clearConnections()
Definition: AbstractState.cpp:93
virtual void onUserCancelled()
Definition: AbstractState.cpp:109
void onExit(QEvent *pEvent) override
Definition: AbstractState.cpp:83
void onStateApprovedChanged()
Definition: AbstractState.cpp:56
Definition: ECardApiResult.h:24
Definition: GlobalStatus.h:19
Definition: AbstractState.h:18
bool isCancellationByUser()
Definition: AbstractState.cpp:103
void fireAbort()
Definition: moc_AbstractState.cpp:163
void updateStartPaosResult(const ECardApiResult &pStartPaosResult)
Definition: AbstractState.cpp:136
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
static QString getClassName(const char *const pName)
Definition: AbstractState.cpp:45
QString getStateName() const
Definition: AbstractState.cpp:32
static bool isState(const QString &pState)
Definition: AbstractState.h:48
#define T(v)
Definition: http_parser.cpp:237
Definition: WorkflowContext.h:21
void setStateName(const QString &pName)
Definition: AbstractState.cpp:39
virtual ~AbstractState() override
Definition: AbstractState.cpp:27
void updateStatus(const GlobalStatus &pStatus)
Definition: AbstractState.cpp:127
void onCardRemoved(const QString &pReaderName)
Definition: AbstractState.cpp:117
QVector< QMetaObject::Connection > mConnections
Definition: AbstractState.h:33
friend class AbstractGenericState
Definition: AbstractState.h:24
void fireContinue()
Definition: moc_AbstractState.cpp:157
void onEntry(QEvent *pEvent) override
Definition: AbstractState.cpp:66