AusweisApp
Lade ...
Suche ...
Keine Treffer
EstablishPaceChannelOutput.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "CardReturnCode.h"
8#include "apdu/ResponseApdu.h"
11
12
13#include <QByteArray>
14
15
16namespace governikus
17{
18
33{
34 ASN1_OCTET_STRING* mErrorCode;
35 ASN1_OCTET_STRING* mStatusMSESetAt;
37 ASN1_OCTET_STRING* mIdPICC;
38 ASN1_OCTET_STRING* mCurCAR;
39 ASN1_OCTET_STRING* mPrevCAR;
40};
42
43
45{
46 private:
47 CardReturnCode mPaceReturnCode;
48 QByteArray mStatusMseSetAt;
49 QByteArray mEfCardAccess;
50 QByteArray mIdIcc;
51 QByteArray mCarCurr;
52 QByteArray mCarPrev;
53
54 [[nodiscard]] static CardReturnCode parseReturnCode(quint32 pPaceReturnCode);
55 [[nodiscard]] static EstablishPaceChannelErrorCode generateReturnCode(CardReturnCode pReturnCode);
56
57 void initMseStatusSetAt();
58 void initEfCardAccess();
59 bool findErrorCode(const QString& pOutputData);
60
61 public:
62 explicit EstablishPaceChannelOutput(CardReturnCode pPaceReturnCode = CardReturnCode::COMMAND_FAILED);
63
67 [[nodiscard]] bool parse(const QByteArray& pControlOutput);
68 [[nodiscard]] bool parseResultCode(const QByteArray& pPaceOutput);
69
73 [[nodiscard]] bool parseOutputData(const QByteArray& pOutput);
74
78 [[nodiscard]] bool parseFromCcid(const QByteArray& pOutput);
79
80 [[nodiscard]] CardReturnCode getPaceReturnCode() const;
81 void setPaceReturnCode(CardReturnCode pPaceReturnCode);
82
83 [[nodiscard]] StatusCode getStatusCodeMseSetAt() const;
84 [[nodiscard]] const QByteArray& getStatusMseSetAt() const;
85 void setStatusMseSetAt(const QByteArray& pStatusMseSetAt);
86
87 [[nodiscard]] const QByteArray& getEfCardAccess() const;
88 void setEfCardAccess(const QByteArray& pEfCardAccess);
89
90 [[nodiscard]] const QByteArray& getIdIcc() const;
91 void setIdIcc(const QByteArray& pIdIcc);
92
93 [[nodiscard]] const QByteArray& getCarCurr() const;
94 void setCarCurr(const QByteArray& pCarCurr);
95
96 [[nodiscard]] const QByteArray& getCarPrev() const;
97 void setCarPrev(const QByteArray& pCarPrev);
98
99 [[nodiscard]] QByteArray toResultCode() const;
100 [[nodiscard]] QByteArray toOutputData() const;
101 [[nodiscard]] QByteArray toCcid() const;
102
103#ifndef QT_NO_DEBUG
104 bool operator==(const EstablishPaceChannelOutput& pOther) const
105 {
106 return !(mPaceReturnCode != pOther.mPaceReturnCode
107 || mEfCardAccess != pOther.mEfCardAccess
108 || mCarCurr != pOther.mCarCurr
109 || mCarPrev != pOther.mCarPrev
110 || mIdIcc != pOther.mIdIcc
111 || mStatusMseSetAt != pOther.mStatusMseSetAt);
112 }
113
114
115#endif
116
117
118};
119
120
121} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition ASN1TemplateUtil.h:175
Definition EstablishPaceChannelOutput.h:45
bool operator==(const EstablishPaceChannelOutput &pOther) const
Definition EstablishPaceChannelOutput.h:104
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
struct stack_st_securityinfo_st securityinfos_st
Definition SecurityInfos.h:19
As defined in TR-03119:
Definition EstablishPaceChannelOutput.h:33
ASN1_OCTET_STRING * mCurCAR
Definition EstablishPaceChannelOutput.h:38
ASN1_OCTET_STRING * mErrorCode
Definition EstablishPaceChannelOutput.h:34
ASN1_OCTET_STRING * mIdPICC
Definition EstablishPaceChannelOutput.h:37
ASN1_OCTET_STRING * mPrevCAR
Definition EstablishPaceChannelOutput.h:39
ASN1_OCTET_STRING * mStatusMSESetAt
Definition EstablishPaceChannelOutput.h:35
securityinfos_st * mEfCardAccess
Definition EstablishPaceChannelOutput.h:36