AusweisApp2
Lade ...
Suche ...
Keine Treffer
RemoteClientImpl.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
9#include "RemoteClient.h"
10
11#include "DatagramHandler.h"
12#include "Env.h"
13#include "RemoteConnector.h"
14#include "RemoteDeviceList.h"
15
16#include <QObject>
17#include <QPointer>
18#include <QThread>
19#include <QTimer>
20
21class test_RemoteClient;
22
23namespace governikus
24{
25
27 : public RemoteClient
28{
29 Q_OBJECT
30
31 private:
32 friend ::test_RemoteClient;
34
35 QSharedPointer<DatagramHandler> mDatagramHandler;
36 QScopedPointer<RemoteDeviceList> mRemoteDeviceList;
37 QMap<QString, int> mErrorCounter;
38
39 QThread mRemoteConnectorThread;
40 QPointer<RemoteConnector> mRemoteConnector;
41 QVector<QSharedPointer<RemoteDeviceListEntry>> mRemoteConnectorPending;
42 QStringList mConnectedDeviceIds;
43
45 ~RemoteClientImpl() override;
46
47 void bootstrapRemoteConnectorThread();
48 void shutdownRemoteConnectorThread();
49 QSharedPointer<RemoteDeviceListEntry> mapToAndTakeRemoteConnectorPending(const RemoteDeviceDescriptor& pRemoteDeviceDescriptor);
50
51 private Q_SLOTS:
52 void onNewMessage(const QByteArray& pData, const QHostAddress& pAddress);
53 void onRemoteDispatcherCreated(const RemoteDeviceDescriptor& pRemoteDeviceDescriptor, const QSharedPointer<RemoteDispatcherClient>& pDispatcher);
54 void onRemoteDispatcherError(const RemoteDeviceDescriptor& pRemoteDeviceDescriptor, RemoteErrorCode pErrorCode);
55 void onDispatcherDestroyed(GlobalStatus::Code pCloseCode, const QString& pId);
56
57 public:
58 Q_INVOKABLE void startDetection() override;
59 Q_INVOKABLE void stopDetection() override;
60 Q_INVOKABLE bool isDetecting() override;
61
62 Q_INVOKABLE void establishConnection(const QSharedPointer<RemoteDeviceListEntry>& pEntry, const QString& pPsk) override;
63
64 [[nodiscard]] QVector<QSharedPointer<RemoteDeviceListEntry>> getAnnouncingRemoteDevices() const override;
65 Q_INVOKABLE void requestRemoteDevices() override;
66 [[nodiscard]] QStringList getConnectedDeviceIDs() const override;
67 QVector<RemoteServiceSettings::RemoteInfo> getConnectedDeviceInfos() override;
68};
69
70
71} // namespace governikus
Code
Definition: GlobalStatus.h:26
Definition: RemoteClientImpl.h:28
Q_INVOKABLE void establishConnection(const QSharedPointer< RemoteDeviceListEntry > &pEntry, const QString &pPsk) override
Definition: RemoteClientImpl.cpp:219
QStringList getConnectedDeviceIDs() const override
Definition: RemoteClientImpl.cpp:256
Q_INVOKABLE void requestRemoteDevices() override
Definition: RemoteClientImpl.cpp:250
QVector< RemoteServiceSettings::RemoteInfo > getConnectedDeviceInfos() override
Definition: RemoteClientImpl.cpp:262
QVector< QSharedPointer< RemoteDeviceListEntry > > getAnnouncingRemoteDevices() const override
Definition: RemoteClientImpl.cpp:244
Q_INVOKABLE void startDetection() override
Definition: RemoteClientImpl.cpp:191
Q_INVOKABLE bool isDetecting() override
Definition: RemoteClientImpl.cpp:213
Q_INVOKABLE void stopDetection() override
Definition: RemoteClientImpl.cpp:205
Definition: RemoteClient.h:25
Definition: RemoteDeviceDescriptor.h:22
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
RemoteClient * createNewObject< RemoteClient * >()
Definition: RemoteClientImpl.cpp:21