AusweisApp
Lade ...
Suche ...
Keine Treffer
GlobalStatus.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "EnumHelper.h"
12
13#include <QCoreApplication>
14#include <QMap>
15#include <QPair>
16#include <QSharedData>
17
18namespace governikus
19{
20
22{
25 Q_CLASSINFO("QML.Element", "auto")
26 Q_CLASSINFO("RegisterEnumClassesUnscoped", "false")
27
28 public:
29 enum class Code
30 {
33
41
47
49
99
101
103
110
128
130
136 };
137
138 enum class Origin
139 {
141 };
142
155
157
158 Q_ENUM(Code)
161
162 private:
163 class InternalStatus
164 : public QSharedData
165 {
166 public:
167 const Code mStatusCode;
168 const ExternalInfoMap mExternalInformation;
169 const Origin mOrigin;
170
172 : mStatusCode(pStatusCode)
173 , mExternalInformation(pExternalInformation)
174 , mOrigin(pOrigin)
175 {
176 }
177
178
180 : mStatusCode(pStatusCode)
181 , mExternalInformation({
183 })
184 , mOrigin(pOrigin)
185 {
186 }
187
188
189 bool operator ==(const InternalStatus& pOther) const
190 {
191 return mStatusCode == pOther.mStatusCode &&
192 mExternalInformation == pOther.mExternalInformation &&
193 mOrigin == pOther.mOrigin;
194 }
195
196
197 };
198
200 [[nodiscard]] QString getExternalInfo(ExternalInformation pType) const;
201
202 [[nodiscard]] QString toErrorDescriptionInternal() const;
203
204 public:
206 : d(new InternalStatus(pStatusCode, pExternalInformation, pOrigin))
207 {
208 }
209
210
215
216
218 : d(new InternalStatus(pStatusCode, ExternalInfoMap(), pOrigin))
219 {
220 }
221
222
223 bool operator ==(const GlobalStatus& pOther) const;
224 [[nodiscard]] bool is(const Code pStatusCode) const;
225
227
228 [[nodiscard]] QString toErrorDescription(const bool pSimplifiedVersion = false) const;
229 [[nodiscard]] QString getExternalInfo(const QString& pToken = QStringLiteral("; ")) const;
230
232 [[nodiscard]] bool isOriginServer() const;
233
234 [[nodiscard]] bool isNoError() const;
235 [[nodiscard]] bool isError() const;
237 [[nodiscard]] bool isMessageMasked() const;
238};
239
241
243
244} // namespace governikus
245
246
247QDebug operator <<(QDebug pDbg, const governikus::GlobalStatus& pStatus);
#define defineEnumOperators(enumName)
Helper class to provide a QMetaObject handler for enumerations.
Definition EnumHelper.h:16
QDebug operator<<(QDebug pDbg, const governikus::GlobalStatus &pStatus)
Definition GlobalStatus.h:22
Code getStatusCode() const
bool operator==(const GlobalStatus &pOther) const
GlobalStatus(Code pStatusCode, const ExternalInfoMap &pExternalInformation, const Origin pOrigin=Origin::Client)
Definition GlobalStatus.h:205
GlobalStatus(Code pStatusCode=Code::Unknown_Error, const Origin pOrigin=Origin::Client)
Definition GlobalStatus.h:217
QString getExternalInfo(const QString &pToken=QStringLiteral("; ")) const
Origin
Definition GlobalStatus.h:139
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:156
Origin getOrigin() const
Code
Definition GlobalStatus.h:30
@ 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:211
ExternalInformation
Definition GlobalStatus.h:144
Implementation of GeneralAuthenticate response APDUs.
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:114