AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
RemoteReaderManagerPlugIn.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "Env.h"
11 #include "Reader.h"
12 #include "ReaderManagerPlugIn.h"
13 
14 #include <QMap>
15 #include <QMultiMap>
16 #include <QSharedPointer>
17 #include <QTimer>
18 
19 namespace governikus
20 {
21 class IfdStatus;
22 class RemoteClient;
23 class ReaderDescription;
24 class RemoteDeviceListEntry;
25 
27  : public ReaderManagerPlugIn
28  , public MessageReceiver
29 {
30  Q_OBJECT
31  Q_PLUGIN_METADATA(IID "governikus.ReaderManagerPlugIn" FILE "metadata.json")
33 
34  private:
35  QTimer mScanTimer;
36  QSharedPointer<RemoteClient> mRemoteClient;
37  QWeakPointer<RemoteDispatcher> mRemoteToUpdate;
38  QMultiMap<QSharedPointer<RemoteDispatcher>, QString> mRemoteDispatchers;
39  QMap<QString, Reader*> mReaderList;
40  bool mConnectionCheckInProgress;
41 
42  void updateReader(const IfdStatus& pIfdStatus);
43  void removeDispatcher(const QSharedPointer<RemoteDispatcher>& pRemoteDispatcher);
44  void removeAllDispatchers();
45  void connectToPairedReaders();
46  void unexpectedMessage(const QSharedPointer<const RemoteMessage>& pMessage, const QSharedPointer<RemoteDispatcher>& pRemoteDispatcher = QSharedPointer<RemoteDispatcher>());
47 
48  private Q_SLOTS:
49  void onRemoteMessage(const QSharedPointer<const RemoteMessage>& pMessage, const QSharedPointer<RemoteDispatcher>& pRemoteDispatcher);
50  void onDispatcherClosed(GlobalStatus::Code pCloseCode, const QSharedPointer<RemoteDispatcher>& pRemoteDispatcher);
51  void addRemoteDispatcher(const QSharedPointer<RemoteDispatcher>& pRemoteDispatcher);
52  void checkRemoteDevices();
53  void continueConnectToPairedReaders(const QVector<QSharedPointer<RemoteDeviceListEntry> >& pRemoteDevices);
54 
55  protected:
56  virtual void onConnectToKnownReadersChanged() override;
57 
58  public:
60  virtual ~RemoteReaderManagerPlugIn() override;
61 
62  virtual void setRemoteClient(const QSharedPointer<RemoteClient>& pRemoteClient) override;
63  virtual QList<Reader*> getReaders() const override;
64 
65  virtual void process(const QSharedPointer<const IfdEstablishContextResponse>& pMessage) override;
66  virtual void process(const QSharedPointer<const IfdStatus>& pMessage) override;
67 
68  virtual void unprocessed(const QSharedPointer<const RemoteMessage>& pMessage) override;
69 
70  virtual void startScan() override;
71  virtual void stopScan() override;
72 
73 };
74 
75 } /* namespace governikus */
Definition: IfdStatus.h:39
virtual void unprocessed(const QSharedPointer< const RemoteMessage > &pMessage) override
Definition: RemoteReaderManagerPlugIn.cpp:307
Code
Definition: GlobalStatus.h:24
Definition: RemoteReaderManagerPlugIn.h:26
RemoteReaderManagerPlugIn()
Definition: RemoteReaderManagerPlugIn.cpp:211
virtual QList< Reader * > getReaders() const override
Definition: RemoteReaderManagerPlugIn.cpp:241
virtual void onConnectToKnownReadersChanged() override
Definition: RemoteReaderManagerPlugIn.cpp:198
virtual ~RemoteReaderManagerPlugIn() override
Definition: RemoteReaderManagerPlugIn.cpp:224
virtual void startScan() override
Definition: RemoteReaderManagerPlugIn.cpp:313
virtual void process(const QSharedPointer< const IfdEstablishContextResponse > &pMessage) override
Definition: RemoteReaderManagerPlugIn.cpp:263
virtual void setRemoteClient(const QSharedPointer< RemoteClient > &pRemoteClient) override
Definition: RemoteReaderManagerPlugIn.cpp:231
Definition: ReaderManagerPlugIn.h:23
Definition: MessageReceiver.h:31
virtual void stopScan() override
Definition: RemoteReaderManagerPlugIn.cpp:329