AusweisApp
Lade ...
Suche ...
Keine Treffer
Reader.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "Card.h"
8#include "ReaderInfo.h"
9
10#include <QObject>
11#include <QSharedPointer>
12#include <QTimerEvent>
13
14namespace governikus
15{
16class CardConnectionWorker;
17
18class Reader
19 : public QObject
20{
22 friend class MockReader;
23
24 protected:
29 void removeCardInfo();
30 void fetchCardInfo();
31
32 [[nodiscard]] int getTimerId() const;
33 void setTimerId(int pTimerId);
34
35 void timerEvent(QTimerEvent* pEvent) override;
36
37 private:
38 ReaderInfo mReaderInfo;
39 int mTimerId;
40
41 struct RetryCounterResult
42 {
43 CardReturnCode cardReturnCode = CardReturnCode::COMMAND_FAILED;
44 int retryCounter = -1;
45 bool pinDeactivated = false;
46 bool pinInitial = false;
47 };
48 RetryCounterResult getRetryCounter(QSharedPointer<CardConnectionWorker> pCardConnectionWorker);
49
50 public:
52 ~Reader() override = default;
53
54
55 virtual void printGetReaderInfo() const
56 {
57 }
58
59
63 virtual void updateCard()
64 {
65 }
66
67
68 [[nodiscard]] const QString& getName() const
69 {
70 return mReaderInfo.getName();
71 }
72
73
75 {
76 return mReaderInfo;
77 }
78
79
80 virtual void insertCard(const QVariant& pData = QVariant());
81
82 void shelveCard();
83
84 [[nodiscard]] virtual Card* getCard() const = 0;
85
86 void setPukInoperative();
87
93
95
101};
102
103
105 : public Reader
106{
108
109 public:
110 using Reader::Reader;
111 ~ConnectableReader() override = default;
112
113 virtual void connectReader() = 0;
114 virtual void disconnectReader(const QString& pError = QString()) = 0;
115
116 Q_SIGNALS:
118};
119
120} // namespace governikus
Holds smart card information.
Definition CardInfo.h:26
TagType
Definition CardInfo.h:33
Definition Card.h:47
Definition Reader.h:106
~ConnectableReader() override=default
virtual void connectReader()=0
virtual void disconnectReader(const QString &pError=QString())=0
Definition ReaderInfo.h:18
const QString & getName() const
Definition ReaderInfo.h:150
Definition Reader.h:20
Reader(ReaderManagerPluginType pPluginType, const QString &pReaderName)
Definition Reader.cpp:24
void setInfoCardInfo(const CardInfo &pCardInfo)
Definition Reader.cpp:44
void fireCardInfoChanged(const ReaderInfo &pInfo)
void fireCardInserted(const ReaderInfo &pInfo)
void setCardInfoTagType(CardInfo::TagType pTagType)
Definition Reader.cpp:50
CardReturnCode updateRetryCounter(QSharedPointer< CardConnectionWorker > pCardConnectionWorker)
Definition Reader.cpp:183
void shelveCard()
Definition Reader.cpp:113
void setPukInoperative()
Definition Reader.cpp:142
void setInfoMaxApduLength(int pMaxApduLength)
Definition Reader.cpp:38
const ReaderInfo & getReaderInfo() const
Definition Reader.h:74
friend class MockReader
Definition Reader.h:22
void removeCardInfo()
Definition Reader.cpp:56
virtual void insertCard(const QVariant &pData=QVariant())
Definition Reader.cpp:91
~Reader() override=default
void timerEvent(QTimerEvent *pEvent) override
Definition Reader.cpp:174
void fireCardRemoved(const ReaderInfo &pInfo)
void setInfoBasicReader(bool pBasicReader)
Definition Reader.cpp:32
virtual void printGetReaderInfo() const
Definition Reader.h:55
QSharedPointer< CardConnectionWorker > createCardConnectionWorker()
Creates a new CardConnectionWorker if and only if there is a card in the reader which is not already ...
Definition Reader.cpp:149
int getTimerId() const
Definition Reader.cpp:79
void setTimerId(int pTimerId)
Definition Reader.cpp:85
virtual Card * getCard() const =0
virtual void updateCard()
Periodically called to perform an update of the readers and cards state.
Definition Reader.h:63
const QString & getName() const
Definition Reader.h:68
void fireReaderPropertiesUpdated(const ReaderInfo &pInfo)
void fetchCardInfo()
Definition Reader.cpp:63
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114