AusweisApp
Lade ...
Suche ...
Keine Treffer
GlobalStatus.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "EnumHelper.h"
8
9#include <QCoreApplication>
10#include <QMap>
11#include <QPair>
12#include <QSharedData>
13
14
15namespace governikus
16{
17
19{
22
23 public:
24 enum class Code
25 {
28
36
42
44
94
96
98
105
123
125
131 };
132
133 enum class Origin
134 {
136 };
137
150
152
153 Q_ENUM(Code)
156
157 private:
158 class InternalStatus
159 : public QSharedData
160 {
161 public:
162 const Code mStatusCode;
163 const ExternalInfoMap mExternalInformation;
164 const Origin mOrigin;
165
167 : mStatusCode(pStatusCode)
168 , mExternalInformation(pExternalInformation)
169 , mOrigin(pOrigin)
170 {
171 }
172
173
175 : mStatusCode(pStatusCode)
176 , mExternalInformation({
178 })
179 , mOrigin(pOrigin)
180 {
181 }
182
183
184 bool operator ==(const InternalStatus& pOther) const
185 {
186 return mStatusCode == pOther.mStatusCode &&
187 mExternalInformation == pOther.mExternalInformation &&
188 mOrigin == pOther.mOrigin;
189 }
190
191
192 };
193
195 [[nodiscard]] QString getExternalInfo(ExternalInformation pType) const;
196
197 [[nodiscard]] QString toErrorDescriptionInternal() const;
198
199 public:
201 : d(new InternalStatus(pStatusCode, pExternalInformation, pOrigin))
202 {
203 }
204
205
210
211
213 : d(new InternalStatus(pStatusCode, ExternalInfoMap(), pOrigin))
214 {
215 }
216
217
218 bool operator ==(const GlobalStatus& pOther) const;
219 [[nodiscard]] bool is(const Code pStatusCode) const;
220
222
223 [[nodiscard]] QString toErrorDescription(const bool pSimplifiedVersion = false) const;
224 [[nodiscard]] QString getExternalInfo(const QString& pToken = QStringLiteral("; ")) const;
225
227 [[nodiscard]] bool isOriginServer() const;
228
229 [[nodiscard]] bool isNoError() const;
230 [[nodiscard]] bool isError() const;
232 [[nodiscard]] bool isMessageMasked() const;
233};
234
236
238
239} // namespace governikus
240
241
242QDebug operator <<(QDebug pDbg, const governikus::GlobalStatus& pStatus);
#define defineEnumOperators(enumName)
Definition EnumHelper.h:12
QDebug operator<<(QDebug pDbg, const governikus::GlobalStatus &pStatus)
Definition GlobalStatus.h:19
Code getStatusCode() const
bool operator==(const GlobalStatus &pOther) const
GlobalStatus(Code pStatusCode, const ExternalInfoMap &pExternalInformation, const Origin pOrigin=Origin::Client)
Definition GlobalStatus.h:200
GlobalStatus(Code pStatusCode=Code::Unknown_Error, const Origin pOrigin=Origin::Client)
Definition GlobalStatus.h:212
QString getExternalInfo(const QString &pToken=QStringLiteral("; ")) const
Origin
Definition GlobalStatus.h:134
bool is(const Code pStatusCode) const
QString toErrorDescription(const bool pSimplifiedVersion=false) const
bool isMessageMasked() const
bool isCancellationByUser() const
bool isOriginServer() const
QMap< ExternalInformation, QString > ExternalInfoMap
Definition GlobalStatus.h:151
Origin getOrigin() const
Code
Definition GlobalStatus.h:25
@ Workflow_Network_Ssl_Certificate_Unsupported_Algorithm_Or_Length
@ Workflow_TrustedChannel_Ssl_Certificate_Unsupported_Algorithm_Or_Length
@ Workflow_TrustedChannel_Ssl_Connection_Unsupported_Algorithm_Or_Length
@ Workflow_Network_Ssl_Connection_Unsupported_Algorithm_Or_Length
GlobalStatus(Code pStatusCode, const QPair< ExternalInformation, QString > &pExternalInformation, const Origin pOrigin=Origin::Client)
Definition GlobalStatus.h:206
ExternalInformation
Definition GlobalStatus.h:139
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:112