AusweisApp2
IfdReaderManagerPlugIn.h
gehe zur Dokumentation dieser Datei
1 
5 #pragma once
6 
7 
8 #include "IfdClient.h"
9 #include "IfdDispatcherClient.h"
10 #include "ReaderManagerPlugIn.h"
11 #include "messages/IfdMessage.h"
12 
13 #include <QMap>
14 #include <QSharedPointer>
15 
16 namespace governikus
17 {
18 
19 
21  : public ReaderManagerPlugIn
22 {
23  Q_OBJECT
24 
25  private:
26  QMultiMap<QString, QString> mReadersForDispatcher;
27  QMap<QString, QSharedPointer<IfdDispatcherClient>> mDispatcherList;
28  QMap<QString, Reader*> mReaderList;
29 
30  void handleIFDStatus(const QJsonObject& pJsonObject, const QString& pId);
31 
32  private Q_SLOTS:
33  void onContextEstablished(const QString& pIfdName, const QString& pId);
34  void onMessage(IfdMessageType pMessageType, const QJsonObject& pJsonObject, const QString& pId);
35  void onDispatcherClosed(GlobalStatus::Code pCloseCode, const QString& pId);
36 
37  protected:
38  virtual void addDispatcher(const QSharedPointer<IfdDispatcherClient>& pDispatcher);
39  void removeAllDispatchers();
40  void removeDispatcher(const QString& pId);
41  [[nodiscard]] const QMap<QString, QSharedPointer<IfdDispatcherClient>>& getDispatchers() const;
42 
43  virtual bool isInitialPairing(const QString& pIfdName, const QString& pId) = 0;
44  virtual IfdClient* getIfdClient() = 0;
45 
46  public:
47  IfdReaderManagerPlugIn(ReaderManagerPlugInType pPlugInType, bool pAvailable = false, bool pPlugInEnabled = false);
48  ~IfdReaderManagerPlugIn() override;
49 
50  void init() override;
51  [[nodiscard]] QList<Reader*> getReaders() const override;
52 
53  void insert(const QString& pReaderName, const QVariant& pData) override;
54 
55  void startScan(bool pAutoConnect) override;
56  void stopScan(const QString& pError = QString()) override;
57 
58 };
59 
60 } // namespace governikus
Code
Definition: GlobalStatus.h:26
Definition: IfdClient.h:25
Definition: IfdReaderManagerPlugIn.h:22
IfdReaderManagerPlugIn(ReaderManagerPlugInType pPlugInType, bool pAvailable=false, bool pPlugInEnabled=false)
Definition: IfdReaderManagerPlugIn.cpp:170
void removeAllDispatchers()
Definition: IfdReaderManagerPlugIn.cpp:44
virtual void addDispatcher(const QSharedPointer< IfdDispatcherClient > &pDispatcher)
Definition: IfdReaderManagerPlugIn.cpp:204
QList< Reader * > getReaders() const override
Definition: IfdReaderManagerPlugIn.cpp:198
void removeDispatcher(const QString &pId)
Definition: IfdReaderManagerPlugIn.cpp:20
void init() override
Definition: IfdReaderManagerPlugIn.cpp:191
const QMap< QString, QSharedPointer< IfdDispatcherClient > > & getDispatchers() const
Definition: IfdReaderManagerPlugIn.cpp:248
virtual IfdClient * getIfdClient()=0
void stopScan(const QString &pError=QString()) override
Definition: IfdReaderManagerPlugIn.cpp:239
virtual bool isInitialPairing(const QString &pIfdName, const QString &pId)=0
void startScan(bool pAutoConnect) override
Definition: IfdReaderManagerPlugIn.cpp:231
~IfdReaderManagerPlugIn() override
Definition: IfdReaderManagerPlugIn.cpp:179
void insert(const QString &pReaderName, const QVariant &pData) override
Definition: IfdReaderManagerPlugIn.cpp:218
Definition: ReaderManagerPlugIn.h:23
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16