AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
Reader.h
gehe zur Dokumentation dieser Datei
1 
5 #pragma once
6 
7 #include "Card.h"
8 #include "DeviceError.h"
9 #include "ReaderInfo.h"
10 
11 #include <QObject>
12 #include <QSharedPointer>
13 #include <QTimerEvent>
14 
15 
16 namespace governikus
17 {
18 
19 class CardConnectionWorker;
20 
21 class Reader
22  : public QObject
23 {
24  Q_OBJECT
25 
26  protected:
27  enum class CardEvent
28  {
30  };
31 
33  int mTimerId;
34 
35  void timerEvent(QTimerEvent* pEvent) override;
36 
40  void update();
41 
42  private:
43  virtual CardEvent updateCard() = 0;
44 
45  CardReturnCode getRetryCounter(QSharedPointer<CardConnectionWorker> pCardConnectionWorker, int& pRetryCounter, bool& pPinDeactivated);
46 
47  void fireUpdateSignal(CardEvent pCardEvent);
48 
49  public:
50  Reader(ReaderManagerPlugInType pPlugInType, const QString& pReaderName);
51  virtual ~Reader() override;
52 
53  const QString& getName() const
54  {
55  return mReaderInfo.getName();
56  }
57 
58 
59  const ReaderInfo& getReaderInfo() const
60  {
61  return mReaderInfo;
62  }
63 
64 
65  void setRetryCounter(int pRetryCounter);
66 
67 
68  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 QString& pReaderName);
82  void fireCardRemoved(const QString& pReaderName);
83  void fireCardRetryCounterChanged(const QString& pReaderName);
84  void fireReaderPropertiesUpdated(const QString& pReaderName);
85  void fireReaderDeviceError(DeviceError pDeviceError);
86 
87 
88 };
89 
90 
92  : public Reader
93 {
94  Q_OBJECT
95 
96  public:
97  using Reader::Reader;
98  virtual ~ConnectableReader();
99 
100  virtual void connectReader() = 0;
101  virtual void disconnectReader() = 0;
102 };
103 
104 } /* namespace governikus */
virtual ~Reader() override
Definition: Reader.cpp:29
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:52
const QString & getName() const
Definition: Reader.h:53
Reader(ReaderManagerPlugInType pPlugInType, const QString &pReaderName)
Definition: Reader.cpp:21
virtual Card * getCard() const =0
virtual void disconnectReader()=0
Definition: Reader.h:21
CardEvent
Definition: Reader.h:27
CardReturnCode updateRetryCounter(QSharedPointer< CardConnectionWorker > pCardConnectionWorker)
Definition: Reader.cpp:93
Definition: ReaderInfo.h:17
void timerEvent(QTimerEvent *pEvent) override
Definition: Reader.cpp:77
virtual void connectReader()=0
int mTimerId
Definition: Reader.h:33
void fireReaderDeviceError(DeviceError pDeviceError)
void fireCardRetryCounterChanged(const QString &pReaderName)
virtual ~ConnectableReader()
Definition: Reader.cpp:179
void fireCardInserted(const QString &pReaderName)
const ReaderInfo & getReaderInfo() const
Definition: Reader.h:59
Definition: Reader.h:91
void setPukInoperative()
Definition: Reader.cpp:34
void fireReaderPropertiesUpdated(const QString &pReaderName)
ReaderInfo mReaderInfo
Definition: Reader.h:32
void fireCardRemoved(const QString &pReaderName)
const QString & getName() const
Definition: ReaderInfo.h:101
void update()
Periodically called to perform an update of the readers and cards state.
Definition: Reader.cpp:86
void setRetryCounter(int pRetryCounter)
Definition: Reader.cpp:40
Definition: Card.h:22