AusweisApp2
Lade ...
Suche ...
Keine Treffer
ECardApiResult.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
9#include "GlobalStatus.h"
10
11#include <QCoreApplication>
12#include <QJsonObject>
13#include <QMap>
14#include <QPair>
15#include <QSharedData>
16#include <QString>
17
18class test_ECardApiResult;
19class test_UrlUtil;
20
21namespace governikus
22{
23
25{
26 Q_GADGET
27 Q_DECLARE_TR_FUNCTIONS(governikus::ECardApiResult)
28
29 friend class IfdMessageResponse;
30 friend class StartPaosResponse;
31 friend class ::test_ECardApiResult;
32 friend class ::test_UrlUtil;
33
34 public:
35 enum class Major
36 {
37 Unknown,
38 Ok,
39 Warning,
40 Error
41 };
42
43 enum class Minor
44 {
45 null, // Used by Major::Ok and undefined state only!
79 };
80
81 enum class Origin
82 {
84 };
85
86 Q_ENUM(Major)
87 Q_ENUM(Minor)
88 Q_ENUM(Origin)
89
90 private:
91 class ResultData
92 : public QSharedData
93 {
94 public:
95 const Major mMajor;
96 const Minor mMinor;
97 const QString mMessage;
98 const QString mMessageLang;
99 const Origin mOrigin;
100
101 ResultData(Major pMajor, Minor pMinor, const QString& pMessage, Origin pOrigin);
102
103 bool operator ==(const ResultData& pOther) const
104 {
105 return mMajor == pOther.mMajor &&
106 mMinor == pOther.mMinor &&
107 mMessage == pOther.mMessage &&
108 mMessageLang == pOther.mMessageLang &&
109 mOrigin == pOther.mOrigin;
110 }
111
112
113 };
114
115 static const QMap<Major, QString> cMajorResults;
116 static const QMap<Minor, QString> cMinorResults;
117
118 static QMap<GlobalStatus::Code, Minor> cConversionMap1;
119 static QMap<Minor, GlobalStatus::Code> cConversionMap2;
120
121 static void initConversionMaps();
122 static void addConversionElement(GlobalStatus::Code pCode, Minor pMinor);
123 static GlobalStatus::Code toStatus(Minor pMinor);
124 static Minor fromStatus(GlobalStatus::Code pCode);
125
127 static ECardApiResult::Origin fromStatus(GlobalStatus::Origin pSelf);
128
129 static ECardApiResult fromStatus(const GlobalStatus& pStatus);
130
131 static Major parseMajor(const QString& pMajor);
132 static Minor parseMinor(const QString& pMinor);
133
134 QSharedDataPointer<ResultData> d;
135
136 ECardApiResult(Major pMajor, Minor pMinor, const QString& pMessage = QString(), Origin pOrigin = Origin::Client);
137 explicit ECardApiResult(const QString& pMajor, const QString& pMinor = QString(), const QString& pMessage = QString(), Origin pOrigin = Origin::Client);
138
139 public:
140 explicit ECardApiResult(const GlobalStatus& pStatus);
141
142 bool operator ==(const ECardApiResult& pResult) const;
143
144 [[nodiscard]] static ECardApiResult createOk();
145
146 static bool isMajor(const QString& pMajor);
147 static bool isMinor(const QString& pMinor);
148 static QString getMessage(Minor pMinor);
149
150 [[nodiscard]] Major getMajor() const;
151 [[nodiscard]] Minor getMinor() const;
152 [[nodiscard]] QString getMessage() const;
153 [[nodiscard]] const QString& getMessageLang() const;
154
155 static QString getMajorString(Major pMajor);
156 static QString getMinorString(Minor pMinor);
157
158 [[nodiscard]] QString getMajorString() const;
159 [[nodiscard]] QString getMinorString() const;
160
161 [[nodiscard]] bool isValid() const;
162 [[nodiscard]] bool isOk() const;
163 [[nodiscard]] bool isOriginServer() const;
164 [[nodiscard]] QJsonObject toJson() const;
165
166 [[nodiscard]] GlobalStatus toStatus() const;
167 explicit operator GlobalStatus() const;
168};
169
170} // namespace governikus
171
172QDebug operator <<(QDebug pDbg, const governikus::ECardApiResult& pResult);
QDebug operator<<(QDebug pDbg, const governikus::ECardApiResult &pResult)
Definition: ECardApiResult.cpp:684
Definition: ECardApiResult.h:25
QJsonObject toJson() const
Definition: ECardApiResult.cpp:652
Minor
Definition: ECardApiResult.h:44
QString getMajorString() const
Definition: ECardApiResult.cpp:564
Minor getMinor() const
Definition: ECardApiResult.cpp:534
Major
Definition: ECardApiResult.h:36
static bool isMajor(const QString &pMajor)
Definition: ECardApiResult.cpp:343
Major getMajor() const
Definition: ECardApiResult.cpp:528
bool isOriginServer() const
Definition: ECardApiResult.cpp:598
static bool isMinor(const QString &pMinor)
Definition: ECardApiResult.cpp:349
static ECardApiResult createOk()
Definition: ECardApiResult.cpp:85
bool operator==(const ECardApiResult &pResult) const
Definition: ECardApiResult.cpp:522
const QString & getMessageLang() const
Definition: ECardApiResult.cpp:546
Origin
Definition: ECardApiResult.h:82
bool isOk() const
Definition: ECardApiResult.cpp:592
QString getMessage() const
Definition: ECardApiResult.cpp:540
friend class ::test_ECardApiResult
Definition: ECardApiResult.h:31
QString getMinorString() const
Definition: ECardApiResult.cpp:570
GlobalStatus toStatus() const
Definition: ECardApiResult.cpp:604
bool isValid() const
Definition: ECardApiResult.cpp:576
friend class ::test_UrlUtil
Definition: ECardApiResult.h:32
Origin
Definition: GlobalStatus.h:130
Code
Definition: GlobalStatus.h:26
Definition: IfdMessageResponse.h:15
Definition: StartPaosResponse.h:21
A simple template renderer.
Definition: ActivationContext.h:15