AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
CardInfo.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "asn1/SecurityInfos.h"
10 #include "SmartCardDefinitions.h"
11 
12 #include <QCoreApplication>
13 #include <QSharedPointer>
14 
15 namespace governikus
16 {
17 
18 class CardConnectionWorker;
19 class PACEInfo;
20 class Reader;
21 class ReaderInfo;
22 
27 class CardInfo
28 {
29  Q_DECLARE_TR_FUNCTIONS(governikus::CardInfo)
30 
31  private:
32  CardType mCardType;
33  QSharedPointer<const EFCardAccess> mEfCardAccess;
34  int mRetryCounter;
35  bool mPinDeactivated;
36  bool mPukInoperative;
37  static const int UNDEFINED_RETRY_COUNTER;
38 
39  friend QDebug operator<<(QDebug, const CardInfo&);
40 
41  public:
42  CardInfo(CardType pCardType, const QSharedPointer<const EFCardAccess>& = QSharedPointer<const EFCardAccess>(),
43  int pRetryCounter = UNDEFINED_RETRY_COUNTER, bool pPinDeactivated = false, bool pPukInoperative = false);
44 
45  QString getCardTypeString() const;
46  bool isAvailable() const;
47  bool isEid() const;
48 
49  QSharedPointer<const EFCardAccess> getEfCardAccess() const;
50 
51  QString getEidApplicationPath() const;
52 
53  int getRetryCounter() const;
54 
55  bool isRetryCounterDetermined() const;
56 
60  bool isPinDeactivated() const;
61 
65  bool isPukInoperative() const;
66 
67  friend class Reader;
68 };
69 
70 
75 {
76  public:
81  static bool create(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker, ReaderInfo& pReaderInfo);
82 
83  private:
87  static bool isGermanEidCard(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
88 
92  static QSharedPointer<EFCardAccess> readEfCardAccess(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
93 
98  static bool checkEfCardAccess(const QSharedPointer<EFCardAccess>& pEfCardAccess);
99 };
100 
101 
102 QDebug operator<<(QDebug pDbg, const CardInfo& pCardInfo);
103 
104 
105 } /* namespace governikus */
QString getCardTypeString() const
Definition: CardInfo.cpp:37
Holds smart card informations.
Definition: CardInfo.h:27
bool isPukInoperative() const
The PUK is inoperative.
Definition: CardInfo.cpp:97
friend QDebug operator<<(QDebug, const CardInfo &)
Definition: CardInfo.cpp:236
bool isEid() const
Definition: CardInfo.cpp:61
CardInfo(CardType pCardType, const QSharedPointer< const EFCardAccess > &=QSharedPointer< const EFCardAccess >(), int pRetryCounter=UNDEFINED_RETRY_COUNTER, bool pPinDeactivated=false, bool pPukInoperative=false)
Definition: CardInfo.cpp:27
int getRetryCounter() const
Definition: CardInfo.cpp:79
Definition: Reader.h:21
Definition: ReaderInfo.h:17
Factory for creation of CardInfo instances.
Definition: CardInfo.h:74
bool isRetryCounterDetermined() const
Definition: CardInfo.cpp:85
bool isPinDeactivated() const
The online identification function has not been activated by the competent authority.
Definition: CardInfo.cpp:91
bool isAvailable() const
Definition: CardInfo.cpp:55
QSharedPointer< const EFCardAccess > getEfCardAccess() const
Definition: CardInfo.cpp:67
QDebug operator<<(QDebug pDbg, const CardInfo &pCardInfo)
Definition: CardInfo.cpp:236
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:103
QString getEidApplicationPath() const
Definition: CardInfo.cpp:73