AusweisApp2
WorkflowController.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "states/StateBuilder.h"
10 
11 #include <QScopedPointer>
12 #include <QSharedPointer>
13 #include <QStateMachine>
14 
15 namespace governikus
16 {
17 
19  : public QObject
20 {
21  Q_OBJECT
22 
23  protected:
24  QStateMachine mStateMachine;
25  const QSharedPointer<WorkflowContext> mContext;
26 
27  public:
28  explicit WorkflowController(const QSharedPointer<WorkflowContext>& pContext);
29  virtual ~WorkflowController();
30 
31  void run();
32 
33  QSharedPointer<WorkflowContext> getContext() const
34  {
35  return mContext;
36  }
37 
38 
39  template<typename T>
41  {
42  auto state = StateBuilder::createState<T>(mContext);
43  mStateMachine.addState(state);
44  return state;
45  }
46 
47  Q_SIGNALS:
48  void fireComplete();
49 
50 };
51 
52 } // namespace governikus
QSharedPointer< WorkflowContext > getContext() const
Definition: WorkflowController.h:33
T * addState()
Definition: WorkflowController.h:40
WorkflowController(const QSharedPointer< WorkflowContext > &pContext)
Definition: WorkflowController.cpp:11
Definition: WorkflowController.h:18
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
#define T(v)
Definition: http_parser.cpp:237
virtual ~WorkflowController()
Definition: WorkflowController.cpp:19
void run()
Definition: WorkflowController.cpp:24
state
Definition: http_parser.cpp:279
const QSharedPointer< WorkflowContext > mContext
Definition: WorkflowController.h:25
QStateMachine mStateMachine
Definition: WorkflowController.h:24