AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
RemoteClientImpl.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "RemoteClient.h"
10 
11 #include "DatagramHandler.h"
12 #include "RemoteConnector.h"
13 #include "RemoteDeviceList.h"
14 
15 #include <QObject>
16 #include <QPointer>
17 #include <QThread>
18 #include <QTimer>
19 
20 namespace governikus
21 {
22 
24  : public RemoteClient
25 {
26  Q_OBJECT
27 
28  private:
29  QSharedPointer<DatagramHandler> mDatagramHandler;
30  QScopedPointer<RemoteDeviceList> mRemoteDeviceList;
31  QMap<QString, int> mErrorCounter;
32 
33  QThread mRemoteConnectorThread;
34  QPointer<RemoteConnector> mRemoteConnector;
35  QVector<QSharedPointer<RemoteDeviceListEntry> > mRemoteConnectorPending;
36  QStringList mConnectedDeviceIds;
37 
38  void bootstrapRemoteConnectorThread();
39  void shutdownRemoteConnectorThread();
40  QSharedPointer<RemoteDeviceListEntry> mapToAndTakeRemoteConnectorPending(const RemoteDeviceDescriptor& pRemoteDeviceDescriptor);
41 
42  private Q_SLOTS:
43  void onNewMessage(const QJsonDocument& pData, const QHostAddress& pAddress);
44  void onRemoteDispatcherCreated(const RemoteDeviceDescriptor& pRemoteDeviceDescriptor, const QSharedPointer<RemoteDispatcher>& pAdapter);
45  void onRemoteDispatcherError(const RemoteDeviceDescriptor& pRemoteDeviceDescriptor, RemoteErrorCode pErrorCode);
46  void onDispatcherDestroyed(GlobalStatus::Code pCloseCode, const QSharedPointer<RemoteDispatcher>& pRemoteDispatcher);
47 
48  public:
50  virtual ~RemoteClientImpl() override;
51 
52  Q_INVOKABLE virtual void startDetection() override;
53  Q_INVOKABLE virtual void stopDetection() override;
54  Q_INVOKABLE virtual bool isDetecting() override;
55 
56  Q_INVOKABLE virtual void establishConnection(const QSharedPointer<RemoteDeviceListEntry>& pEntry, const QString& pPsk) override;
57 
58  virtual QVector<QSharedPointer<RemoteDeviceListEntry> > getRemoteDevices() const override;
59  Q_INVOKABLE virtual void requestRemoteDevices() override;
60  virtual QVector<RemoteServiceSettings::RemoteInfo> getConnectedDeviceInfos() override;
61 };
62 
63 
64 } /* namespace governikus */
virtual Q_INVOKABLE bool isDetecting() override
Definition: RemoteClientImpl.cpp:219
Code
Definition: GlobalStatus.h:24
Definition: RemoteDeviceDescriptor.h:23
virtual ~RemoteClientImpl() override
Definition: RemoteClientImpl.cpp:47
virtual Q_INVOKABLE void requestRemoteDevices() override
Definition: RemoteClientImpl.cpp:254
virtual Q_INVOKABLE void stopDetection() override
Definition: RemoteClientImpl.cpp:211
Definition: RemoteClientImpl.h:23
virtual QVector< QSharedPointer< RemoteDeviceListEntry > > getRemoteDevices() const override
Definition: RemoteClientImpl.cpp:248
RemoteClientImpl()
Definition: RemoteClientImpl.cpp:32
virtual Q_INVOKABLE void establishConnection(const QSharedPointer< RemoteDeviceListEntry > &pEntry, const QString &pPsk) override
Definition: RemoteClientImpl.cpp:225
virtual QVector< RemoteServiceSettings::RemoteInfo > getConnectedDeviceInfos() override
Definition: RemoteClientImpl.cpp:260
Definition: RemoteClient.h:22
virtual Q_INVOKABLE void startDetection() override
Definition: RemoteClientImpl.cpp:197