AusweisApp2
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{
16
17class Reader
18 : public QObject
19{
20 Q_OBJECT
21
22 public:
23 enum class CardEvent
24 {
26 };
27
28 protected:
31
32 void timerEvent(QTimerEvent* pEvent) override;
33
34 private:
35 virtual CardEvent updateCard() = 0;
36
37 struct RetryCounterResult
38 {
39 CardReturnCode cardReturnCode = CardReturnCode::COMMAND_FAILED;
40 int retryCounter = -1;
41 bool pinDeactivated = false;
42 };
43 RetryCounterResult getRetryCounter(QSharedPointer<CardConnectionWorker> pCardConnectionWorker);
44
45 void fireUpdateSignal(CardEvent pCardEvent);
46
47 public:
48 Reader(ReaderManagerPlugInType pPlugInType, const QString& pReaderName);
49 ~Reader() override = default;
50
54 void update();
55
56 [[nodiscard]] const QString& getName() const
57 {
58 return mReaderInfo.getName();
59 }
60
61
62 [[nodiscard]] const ReaderInfo& getReaderInfo() const
63 {
64 return mReaderInfo;
65 }
66
67
68 [[nodiscard]] virtual Card* getCard() const = 0;
69
70 void setPukInoperative();
71
76 QSharedPointer<CardConnectionWorker> createCardConnectionWorker();
77
78 CardReturnCode updateRetryCounter(QSharedPointer<CardConnectionWorker> pCardConnectionWorker);
79
80 Q_SIGNALS:
81 void fireCardInserted(const ReaderInfo& pInfo);
82 void fireCardRemoved(const ReaderInfo& pInfo);
85};
86
87
89 : public Reader
90{
91 Q_OBJECT
92
93 public:
94 using Reader::Reader;
95 ~ConnectableReader() override = default;
96
97 virtual void connectReader() = 0;
98 virtual void disconnectReader(const QString& pError = QString()) = 0;
99
100 Q_SIGNALS:
102};
103
104} // namespace governikus
Definition: Card.h:24
Definition: Reader.h:90
~ConnectableReader() override=default
virtual void connectReader()=0
virtual void disconnectReader(const QString &pError=QString())=0
Definition: ReaderInfo.h:17
const QString & getName() const
Definition: ReaderInfo.h:107
Definition: Reader.h:19
CardEvent
Definition: Reader.h:24
void fireCardInserted(const ReaderInfo &pInfo)
CardReturnCode updateRetryCounter(QSharedPointer< CardConnectionWorker > pCardConnectionWorker)
Definition: Reader.cpp:76
void setPukInoperative()
Definition: Reader.cpp:29
void update()
Periodically called to perform an update of the readers and cards state.
Definition: Reader.cpp:69
const ReaderInfo & getReaderInfo() const
Definition: Reader.h:62
Reader(ReaderManagerPlugInType pPlugInType, const QString &pReaderName)
Definition: Reader.cpp:21
void fireCardRetryCounterChanged(const ReaderInfo &pInfo)
~Reader() override=default
void timerEvent(QTimerEvent *pEvent) override
Definition: Reader.cpp:60
void fireCardRemoved(const ReaderInfo &pInfo)
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:35
virtual Card * getCard() const =0
int mTimerId
Definition: Reader.h:30
const QString & getName() const
Definition: Reader.h:56
void fireReaderPropertiesUpdated(const ReaderInfo &pInfo)
ReaderInfo mReaderInfo
Definition: Reader.h:29
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15