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")
virtual void startScan(bool pAutoConnect)
Definition: ReaderManagerPlugIn.cpp:19
virtual void shutdown()
Definition: ReaderManagerPlugIn.h:89
void setPlugInEnabled(bool pEnabled)
Definition: ReaderManagerPlugIn.h:31
Code
Definition: GlobalStatus.h:25
void fireReaderAdded(const QString &pReaderName)
void fireReaderRemoved(const QString &pReaderName)
void setPlugInAvailable(bool pAvailable)
Definition: ReaderManagerPlugIn.h:41
void setPlugInResponding(bool pResponding)
Definition: ReaderManagerPlugIn.h:47
bool isScanRunning() const
Definition: ReaderManagerPlugIn.h:74
virtual QList< Reader * > getReaders() const =0
void fireReaderPropertiesUpdated(const QString &pReaderName)
void fireStatusChanged(const ReaderManagerPlugInInfo &pInfo)
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
virtual void init()
Definition: ReaderManagerPlugIn.h:83
void fireCardRetryCounterChanged(const QString &pReaderName)
const ReaderManagerPlugInInfo & getInfo() const
Definition: ReaderManagerPlugIn.h:68
ReaderManagerPlugIn(ReaderManagerPlugInType pPlugInType, bool pAvailable=false, bool pPlugInEnabled=false)
Definition: ReaderManagerPlugIn.cpp:10
void fireCardInserted(const QString &pReaderName)
void setPlugInValue(ReaderManagerPlugInInfo::Key pKey, const QVariant &pValue)
Definition: ReaderManagerPlugIn.h:57
virtual ~ReaderManagerPlugIn()=default
void fireReaderDeviceError(GlobalStatus::Code pError)
void fireCardRemoved(const QString &pReaderName)
Definition: ReaderManagerPlugIn.h:21
virtual void stopScan(const QString &pError=QString())
Definition: ReaderManagerPlugIn.cpp:29