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  int mTimerId;
30  QMap<QString, Reader*> mReaders;
31 
32  private:
33  PCSC_RETURNCODE readReaderNames(QStringList& pReaderNames);
34  void updateReaders();
35  inline QString extractReaderName(PCSC_CHAR_PTR pReaderPointer) const;
36  void removeReader(const QString& pReaderName);
37  void removeReaders(const QStringList& pReaderNames);
38 
39  protected:
40  void timerEvent(QTimerEvent* pEvent) override;
41 
42  public:
44  ~PcscReaderManagerPlugIn() override;
45 
46  [[nodiscard]] QList<Reader*> getReaders() const override;
47 
48  void startScan(bool pAutoConnect) override;
49  void stopScan(const QString& pError = QString()) override;
50 };
51 
52 } // namespace governikus
Definition: PcscReaderManagerPlugIn.h:22
QList< Reader * > getReaders() const override
Definition: PcscReaderManagerPlugIn.cpp:44
PcscReaderManagerPlugIn()
Definition: PcscReaderManagerPlugIn.cpp:18
void startScan(bool pAutoConnect) override
Definition: PcscReaderManagerPlugIn.cpp:50
~PcscReaderManagerPlugIn() override
Definition: PcscReaderManagerPlugIn.cpp:32
void timerEvent(QTimerEvent *pEvent) override
Definition: PcscReaderManagerPlugIn.cpp:92
void stopScan(const QString &pError=QString()) override
Definition: PcscReaderManagerPlugIn.cpp:70
Definition: ReaderManagerPlugIn.h:24
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15