AusweisApp2
MessageDispatcher.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "context/AuthContext.h"
11 #include "messages/MsgContext.h"
12 #include "messages/MsgHandler.h"
13 
14 #include <QJsonDocument>
15 #include <QString>
16 
17 #include <functional>
18 
19 class test_Message;
20 
21 namespace governikus
22 {
23 
25 {
26  private:
27  friend class ::test_Message;
28 
29  MsgDispatcherContext mContext;
30 
31  MsgHandler createForStateChange(MsgType pStateType);
32  MsgHandler createForCommand(const QJsonObject& pObj);
33 
34  MsgHandler cancel();
35  MsgHandler accept();
36  MsgHandler handleCurrentState(MsgCmdType pCmdType, MsgType pMsgType, const std::function<MsgHandler()>& pFunc);
37  MsgHandler handleInternalOnly(MsgCmdType pCmdType, const std::function<MsgHandler()>& pFunc);
38 
39  public:
40  class Msg final
41  {
42  friend class MessageDispatcher;
43  const MsgType mType;
44  const QByteArray mData;
45 
46  Msg(const MsgHandler& pHandler);
47 
48  public:
49  operator QByteArray() const;
50  operator MsgType() const;
51  };
52 
54 
55  QByteArray init(const QSharedPointer<WorkflowContext>& pWorkflowContext);
56  QByteArray finish();
57  void reset();
58  Msg processCommand(const QByteArray& pMsg);
59  QByteArray processStateChange(const QString& pState);
60 
61  QByteArray createMsgReader(const QString& pName) const;
62 };
63 
64 } // namespace governikus
MsgHandlerCertificate.h
AuthContext.h
MsgHandlerEnterPin.h
MsgHandlerAuth.h
governikus::ACCESS_RIGHTS
ACCESS_RIGHTS
Definition: MsgTypes.h:27
MsgHandlerEnterCan.h
MsgContext.h
governikus::MsgHandlerCertificate
Definition: MsgHandlerCertificate.h:17
governikus::MsgHandler::getStateMsgType
static MsgType getStateMsgType(const QString &pState, PacePasswordId pPasswordId)
Definition: MsgHandler.cpp:20
governikus::MessageDispatcher::processCommand
Msg processCommand(const QByteArray &pMsg)
Definition: MessageDispatcher.cpp:123
governikus::MsgDispatcherContext::clear
void clear()
Definition: MsgContext.cpp:97
governikus::MsgHandlerInternalError
Definition: MsgHandlerInternalError.h:16
MsgHandlerInvalid.h
governikus::MessageDispatcher::finish
QByteArray finish()
Definition: MessageDispatcher.cpp:68
governikus::MsgHandlerBadState
Definition: MsgHandlerBadState.h:16
governikus::getEnumName
QLatin1String getEnumName(T pType)
Definition: EnumHelper.h:181
WorkflowContext.h
governikus::MsgHandlerEnterCan
Definition: MsgHandlerEnterCan.h:17
MsgHandlerInsertCard.h
governikus::MsgHandlerLog
Definition: MsgHandlerLog.h:16
governikus::MsgHandlerReaderList
Definition: MsgHandlerReaderList.h:16
governikus::MessageDispatcher
Definition: MessageDispatcher.h:25
MsgHandlerInfo.h
governikus::MsgContext::isActiveWorkflow
bool isActiveWorkflow() const
Definition: MsgContext.cpp:22
governikus::MessageDispatcher::reset
void reset()
Definition: MessageDispatcher.cpp:56
MsgHandlerApiLevel.h
governikus::MsgContext::getLastStateMsg
MsgType getLastStateMsg() const
Definition: MsgContext.cpp:74
MsgHandlerReader.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::MsgHandler::getOutput
QByteArray getOutput() const
Definition: MsgHandler.cpp:88
HANDLE_INTERNAL_ONLY
#define HANDLE_INTERNAL_ONLY(msgHandler)
Definition: MessageDispatcher.cpp:29
governikus::Enum::fromString
static EnumTypeT fromString(const char *const pValue, EnumTypeT pDefault)
Definition: EnumHelper.h:136
MsgHandlerReaderList.h
test_Message
Definition: test_Message.cpp:19
governikus::MsgDispatcherContext::addStateMsg
void addStateMsg(MsgType pMsgType)
Definition: MsgContext.cpp:91
MessageDispatcher.h
governikus::MsgHandlerAuth
Definition: MsgHandlerAuth.h:18
HANDLE_CURRENT_STATE
#define HANDLE_CURRENT_STATE(msgType, msgHandler)
Definition: MessageDispatcher.cpp:28
MsgHandlerLog.h
governikus::ENTER_PIN
ENTER_PIN
Definition: MsgTypes.h:29
MsgHandlerUnknownCommand.h
governikus::MessageDispatcher::createMsgReader
QByteArray createMsgReader(const QString &pName) const
Definition: MessageDispatcher.cpp:62
governikus::INSERT_CARD
INSERT_CARD
Definition: MsgTypes.h:28
MsgHandlerBadState.h
governikus::MsgHandlerInvalid
Definition: MsgHandlerInvalid.h:18
governikus::MsgContext::getWorkflowContext
QSharedPointer< WorkflowContext > getWorkflowContext()
Definition: MsgContext.cpp:50
governikus::ENTER_CAN
ENTER_CAN
Definition: MsgTypes.h:30
MsgHandlerInternalError.h
MsgHandlerEnterPuk.h
governikus::MsgHandlerReader
Definition: MsgHandlerReader.h:17
governikus::MsgDispatcherContext::setWorkflowContext
void setWorkflowContext(const QSharedPointer< WorkflowContext > &pContext)
Definition: MsgContext.cpp:85
governikus::MsgHandler::Void
static const MsgHandler Void
Definition: MsgHandler.h:39
governikus::MsgHandler
Definition: MsgHandler.h:17
governikus::MsgDispatcherContext
Definition: MsgContext.h:44
governikus::MessageDispatcher::processStateChange
QByteArray processStateChange(const QString &pState)
Definition: MessageDispatcher.cpp:83
governikus::MsgHandlerAccessRights
Definition: MsgHandlerAccessRights.h:20
governikus::MessageDispatcher::Msg
Definition: MessageDispatcher.h:41
governikus::MessageDispatcher::init
QByteArray init(const QSharedPointer< WorkflowContext > &pWorkflowContext)
Definition: MessageDispatcher.cpp:40
governikus::MessageDispatcher::MessageDispatcher
MessageDispatcher()
Definition: MessageDispatcher.cpp:34
governikus::getType
QByteArray getType() const
governikus::MsgContext::getAuthContext
QSharedPointer< AuthContext > getAuthContext()
Definition: MsgContext.cpp:28
MsgHandlerAccessRights.h
governikus::MsgHandlerUnknownCommand
Definition: MsgHandlerUnknownCommand.h:16
MsgHandler.h
governikus::MsgHandlerApiLevel
Definition: MsgHandlerApiLevel.h:17
governikus::MsgHandlerInsertCard
Definition: MsgHandlerInsertCard.h:17
governikus::MsgHandlerInfo
Definition: MsgHandlerInfo.h:16
governikus::MsgHandlerEnterPin
Definition: MsgHandlerEnterPin.h:17
governikus::MsgHandlerEnterPuk
Definition: MsgHandlerEnterPuk.h:17