AusweisApp2
ReaderManagerPlugIn.h
gehe zur Dokumentation dieser Datei
1 
8 #pragma once
9 
10 #include "GlobalStatus.h"
12 
13 #include <QObject>
14 #include <QThread>
15 
16 namespace governikus
17 {
18 
19 class Reader;
20 
22  : public QObject
23 {
24  Q_OBJECT
25  ReaderManagerPlugInInfo mInfo;
26 
27  private:
28  bool mScanRunning;
29 
30  protected:
31  void setPlugInEnabled(bool pEnabled)
32  {
33  if (mInfo.isEnabled() != pEnabled)
34  {
35  mInfo.setEnabled(pEnabled);
36  Q_EMIT fireStatusChanged(mInfo);
37  }
38  }
39 
40 
41  void setPlugInAvailable(bool pAvailable)
42  {
43  mInfo.setAvailable(pAvailable);
44  }
45 
46 
47  void setPlugInResponding(bool pResponding)
48  {
49  if (mInfo.isResponding() != pResponding)
50  {
51  mInfo.setResponding(pResponding);
52  Q_EMIT fireStatusChanged(mInfo);
53  }
54  }
55 
56 
57  void setPlugInValue(ReaderManagerPlugInInfo::Key pKey, const QVariant& pValue)
58  {
59  mInfo.setValue(pKey, pValue);
60  }
61 
62  public:
63  ReaderManagerPlugIn(ReaderManagerPlugInType pPlugInType,
64  bool pAvailable = false,
65  bool pPlugInEnabled = false);
66  virtual ~ReaderManagerPlugIn() = default;
67 
68  const ReaderManagerPlugInInfo& getInfo() const
69  {
70  return mInfo;
71  }
72 
73 
74  bool isScanRunning() const
75  {
76  return mScanRunning;
77  }
78 
79 
80  virtual QList<Reader*> getReaders() const = 0;
81 
82 
83  virtual void init()
84  {
85  Q_ASSERT(QObject::thread() == QThread::currentThread());
86  }
87 
88 
89  virtual void shutdown()
90  {
91  }
92 
93 
94  virtual void startScan(bool pAutoConnect);
95  virtual void stopScan(const QString& pError = QString());
96 
97  Q_SIGNALS:
98  void fireStatusChanged(const ReaderManagerPlugInInfo& pInfo);
99  void fireReaderAdded(const QString& pReaderName);
100  void fireReaderRemoved(const QString& pReaderName);
102  void fireCardInserted(const QString& pReaderName);
103  void fireCardRemoved(const QString& pReaderName);
104  void fireCardRetryCounterChanged(const QString& pReaderName);
105  void fireReaderPropertiesUpdated(const QString& pReaderName);
106 };
107 
108 } // namespace governikus
109 
110 Q_DECLARE_INTERFACE(governikus::ReaderManagerPlugIn, "governikus.ReaderManagerPlugIn")
ReaderManagerPlugInInfo.h
governikus::ReaderManagerPlugIn::fireStatusChanged
void fireStatusChanged(const ReaderManagerPlugInInfo &pInfo)
governikus::GlobalStatus::Code
Code
Definition: GlobalStatus.h:26
governikus::ReaderManagerPlugIn::isScanRunning
bool isScanRunning() const
Definition: ReaderManagerPlugIn.h:74
governikus::ReaderManagerPlugIn::fireReaderRemoved
void fireReaderRemoved(const QString &pReaderName)
governikus::ReaderManagerPlugIn::fireReaderPropertiesUpdated
void fireReaderPropertiesUpdated(const QString &pReaderName)
governikus::ReaderManagerPlugIn::startScan
virtual void startScan(bool pAutoConnect)
Definition: ReaderManagerPlugIn.cpp:19
governikus::ReaderManagerPlugIn::fireReaderAdded
void fireReaderAdded(const QString &pReaderName)
governikus::ReaderManagerPlugIn::shutdown
virtual void shutdown()
Definition: ReaderManagerPlugIn.h:89
governikus::ReaderManagerPlugIn::getReaders
virtual QList< Reader * > getReaders() const =0
GlobalStatus.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::ReaderManagerPlugIn::getInfo
const ReaderManagerPlugInInfo & getInfo() const
Definition: ReaderManagerPlugIn.h:68
governikus::ReaderManagerPlugIn::init
virtual void init()
Definition: ReaderManagerPlugIn.h:83
governikus::ReaderManagerPlugIn::fireReaderDeviceError
void fireReaderDeviceError(GlobalStatus::Code pError)
governikus::ReaderManagerPlugIn::setPlugInResponding
void setPlugInResponding(bool pResponding)
Definition: ReaderManagerPlugIn.h:47
governikus::ReaderManagerPlugIn::setPlugInEnabled
void setPlugInEnabled(bool pEnabled)
Definition: ReaderManagerPlugIn.h:31
governikus::ReaderManagerPlugIn::fireCardInserted
void fireCardInserted(const QString &pReaderName)
governikus::ReaderManagerPlugIn::stopScan
virtual void stopScan(const QString &pError=QString())
Definition: ReaderManagerPlugIn.cpp:29
governikus::ReaderManagerPlugIn::setPlugInValue
void setPlugInValue(ReaderManagerPlugInInfo::Key pKey, const QVariant &pValue)
Definition: ReaderManagerPlugIn.h:57
governikus::ReaderManagerPlugIn::fireCardRetryCounterChanged
void fireCardRetryCounterChanged(const QString &pReaderName)
governikus::ReaderManagerPlugIn::fireCardRemoved
void fireCardRemoved(const QString &pReaderName)
governikus::ReaderManagerPlugIn::ReaderManagerPlugIn
ReaderManagerPlugIn(ReaderManagerPlugInType pPlugInType, bool pAvailable=false, bool pPlugInEnabled=false)
Definition: ReaderManagerPlugIn.cpp:10
ReaderManagerPlugIn.h
governikus::ReaderManagerPlugIn::setPlugInAvailable
void setPlugInAvailable(bool pAvailable)
Definition: ReaderManagerPlugIn.h:41
governikus::ReaderManagerPlugIn
Definition: ReaderManagerPlugIn.h:23
governikus::ReaderManagerPlugIn::~ReaderManagerPlugIn
virtual ~ReaderManagerPlugIn()=default