AusweisApp2
MessageDispatcher.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "messages/Msg.h"
11 #include "messages/MsgContext.h"
12 #include "messages/MsgHandler.h"
13 
14 #include <QJsonDocument>
15 #include <QString>
16 
17 #include <functional>
18 #include <initializer_list>
19 
20 
21 class test_Message;
22 
23 namespace governikus
24 {
25 
27 {
28  friend class ::test_Message;
29 
30  private:
31  MsgDispatcherContext mContext;
32 #ifndef QT_NO_DEBUG
33  using SkipStateApprovedHook = std::function<bool (const QString& pState)>;
34  SkipStateApprovedHook mSkipStateApprovedHook;
35 #endif
36 
37  Msg createForStateChange(MsgType pStateType);
38  MsgHandler createForCommand(const QJsonObject& pObj);
39 
40  MsgHandler cancel();
41  MsgHandler accept();
42  MsgHandler interrupt();
43  MsgHandler handleCurrentState(MsgCmdType pCmdType, std::initializer_list<MsgType> pMsgType, const std::function<MsgHandler()>& pFunc) const;
44  MsgHandler handleInternalOnly(MsgCmdType pCmdType, const std::function<MsgHandler()>& pFunc) const;
45 
46  public:
48 
49  [[nodiscard]] Msg init(const QSharedPointer<WorkflowContext>& pWorkflowContext);
50  [[nodiscard]] Msg finish();
51  void reset();
52  [[nodiscard]] Msg processCommand(const QByteArray& pMsg);
53  [[nodiscard]] Msg processStateChange(const QString& pState);
54  [[nodiscard]] Msg processProgressChange() const;
55  [[nodiscard]] QVector<Msg> processReaderChange(const ReaderInfo& pInfo);
56 
57 #ifndef QT_NO_DEBUG
58  void setSkipStateApprovedHook(const SkipStateApprovedHook& pHook);
59 #endif
60 };
61 
62 
63 } // namespace governikus
Definition: MessageDispatcher.h:27
QVector< Msg > processReaderChange(const ReaderInfo &pInfo)
Definition: MessageDispatcher.cpp:168
Msg processProgressChange() const
Definition: MessageDispatcher.cpp:151
Msg processStateChange(const QString &pState)
Definition: MessageDispatcher.cpp:130
Msg processCommand(const QByteArray &pMsg)
Definition: MessageDispatcher.cpp:219
void setSkipStateApprovedHook(const SkipStateApprovedHook &pHook)
Definition: MessageDispatcher.cpp:403
Msg init(const QSharedPointer< WorkflowContext > &pWorkflowContext)
Definition: MessageDispatcher.cpp:64
void reset()
Definition: MessageDispatcher.cpp:92
MessageDispatcher()
Definition: MessageDispatcher.cpp:55
Msg finish()
Definition: MessageDispatcher.cpp:101
Definition: MsgContext.h:76
Definition: MsgHandler.h:18
Definition: Msg.h:16
Definition: ReaderInfo.h:18
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16