15#include <QCoreApplication>
24class test_ECardApiResult;
25class test_StateRedirectBrowser;
104 const QString mMessage;
105 const QString mMessageLang;
107 const std::optional<FailureCode> mFailureCode;
109 ResultData(
Major pMajor,
Minor pMinor,
const QString& pMessage,
Origin pOrigin,
const std::optional<FailureCode>& pFailureCode = {});
111 bool operator ==(
const ResultData& pOther)
const
113 return mMajor == pOther.mMajor &&
114 mMinor == pOther.mMinor &&
115 mMessage == pOther.mMessage &&
116 mMessageLang == pOther.mMessageLang &&
117 mOrigin == pOther.mOrigin &&
118 mFailureCode == pOther.mFailureCode;
124 static const QMap<Major, QString> cMajorResults;
125 static const QMap<Minor, QString> cMinorResults;
127 static QMap<GlobalStatus::Code, Minor> cConversionMap1;
128 static QMap<Minor, GlobalStatus::Code> cConversionMap2;
130 static void initConversionMaps();
138 static ECardApiResult fromStatus(
const GlobalStatus& pStatus,
const std::optional<FailureCode>& pFailureCode);
140 static Major parseMajor(
const QString& pMajor);
141 static Minor parseMinor(
const QString& pMinor);
143 QSharedDataPointer<ResultData> d;
145 ECardApiResult(
Major pMajor,
Minor pMinor,
const QString& pMessage = QString(),
Origin pOrigin = Origin::Client,
const std::optional<FailureCode>& pFailureCode = {});
146 explicit ECardApiResult(
const QString& pMajor,
const QString& pMinor = QString(),
const QString& pMessage = QString(),
Origin pOrigin = Origin::Client);
149 explicit ECardApiResult(
const GlobalStatus& pStatus,
const std::optional<FailureCode>& pFailureCode = {});
151 bool operator ==(
const ECardApiResult& pResult)
const;
153 [[nodiscard]]
static ECardApiResult
createOk();
155 static bool isMajor(
const QString& pMajor);
156 static bool isMinor(
const QString& pMinor);
163 [[nodiscard]]
const std::optional<FailureCode>&
getFailureCode()
const;
171 [[nodiscard]]
bool isValid()
const;
172 [[nodiscard]]
bool isOk()
const;
174 [[nodiscard]] QJsonObject
toJson()
const;
176 [[nodiscard]] GlobalStatus
toStatus()
const;
177 explicit operator GlobalStatus()
const;
QDebug operator<<(QDebug pDbg, const governikus::ECardApiResult &pResult)
Definition ECardApiResult.cpp:702
Definition ECardApiResult.h:32
friend class ::test_StateRedirectBrowser
Definition ECardApiResult.h:39
QJsonObject toJson() const
Definition ECardApiResult.cpp:664
Minor
Definition ECardApiResult.h:51
@ AL_Internal_Error
Definition ECardApiResult.h:55
@ KEY_KeyGenerationNotPossible
Definition ECardApiResult.h:79
@ IL_Signature_InvalidCertificatePath
Definition ECardApiResult.h:78
@ AL_Warning_Connection_Disconnected
Definition ECardApiResult.h:59
@ IFDL_IO_RepeatedDataMismatch
Definition ECardApiResult.h:76
@ DP_Trusted_Channel_Establishment_Failed
Definition ECardApiResult.h:65
@ DP_Timeout_Error
Definition ECardApiResult.h:62
@ IFDL_Timeout_Error
Definition ECardApiResult.h:70
@ IFDL_IO_UnknownPINFormat
Definition ECardApiResult.h:77
@ null
Definition ECardApiResult.h:52
@ AL_Unknown_Error
Definition ECardApiResult.h:53
@ AL_Not_Initialized
Definition ECardApiResult.h:58
@ IFDL_UnknownSlot
Definition ECardApiResult.h:71
@ DP_Unknown_Protocol
Definition ECardApiResult.h:66
@ SAL_Invalid_Key
Definition ECardApiResult.h:81
@ IFDL_CancellationByUser
Definition ECardApiResult.h:73
@ AL_Parameter_Error
Definition ECardApiResult.h:56
@ AL_Unknown_API_Function
Definition ECardApiResult.h:57
@ DP_Node_Not_Reachable
Definition ECardApiResult.h:69
@ AL_No_Permission
Definition ECardApiResult.h:54
@ AL_Session_Terminated_Warning
Definition ECardApiResult.h:60
@ SAL_Cancellation_by_User
Definition ECardApiResult.h:80
@ AL_Communication_Error
Definition ECardApiResult.h:61
@ IFDL_IFD_SharingViolation
Definition ECardApiResult.h:74
@ IFDL_Terminal_NoCard
Definition ECardApiResult.h:75
@ DP_Communication_Error
Definition ECardApiResult.h:64
@ SAL_MEAC_CommunityVerificationFailedWarning
Definition ECardApiResult.h:84
@ SAL_MEAC_AgeVerificationFailedWarning
Definition ECardApiResult.h:83
@ SAL_SecurityConditionNotSatisfied
Definition ECardApiResult.h:82
@ IFDL_InvalidSlotHandle
Definition ECardApiResult.h:72
@ DP_Unknown_Webservice_Binding
Definition ECardApiResult.h:68
@ SAL_MEAC_DocumentValidityVerificationFailed
Definition ECardApiResult.h:85
@ DP_Unknown_Cipher_Suite
Definition ECardApiResult.h:67
@ DP_Unknown_Channel_Handle
Definition ECardApiResult.h:63
QString getMajorString() const
Definition ECardApiResult.cpp:576
Minor getMinor() const
Definition ECardApiResult.cpp:540
friend class StartPaosResponse
Definition ECardApiResult.h:37
Major
Definition ECardApiResult.h:43
@ Warning
Definition ECardApiResult.h:46
@ Unknown
Definition ECardApiResult.h:44
@ Error
Definition ECardApiResult.h:47
@ Ok
Definition ECardApiResult.h:45
static bool isMajor(const QString &pMajor)
Definition ECardApiResult.cpp:348
friend class IfdMessageResponse
Definition ECardApiResult.h:36
Major getMajor() const
Definition ECardApiResult.cpp:534
bool isOriginServer() const
Definition ECardApiResult.cpp:610
static bool isMinor(const QString &pMinor)
Definition ECardApiResult.cpp:354
static ECardApiResult createOk()
Definition ECardApiResult.cpp:85
bool operator==(const ECardApiResult &pResult) const
Definition ECardApiResult.cpp:528
const QString & getMessageLang() const
Definition ECardApiResult.cpp:552
Origin
Definition ECardApiResult.h:89
@ Client
Definition ECardApiResult.h:90
@ Server
Definition ECardApiResult.h:90
bool isOk() const
Definition ECardApiResult.cpp:604
QString getMessage() const
Definition ECardApiResult.cpp:546
friend class ::test_ECardApiResult
Definition ECardApiResult.h:38
QString getMinorString() const
Definition ECardApiResult.cpp:582
GlobalStatus toStatus() const
Definition ECardApiResult.cpp:616
bool isValid() const
Definition ECardApiResult.cpp:588
const std::optional< FailureCode > & getFailureCode() const
Definition ECardApiResult.cpp:558
Origin
Definition GlobalStatus.h:134
Code
Definition GlobalStatus.h:25
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
GlobalStatus::Origin Origin
Definition GlobalStatus.h:235