14#include <QCoreApplication>
23class test_ECardApiResult;
24class test_StateRedirectBrowser;
103 const QString mMessage;
104 const QString mMessageLang;
106 const std::optional<FailureCode> mFailureCode;
108 ResultData(
Major pMajor,
Minor pMinor,
const QString& pMessage,
Origin pOrigin,
const std::optional<FailureCode>& pFailureCode = {});
110 bool operator ==(
const ResultData& pOther)
const
112 return mMajor == pOther.mMajor &&
113 mMinor == pOther.mMinor &&
114 mMessage == pOther.mMessage &&
115 mMessageLang == pOther.mMessageLang &&
116 mOrigin == pOther.mOrigin &&
117 mFailureCode == pOther.mFailureCode;
123 static const QMap<Major, QString> cMajorResults;
124 static const QMap<Minor, QString> cMinorResults;
126 static QMap<GlobalStatus::Code, Minor> cConversionMap1;
127 static QMap<Minor, GlobalStatus::Code> cConversionMap2;
129 static void initConversionMaps();
137 static ECardApiResult fromStatus(
const GlobalStatus& pStatus,
const std::optional<FailureCode>& pFailureCode);
139 static Major parseMajor(
const QString& pMajor);
140 static Minor parseMinor(
const QString& pMinor);
142 QSharedDataPointer<ResultData> d;
144 ECardApiResult(
Major pMajor,
Minor pMinor,
const QString& pMessage = QString(),
Origin pOrigin = Origin::Client,
const std::optional<FailureCode>& pFailureCode = {});
145 explicit ECardApiResult(
const QString& pMajor,
const QString& pMinor = QString(),
const QString& pMessage = QString(),
Origin pOrigin = Origin::Client);
148 explicit ECardApiResult(
const GlobalStatus& pStatus,
const std::optional<FailureCode>& pFailureCode = {});
150 bool operator ==(
const ECardApiResult& pResult)
const;
152 [[nodiscard]]
static ECardApiResult
createOk();
154 static bool isMajor(
const QString& pMajor);
155 static bool isMinor(
const QString& pMinor);
162 [[nodiscard]]
const std::optional<FailureCode>&
getFailureCode()
const;
170 [[nodiscard]]
bool isValid()
const;
171 [[nodiscard]]
bool isOk()
const;
173 [[nodiscard]] QJsonObject
toJson()
const;
175 [[nodiscard]] GlobalStatus
toStatus()
const;
176 explicit operator GlobalStatus()
const;
QDebug operator<<(QDebug pDbg, const governikus::ECardApiResult &pResult)
Definition ECardApiResult.cpp:702
Definition ECardApiResult.h:31
friend class ::test_StateRedirectBrowser
Definition ECardApiResult.h:38
QJsonObject toJson() const
Definition ECardApiResult.cpp:664
Minor
Definition ECardApiResult.h:50
@ AL_Internal_Error
Definition ECardApiResult.h:54
@ KEY_KeyGenerationNotPossible
Definition ECardApiResult.h:78
@ IL_Signature_InvalidCertificatePath
Definition ECardApiResult.h:77
@ AL_Warning_Connection_Disconnected
Definition ECardApiResult.h:58
@ IFDL_IO_RepeatedDataMismatch
Definition ECardApiResult.h:75
@ DP_Trusted_Channel_Establishment_Failed
Definition ECardApiResult.h:64
@ DP_Timeout_Error
Definition ECardApiResult.h:61
@ IFDL_Timeout_Error
Definition ECardApiResult.h:69
@ IFDL_IO_UnknownPINFormat
Definition ECardApiResult.h:76
@ null
Definition ECardApiResult.h:51
@ AL_Unknown_Error
Definition ECardApiResult.h:52
@ AL_Not_Initialized
Definition ECardApiResult.h:57
@ IFDL_UnknownSlot
Definition ECardApiResult.h:70
@ DP_Unknown_Protocol
Definition ECardApiResult.h:65
@ SAL_Invalid_Key
Definition ECardApiResult.h:80
@ IFDL_CancellationByUser
Definition ECardApiResult.h:72
@ AL_Parameter_Error
Definition ECardApiResult.h:55
@ AL_Unknown_API_Function
Definition ECardApiResult.h:56
@ DP_Node_Not_Reachable
Definition ECardApiResult.h:68
@ AL_No_Permission
Definition ECardApiResult.h:53
@ AL_Session_Terminated_Warning
Definition ECardApiResult.h:59
@ SAL_Cancellation_by_User
Definition ECardApiResult.h:79
@ AL_Communication_Error
Definition ECardApiResult.h:60
@ IFDL_IFD_SharingViolation
Definition ECardApiResult.h:73
@ IFDL_Terminal_NoCard
Definition ECardApiResult.h:74
@ DP_Communication_Error
Definition ECardApiResult.h:63
@ SAL_MEAC_CommunityVerificationFailedWarning
Definition ECardApiResult.h:83
@ SAL_MEAC_AgeVerificationFailedWarning
Definition ECardApiResult.h:82
@ SAL_SecurityConditionNotSatisfied
Definition ECardApiResult.h:81
@ IFDL_InvalidSlotHandle
Definition ECardApiResult.h:71
@ DP_Unknown_Webservice_Binding
Definition ECardApiResult.h:67
@ SAL_MEAC_DocumentValidityVerificationFailed
Definition ECardApiResult.h:84
@ DP_Unknown_Cipher_Suite
Definition ECardApiResult.h:66
@ DP_Unknown_Channel_Handle
Definition ECardApiResult.h:62
QString getMajorString() const
Definition ECardApiResult.cpp:576
Minor getMinor() const
Definition ECardApiResult.cpp:540
friend class StartPaosResponse
Definition ECardApiResult.h:36
Major
Definition ECardApiResult.h:42
@ Warning
Definition ECardApiResult.h:45
@ Unknown
Definition ECardApiResult.h:43
@ Error
Definition ECardApiResult.h:46
@ Ok
Definition ECardApiResult.h:44
static bool isMajor(const QString &pMajor)
Definition ECardApiResult.cpp:348
friend class IfdMessageResponse
Definition ECardApiResult.h:35
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:88
@ Client
Definition ECardApiResult.h:89
@ Server
Definition ECardApiResult.h:89
bool isOk() const
Definition ECardApiResult.cpp:604
QString getMessage() const
Definition ECardApiResult.cpp:546
friend class ::test_ECardApiResult
Definition ECardApiResult.h:37
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:139
Code
Definition GlobalStatus.h:30
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
GlobalStatus::Origin Origin
Definition GlobalStatus.h:240