AusweisApp
Lade ...
Suche ...
Keine Treffer
MsgContext.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "Msg.h"
8#include "MsgTypes.h"
10
11namespace governikus
12{
13
15{
16 Q_DISABLE_COPY(MsgContext)
17
18 private:
19 MsgLevel mApiLevel;
20 QList<Msg> mStateMessages;
21 bool mProgressStatus;
22 QSharedPointer<WorkflowContext> mContext;
23
24 protected:
25 void addStateMsg(const Msg& pMsg);
26 void clear();
27 void setWorkflowContext(const QSharedPointer<WorkflowContext>& pContext);
28
29 public:
30 MsgContext();
31
32 void setApiLevel(MsgLevel pApiLevel);
33 [[nodiscard]] MsgLevel getApiLevel() const;
34
35 [[nodiscard]] Msg getLastStateMsg() const;
36
37 [[nodiscard]] bool provideProgressStatus() const;
38 void setProgressStatus(bool pStatus);
39
40 [[nodiscard]] bool isActiveWorkflow() const;
41
42 template<typename T = WorkflowContext>
43 QSharedPointer<const T> getContext() const
44 {
45 static_assert(std::is_base_of_v<WorkflowContext, T>, "T must derive WorkflowContext");
46
47 if (mContext)
48 {
49 return mContext.objectCast<const T>();
50 }
51
52 return QSharedPointer<const T>();
53 }
54
55
56 template<typename T = WorkflowContext>
57 QSharedPointer<T> getContext()
58 {
59 static_assert(std::is_base_of_v<WorkflowContext, T>, "T must derive WorkflowContext");
60
61 if (mContext)
62 {
63 return mContext.objectCast<T>();
64 }
65
66 return QSharedPointer<T>();
67 }
68
69
70};
71
73 : public MsgContext
74{
75 public:
79};
80
81} // namespace governikus
Definition MsgContext.h:15
bool isActiveWorkflow() const
Definition MsgContext.cpp:23
MsgContext()
Definition MsgContext.cpp:14
void clear()
Definition MsgContext.cpp:76
MsgLevel getApiLevel() const
Definition MsgContext.cpp:35
void setApiLevel(MsgLevel pApiLevel)
Definition MsgContext.cpp:29
void setWorkflowContext(const QSharedPointer< WorkflowContext > &pContext)
Definition MsgContext.cpp:64
QSharedPointer< T > getContext()
Definition MsgContext.h:57
void addStateMsg(const Msg &pMsg)
Definition MsgContext.cpp:70
QSharedPointer< const T > getContext() const
Definition MsgContext.h:43
void setProgressStatus(bool pStatus)
Definition MsgContext.cpp:58
Msg getLastStateMsg() const
Definition MsgContext.cpp:41
bool provideProgressStatus() const
Definition MsgContext.cpp:52
Definition MsgContext.h:74
Definition Msg.h:14
#define T(v)
Definition http_parser.cpp:237
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17