AusweisApp2
Lade ...
Suche ...
Keine Treffer
CardInfo.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
10#include "FileRef.h"
12
13#include <QCoreApplication>
14#include <QSharedPointer>
15
16
17namespace governikus
18{
19
20class CardConnectionWorker;
21class Reader;
22class ReaderInfo;
23
29{
30 Q_DECLARE_TR_FUNCTIONS(governikus::CardInfo)
31
32 private:
33 CardType mCardType;
34 QSharedPointer<const EFCardAccess> mEfCardAccess;
35 int mRetryCounter;
36 bool mPinDeactivated;
37 bool mPukInoperative;
38 static const int UNDEFINED_RETRY_COUNTER;
39
40 friend QDebug operator<<(QDebug, const CardInfo&);
41
42 public:
43 CardInfo(CardType pCardType, const QSharedPointer<const EFCardAccess>& = QSharedPointer<const EFCardAccess>(),
44 int pRetryCounter = UNDEFINED_RETRY_COUNTER, bool pPinDeactivated = false, bool pPukInoperative = false);
45
46 [[nodiscard]] QString getCardTypeString() const;
47 [[nodiscard]] bool isAvailable() const;
48 [[nodiscard]] bool isEid() const;
49 [[nodiscard]] bool isPassport() const;
50
51 [[nodiscard]] QSharedPointer<const EFCardAccess> getEfCardAccess() const;
52
53 [[nodiscard]] int getRetryCounter() const;
54 void setRetryCounter(int pRetryCounter);
55
56 [[nodiscard]] bool isRetryCounterDetermined() const;
57
61 [[nodiscard]] bool isPinDeactivated() const;
62
66 [[nodiscard]] bool isPukInoperative() const;
67
68 friend class Reader;
69};
70
71
76{
77 public:
82 static bool create(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker, ReaderInfo& pReaderInfo);
83
84 private:
85 static bool selectApplication(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker, const FileRef& pFileRef);
86
90 static CardType detectCard(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
91
95 static QSharedPointer<EFCardAccess> readEfCardAccess(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
96
101 static bool checkEfCardAccess(const QSharedPointer<EFCardAccess>& pEfCardAccess);
102};
103
104
105QDebug operator<<(QDebug pDbg, const CardInfo& pCardInfo);
106
107
108} // namespace governikus
Factory for creation of CardInfo instances.
Definition: CardInfo.h:76
static bool create(const QSharedPointer< CardConnectionWorker > &pCardConnectionWorker, ReaderInfo &pReaderInfo)
In order to create a CardInfo instance a connection is established to the smart card and data is read...
Definition: CardInfo.cpp:118
Holds smart card informations.
Definition: CardInfo.h:29
void setRetryCounter(int pRetryCounter)
Definition: CardInfo.cpp:94
bool isPassport() const
Definition: CardInfo.cpp:76
QString getCardTypeString() const
Definition: CardInfo.cpp:38
bool isPukInoperative() const
The PUK is inoperative.
Definition: CardInfo.cpp:112
bool isEid() const
Definition: CardInfo.cpp:70
bool isPinDeactivated() const
The online identification function has not been activated by the competent authority.
Definition: CardInfo.cpp:106
int getRetryCounter() const
Definition: CardInfo.cpp:88
friend QDebug operator<<(QDebug, const CardInfo &)
Definition: CardInfo.cpp:281
bool isRetryCounterDetermined() const
Definition: CardInfo.cpp:100
bool isAvailable() const
Definition: CardInfo.cpp:64
QSharedPointer< const EFCardAccess > getEfCardAccess() const
Definition: CardInfo.cpp:82
Definition: ReaderInfo.h:17
Definition: Reader.h:19
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
QDebug operator<<(QDebug pDbg, const CardInfo &pCardInfo)
Definition: CardInfo.cpp:281
Definition: FileRef.h:15