AusweisApp2
IfdClient.h
gehe zur Dokumentation dieser Datei
1 
8 #pragma once
9 
10 #include "Env.h"
11 #include "GlobalStatus.h"
12 #include "IfdDispatcherClient.h"
13 #include "IfdList.h"
14 #include "RemoteServiceSettings.h"
15 
16 #include <QObject>
17 #include <QThread>
18 
19 namespace governikus
20 {
21 
22 class IfdClient
23  : public QObject
24  , private Env::ThreadSafe
25 {
26  Q_OBJECT
27 
28  Q_SIGNALS:
29  void fireDeviceAppeared(const QSharedPointer<IfdListEntry>& pEntry);
30  void fireDeviceUpdated(const QSharedPointer<IfdListEntry>& pEntry);
31  void fireDeviceVanished(const QSharedPointer<IfdListEntry>& pEntry);
32  void fireEstablishConnectionDone(const QSharedPointer<IfdListEntry>& pEntry, const GlobalStatus& pStatus);
33 
34  void fireNewDispatcher(const QSharedPointer<IfdDispatcherClient>& pDispatcher);
35  void fireRemoteDevicesInfo(const QVector<QSharedPointer<IfdListEntry>>& pRemoteDevices);
36  void fireDispatcherDestroyed(GlobalStatus::Code pCloseCode, const QString& pId);
38  void fireCertificateRemoved(const QString& pDeviceName);
39 
40  public:
41  IfdClient() = default;
42  ~IfdClient() override = default;
43 
44  Q_INVOKABLE virtual void startDetection() = 0;
45  Q_INVOKABLE virtual void stopDetection() = 0;
46  Q_INVOKABLE virtual bool isDetecting() = 0;
47 
48  Q_INVOKABLE virtual void establishConnection(const QSharedPointer<IfdListEntry>& pEntry, const QString& pPsk) = 0;
49 
50  [[nodiscard]] virtual QVector<QSharedPointer<IfdListEntry>> getAnnouncingRemoteDevices() const;
51  [[nodiscard]] bool hasAnnouncingRemoteDevices() const;
52  Q_INVOKABLE virtual void requestRemoteDevices();
53  [[nodiscard]] virtual QStringList getConnectedDeviceIDs() const;
54  virtual QVector<RemoteServiceSettings::RemoteInfo> getConnectedDeviceInfos() = 0;
55 };
56 
57 
58 } // namespace governikus
Definition: GlobalStatus.h:20
Code
Definition: GlobalStatus.h:26
Definition: IfdClient.h:25
virtual Q_INVOKABLE void startDetection()=0
virtual Q_INVOKABLE void requestRemoteDevices()
Definition: IfdClient.cpp:17
virtual Q_INVOKABLE void stopDetection()=0
bool hasAnnouncingRemoteDevices() const
Definition: IfdClient.cpp:29
virtual Q_INVOKABLE bool isDetecting()=0
void fireRemoteDevicesInfo(const QVector< QSharedPointer< IfdListEntry >> &pRemoteDevices)
void fireDeviceVanished(const QSharedPointer< IfdListEntry > &pEntry)
~IfdClient() override=default
virtual Q_INVOKABLE void establishConnection(const QSharedPointer< IfdListEntry > &pEntry, const QString &pPsk)=0
virtual QVector< QSharedPointer< IfdListEntry > > getAnnouncingRemoteDevices() const
Definition: IfdClient.cpp:11
void fireCertificateRemoved(const QString &pDeviceName)
void fireNewDispatcher(const QSharedPointer< IfdDispatcherClient > &pDispatcher)
virtual QVector< RemoteServiceSettings::RemoteInfo > getConnectedDeviceInfos()=0
void fireDispatcherDestroyed(GlobalStatus::Code pCloseCode, const QString &pId)
void fireEstablishConnectionDone(const QSharedPointer< IfdListEntry > &pEntry, const GlobalStatus &pStatus)
void fireDeviceUpdated(const QSharedPointer< IfdListEntry > &pEntry)
void fireDeviceAppeared(const QSharedPointer< IfdListEntry > &pEntry)
virtual QStringList getConnectedDeviceIDs() const
Definition: IfdClient.cpp:23
A simple template renderer.
Definition: ActivationContext.h:15
Definition: Env.h:49