AusweisApp2
PcscReaderManagerPlugIn.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "PcscUtils.h"
10 #include "Reader.h"
11 #include "ReaderManagerPlugIn.h"
12 
13 #include <QMap>
14 #include <QStringList>
15 
16 
17 namespace governikus
18 {
19 
21  : public ReaderManagerPlugIn
22 {
23  Q_OBJECT
24  Q_PLUGIN_METADATA(IID "governikus.ReaderManagerPlugIn" FILE "metadata.json")
26 
27  private:
28  SCARDCONTEXT mContextHandle;
29  SCARD_READERSTATE mReaderState;
30  int mTimerId;
31  QMap<QString, Reader*> mReaders;
32 
33  private:
34  PCSC_RETURNCODE readReaderNames(QStringList& pReaderNames);
35  void updateReaders();
36  void initReaderState();
37  inline QString extractReaderName(PCSC_CHAR_PTR pReaderPointer) const;
38  void removeReader(const QString& pReaderName);
39  void removeReaders(const QStringList& pReaderNames);
40 
41  protected:
42  void timerEvent(QTimerEvent* pEvent) override;
43 
44  public:
46  ~PcscReaderManagerPlugIn() override;
47 
48  [[nodiscard]] QList<Reader*> getReaders() const override;
49 
50  void startScan(bool pAutoConnect) override;
51  void stopScan(const QString& pError = QString()) override;
52 };
53 
54 } // namespace governikus
void timerEvent(QTimerEvent *pEvent) override
Definition: PcscReaderManagerPlugIn.cpp:95
PcscReaderManagerPlugIn()
Definition: PcscReaderManagerPlugIn.cpp:18
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
void stopScan(const QString &pError=QString()) override
Definition: PcscReaderManagerPlugIn.cpp:73
QList< Reader * > getReaders() const override
Definition: PcscReaderManagerPlugIn.cpp:47
void startScan(bool pAutoConnect) override
Definition: PcscReaderManagerPlugIn.cpp:53
~PcscReaderManagerPlugIn() override
Definition: PcscReaderManagerPlugIn.cpp:35
Definition: PcscReaderManagerPlugIn.h:20
Definition: ReaderManagerPlugIn.h:22