AusweisApp2
RemoteReaderManagerPlugIn.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "Reader.h"
11 #include "ReaderManagerPlugIn.h"
12 
13 #include <QMap>
14 #include <QMultiMap>
15 #include <QSharedPointer>
16 #include <QTimer>
17 
18 namespace governikus
19 {
20 class RemoteDispatcherClient;
21 class RemoteDeviceListEntry;
22 
24  : public ReaderManagerPlugIn
25 {
26  Q_OBJECT
27  Q_PLUGIN_METADATA(IID "governikus.ReaderManagerPlugIn" FILE "metadata.json")
29 
30  private:
31  QTimer mScanTimer;
32  QMultiMap<QString, QString> mReadersForDispatcher;
33  QMap<QString, QSharedPointer<RemoteDispatcherClient>> mDispatcherList;
34  QMap<QString, Reader*> mReaderList;
35  bool mConnectToPairedReaders;
36  bool mConnectionCheckInProgress;
37 
38  void removeDispatcher(const QString& pId);
39  void removeAllDispatchers();
40 
41  void handleIFDStatus(const QJsonObject& pJsonObject, const QString& pId);
42 
43  private Q_SLOTS:
44  void onContextEstablished(const QString& pIfdName, const QString& pId);
45  void onRemoteMessage(RemoteCardMessageType pMessageType, const QJsonObject& pJsonObject, const QString& pId);
46  void onDispatcherClosed(GlobalStatus::Code pCloseCode, const QString& pId);
47  void addRemoteDispatcher(const QSharedPointer<RemoteDispatcherClient>& pRemoteDispatcher);
48  void connectToPairedReaders();
49  void continueConnectToPairedReaders(const QVector<QSharedPointer<RemoteDeviceListEntry>>& pRemoteDevices);
50 
51  public:
53  ~RemoteReaderManagerPlugIn() override;
54 
55  void init() override;
56  [[nodiscard]] QList<Reader*> getReaders() const override;
57 
58  void startScan(bool pAutoConnect) override;
59  void stopScan(const QString& pError = QString()) override;
60 
61 };
62 
63 } // namespace governikus
void startScan(bool pAutoConnect) override
Definition: RemoteReaderManagerPlugIn.cpp:294
void stopScan(const QString &pError=QString()) override
Definition: RemoteReaderManagerPlugIn.cpp:307
Code
Definition: GlobalStatus.h:25
Definition: RemoteReaderManagerPlugIn.h:23
RemoteReaderManagerPlugIn()
Definition: RemoteReaderManagerPlugIn.cpp:241
QList< Reader * > getReaders() const override
Definition: RemoteReaderManagerPlugIn.cpp:274
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
~RemoteReaderManagerPlugIn() override
Definition: RemoteReaderManagerPlugIn.cpp:253
void init() override
Definition: RemoteReaderManagerPlugIn.cpp:267
Definition: ReaderManagerPlugIn.h:22