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  virtual ~RemoteReaderManagerPlugIn() override;
54 
55  void init() override;
56  virtual QList<Reader*> getReaders() const override;
57 
58  virtual void startScan(bool pAutoConnect) override;
59  virtual void stopScan(const QString& pError = QString()) override;
60 
61 };
62 
63 } // namespace governikus
governikus::RemoteServiceSettings::RemoteInfo
Definition: RemoteServiceSettings.h:40
governikus::RemoteServiceSettings::RemoteInfo::getFingerprint
const QString & getFingerprint() const
Definition: RemoteServiceSettings.cpp:381
governikus::RemoteReaderManagerPlugIn::RemoteReaderManagerPlugIn
RemoteReaderManagerPlugIn()
Definition: RemoteReaderManagerPlugIn.cpp:228
IfdGetStatus.h
governikus::RemoteDispatcher::close
void close()
Definition: RemoteDispatcher.cpp:124
governikus::RemoteClient::fireDeviceAppeared
void fireDeviceAppeared(const QSharedPointer< RemoteDeviceListEntry > &pEntry)
Definition: moc_RemoteClient.cpp:280
governikus::RemoteServiceSettings
Definition: RemoteServiceSettings.h:29
governikus::RemoteReaderManagerPlugIn::~RemoteReaderManagerPlugIn
virtual ~RemoteReaderManagerPlugIn() override
Definition: RemoteReaderManagerPlugIn.cpp:240
IfdError.h
governikus::GlobalStatus::Code
Code
Definition: GlobalStatus.h:26
governikus::RemoteDispatcher::fireReceived
void fireReceived(RemoteCardMessageType pMessageType, const QJsonObject &pJsonObject, const QString &pId)
Definition: moc_RemoteDispatcher.cpp:175
IfdEstablishContextResponse.h
AppSettings.h
governikus::RemoteReaderManagerPlugIn
Definition: RemoteReaderManagerPlugIn.h:25
governikus::ReaderManagerPlugIn::fireReaderRemoved
void fireReaderRemoved(const QString &pReaderName)
Definition: moc_ReaderManagerPlugIn.cpp:230
RemoteClient.h
governikus::RemoteReaderManagerPlugIn::startScan
virtual void startScan(bool pAutoConnect) override
Definition: RemoteReaderManagerPlugIn.cpp:277
governikus::RemoteClient::startDetection
virtual Q_INVOKABLE void startDetection()=0
governikus::RemoteServiceSettings::RemoteInfo::setNameUnescaped
void setNameUnescaped(const QString &pName)
Definition: RemoteServiceSettings.cpp:393
governikus::ReaderManagerPlugIn::fireReaderPropertiesUpdated
void fireReaderPropertiesUpdated(const QString &pReaderName)
Definition: moc_ReaderManagerPlugIn.cpp:265
governikus::RemoteReaderManagerPlugIn::init
void init() override
Definition: RemoteReaderManagerPlugIn.cpp:247
IfdEstablishContext.h
governikus::Reader::fireCardRetryCounterChanged
void fireCardRetryCounterChanged(const QString &pReaderName)
Definition: moc_Reader.cpp:194
governikus::Reader::fireCardInserted
void fireCardInserted(const QString &pReaderName)
Definition: moc_Reader.cpp:180
governikus::ReaderManagerPlugIn::startScan
virtual void startScan(bool pAutoConnect)
Definition: ReaderManagerPlugIn.cpp:19
governikus::ReaderManagerPlugIn::fireReaderAdded
void fireReaderAdded(const QString &pReaderName)
Definition: moc_ReaderManagerPlugIn.cpp:223
governikus::RemoteReaderManagerPlugIn::getReaders
virtual QList< Reader * > getReaders() const override
Definition: RemoteReaderManagerPlugIn.cpp:254
governikus::RemoteClient::requestRemoteDevices
virtual Q_INVOKABLE void requestRemoteDevices()
Definition: RemoteClient.cpp:22
RemoteDeviceList.h
governikus::RemoteReaderManagerPlugIn::stopScan
virtual void stopScan(const QString &pError=QString()) override
Definition: RemoteReaderManagerPlugIn.cpp:295
governikus::IfdStatus
Definition: IfdStatus.h:47
governikus::RemoteClient::fireRemoteDevicesInfo
void fireRemoteDevicesInfo(const QVector< QSharedPointer< RemoteDeviceListEntry >> &pRemoteDevices)
Definition: moc_RemoteClient.cpp:315
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::RemoteDispatcherClient::fireContextEstablished
void fireContextEstablished(const QString &pIfdName, const QString &pId)
Definition: moc_RemoteDispatcherClient.cpp:140
governikus::RemoteClient::stopDetection
virtual Q_INVOKABLE void stopDetection()=0
RemoteMessage.h
governikus::ReaderManagerPlugIn::fireCardInserted
void fireCardInserted(const QString &pReaderName)
Definition: moc_ReaderManagerPlugIn.cpp:244
governikus::RemoteServiceSettings::updateRemoteInfo
bool updateRemoteInfo(const RemoteInfo &pInfo)
Definition: RemoteServiceSettings.cpp:322
RemoteReaderManagerPlugIn.h
governikus::Reader::fireCardRemoved
void fireCardRemoved(const QString &pReaderName)
Definition: moc_Reader.cpp:187
governikus::ReaderManagerPlugIn::stopScan
virtual void stopScan(const QString &pError=QString())
Definition: ReaderManagerPlugIn.cpp:29
governikus::RemoteReader
Definition: RemoteReader.h:23
governikus::ReaderManagerPlugIn::fireCardRetryCounterChanged
void fireCardRetryCounterChanged(const QString &pReaderName)
Definition: moc_ReaderManagerPlugIn.cpp:258
governikus::ReaderManagerPlugIn::fireCardRemoved
void fireCardRemoved(const QString &pReaderName)
Definition: moc_ReaderManagerPlugIn.cpp:251
IfdStatus.h
governikus::RemoteDispatcher::fireClosed
void fireClosed(GlobalStatus::Code pCloseCode, const QString &pId)
Definition: moc_RemoteDispatcher.cpp:182
ReaderManagerPlugIn.h
governikus::Reader::fireReaderPropertiesUpdated
void fireReaderPropertiesUpdated(const QString &pReaderName)
Definition: moc_Reader.cpp:201
Reader.h
governikus::RemoteClient::fireNewRemoteDispatcher
void fireNewRemoteDispatcher(const QSharedPointer< RemoteDispatcherClient > &pRemoteDispatcher)
Definition: moc_RemoteClient.cpp:308
governikus::ReaderManagerPlugIn
Definition: ReaderManagerPlugIn.h:23
RemoteReader.h
governikus::RemoteServiceSettings::getRemoteInfo
RemoteInfo getRemoteInfo(const QSslCertificate &pCertificate) const
Definition: RemoteServiceSettings.cpp:242