AusweisApp2
Lade ...
Suche ...
Keine Treffer
CardInfo.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "FileRef.h"
13#include "asn1/SecurityInfos.h"
14
15#include <QCoreApplication>
16#include <QSharedPointer>
17
18class test_CardInfo;
19
20namespace governikus
21{
22
23class CardConnectionWorker;
24class Reader;
25class ReaderInfo;
26
32{
33 Q_DECLARE_TR_FUNCTIONS(governikus::CardInfo)
34 friend class Reader;
35 friend QDebug operator<<(QDebug, const CardInfo&);
36
37 public:
38 enum class TagType
39 {
40 UNKNOWN,
41 NFC_4A,
42 NFC_4B
43 };
44
45 private:
46 CardType mCardType;
47 QSharedPointer<const EFCardAccess> mEfCardAccess;
48 int mRetryCounter;
49 bool mPinDeactivated;
50 bool mPukInoperative;
51 bool mPinInitial;
52 TagType mTagType;
53 static const int UNDEFINED_RETRY_COUNTER;
54
55 public:
56 CardInfo(CardType pCardType, const QSharedPointer<const EFCardAccess>& = QSharedPointer<const EFCardAccess>(),
57 int pRetryCounter = UNDEFINED_RETRY_COUNTER, bool pPinDeactivated = false, bool pPukInoperative = false, bool pPinInitial = false);
58
59 void setCardType(CardType pCardType);
60 [[nodiscard]] CardType getCardType() const;
61 [[nodiscard]] QString getCardTypeString() const;
62
63 [[nodiscard]] QSharedPointer<const EFCardAccess> getEfCardAccess() const;
64 [[nodiscard]] MobileEidType getMobileEidType() const;
65
66 [[nodiscard]] int getRetryCounter() const;
67 void setRetryCounter(int pRetryCounter);
68
69 [[nodiscard]] TagType getTagType() const;
70 void setTagType(TagType pTagType);
71
72 [[nodiscard]] bool isRetryCounterDetermined() const;
73
77 [[nodiscard]] bool isPinDeactivated() const;
78
82 [[nodiscard]] bool isPukInoperative() const;
83
84 [[nodiscard]] bool isPinInitial() const;
85};
86
87
92{
93 friend class ::test_CardInfo;
94
95 public:
100 static CardInfo create(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
101
102 private:
103 static bool selectApplication(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker, const FileRef& pFileRef);
104
108 static bool detectCard(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
109 static bool detectEid(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker, const FileRef& pRef);
110
114 static QSharedPointer<EFCardAccess> readEfCardAccess(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
115
120 static bool checkEfCardAccess(const QSharedPointer<EFCardAccess>& pEfCardAccess);
121};
122
123
124QDebug operator<<(QDebug pDbg, const CardInfo& pCardInfo);
125
126
127} // namespace governikus
Factory for creation of CardInfo instances.
Definition CardInfo.h:92
static CardInfo create(const QSharedPointer< CardConnectionWorker > &pCardConnectionWorker)
In order to create a CardInfo instance a connection is established to the smart card and data is read...
Definition CardInfo.cpp:159
Holds smart card information.
Definition CardInfo.h:32
void setCardType(CardType pCardType)
Definition CardInfo.cpp:43
MobileEidType getMobileEidType() const
Definition CardInfo.cpp:134
void setRetryCounter(int pRetryCounter)
Definition CardInfo.cpp:92
QString getCardTypeString() const
Definition CardInfo.cpp:55
bool isPukInoperative() const
The PUK is inoperative.
Definition CardInfo.cpp:110
bool isPinDeactivated() const
The eID function has not been activated by the competent authority.
Definition CardInfo.cpp:104
int getRetryCounter() const
Definition CardInfo.cpp:86
CardType getCardType() const
Definition CardInfo.cpp:49
void setTagType(TagType pTagType)
Definition CardInfo.cpp:128
TagType getTagType() const
Definition CardInfo.cpp:122
bool isRetryCounterDetermined() const
Definition CardInfo.cpp:98
TagType
Definition CardInfo.h:39
QSharedPointer< const EFCardAccess > getEfCardAccess() const
Definition CardInfo.cpp:80
bool isPinInitial() const
Definition CardInfo.cpp:116
Definition FileRef.h:19
Definition Reader.h:19
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition CommandApdu.h:94