AusweisApp2
RemoteWebSocketServer.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "ServerMessageHandler.h"
10 
11 #include "RemoteTlsServer.h"
12 
13 #include <QByteArray>
14 #include <QMetaObject>
15 #include <QSharedPointer>
16 #include <QString>
17 #include <QWebSocket>
18 #include <QWebSocketServer>
19 
20 
21 namespace governikus
22 {
23 
25  : public QObject
26 {
27  Q_OBJECT
28 
29  protected:
30  RemoteWebSocketServer() = default;
31 
32  public:
33  virtual ~RemoteWebSocketServer();
34 
35  [[nodiscard]] virtual bool isListening() const = 0;
36  [[nodiscard]] virtual bool isConnected() const = 0;
37  [[nodiscard]] virtual bool isPairingConnection() const = 0;
38  virtual bool listen(const QString& pServerName) = 0;
39  virtual void close() = 0;
40  [[nodiscard]] virtual QString getServerName() const = 0;
41  [[nodiscard]] virtual quint16 getServerPort() const = 0;
42  virtual void setPairing(bool pEnable = true) = 0;
43  [[nodiscard]] virtual QSslCertificate getCurrentCertificate() const = 0;
44  [[nodiscard]] virtual const QSharedPointer<ServerMessageHandler>& getMessageHandler() const = 0;
45 
46  Q_SIGNALS:
47  void fireConnectedChanged(bool pConnected);
48  void fireMessageHandlerAdded(QSharedPointer<ServerMessageHandler> pHandler);
49  void firePskChanged(const QByteArray& pPsk);
51 };
52 
53 
55  : public RemoteWebSocketServer
56 {
57  Q_OBJECT
58 
59  QScopedPointer<RemoteTlsServer, QScopedPointerDeleteLater> mTlsServer;
60  QWebSocketServer mServer;
61  QSharedPointer<ServerMessageHandler> mServerMessageHandler;
62  bool mPairingConnection;
63 
64  private Q_SLOTS:
65  void onWebsocketConnection();
66  void onConnectionClosed();
67  void onServerError(QWebSocketProtocol::CloseCode pCloseCode) const;
68 
69  public:
71  virtual ~RemoteWebSocketServerImpl() override;
72 
73  [[nodiscard]] virtual bool isListening() const override;
74  [[nodiscard]] virtual bool isConnected() const override;
75  [[nodiscard]] virtual bool isPairingConnection() const override;
76  virtual bool listen(const QString& pServerName) override;
77  virtual void close() override;
78  [[nodiscard]] virtual QString getServerName() const override;
79  [[nodiscard]] virtual quint16 getServerPort() const override;
80  virtual void setPairing(bool pEnable = true) override;
81  [[nodiscard]] virtual QSslCertificate getCurrentCertificate() const override;
82  [[nodiscard]] virtual const QSharedPointer<ServerMessageHandler>& getMessageHandler() const override;
83 };
84 
85 } // namespace governikus
Definition: RemoteWebSocketServer.h:56
RemoteWebSocketServerImpl()
Definition: RemoteWebSocketServer.cpp:78
virtual QString getServerName() const override
Definition: RemoteWebSocketServer.cpp:133
virtual void close() override
Definition: RemoteWebSocketServer.cpp:126
virtual quint16 getServerPort() const override
Definition: RemoteWebSocketServer.cpp:139
virtual ~RemoteWebSocketServerImpl() override
Definition: RemoteWebSocketServer.cpp:91
virtual bool isPairingConnection() const override
Definition: RemoteWebSocketServer.cpp:113
virtual bool isListening() const override
Definition: RemoteWebSocketServer.cpp:101
virtual QSslCertificate getCurrentCertificate() const override
Definition: RemoteWebSocketServer.cpp:151
virtual bool listen(const QString &pServerName) override
Definition: RemoteWebSocketServer.cpp:119
virtual bool isConnected() const override
Definition: RemoteWebSocketServer.cpp:107
virtual const QSharedPointer< ServerMessageHandler > & getMessageHandler() const override
Definition: RemoteWebSocketServer.cpp:157
virtual void setPairing(bool pEnable=true) override
Definition: RemoteWebSocketServer.cpp:145
Definition: RemoteWebSocketServer.h:26
void fireMessageHandlerAdded(QSharedPointer< ServerMessageHandler > pHandler)
virtual bool isListening() const =0
virtual bool listen(const QString &pServerName)=0
virtual void setPairing(bool pEnable=true)=0
virtual quint16 getServerPort() const =0
void fireConnectedChanged(bool pConnected)
virtual bool isConnected() const =0
virtual QString getServerName() const =0
virtual const QSharedPointer< ServerMessageHandler > & getMessageHandler() const =0
virtual ~RemoteWebSocketServer()
Definition: RemoteWebSocketServer.cpp:34
virtual QSslCertificate getCurrentCertificate() const =0
virtual bool isPairingConnection() const =0
void firePskChanged(const QByteArray &pPsk)
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15