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
governikus::RemoteTlsServer::newConnection
void newConnection(QTcpSocket *pSocket)
governikus::RemoteWebSocketServer::getServerPort
virtual quint16 getServerPort() const =0
governikus::RemoteWebSocketServerImpl::~RemoteWebSocketServerImpl
virtual ~RemoteWebSocketServerImpl() override
Definition: RemoteWebSocketServer.cpp:91
governikus::RemoteWebSocketServer::getServerName
virtual QString getServerName() const =0
governikus::RemoteWebSocketServerImpl::isPairingConnection
virtual bool isPairingConnection() const override
Definition: RemoteWebSocketServer.cpp:113
governikus::RemoteWebSocketServerImpl::getCurrentCertificate
virtual QSslCertificate getCurrentCertificate() const override
Definition: RemoteWebSocketServer.cpp:151
AppSettings.h
SecureStorage.h
governikus::RemoteWebSocketServer::getCurrentCertificate
virtual QSslCertificate getCurrentCertificate() const =0
governikus::RemoteWebSocketServerImpl::RemoteWebSocketServerImpl
RemoteWebSocketServerImpl()
Definition: RemoteWebSocketServer.cpp:78
RemoteTlsServer.h
governikus::RemoteWebSocketServerImpl::setPairing
virtual void setPairing(bool pEnable=true) override
Definition: RemoteWebSocketServer.cpp:145
governikus::RemoteWebSocketServerImpl::listen
virtual bool listen(const QString &pServerName) override
Definition: RemoteWebSocketServer.cpp:119
governikus::RemoteTlsServer::firePskChanged
void firePskChanged(const QByteArray &pPsk)
governikus::RemoteWebSocketServer::firePairingCompleted
void firePairingCompleted()
governikus::RemoteWebSocketServer::isPairingConnection
virtual bool isPairingConnection() const =0
governikus::createNewObject< RemoteWebSocketServer * >
RemoteWebSocketServer * createNewObject< RemoteWebSocketServer * >()
Definition: RemoteWebSocketServer.cpp:23
governikus::RemoteWebSocketServer::fireConnectedChanged
void fireConnectedChanged(bool pConnected)
governikus::RemoteWebSocketServerImpl::getMessageHandler
virtual const QSharedPointer< ServerMessageHandler > & getMessageHandler() const override
Definition: RemoteWebSocketServer.cpp:157
governikus::RemoteWebSocketServer::isConnected
virtual bool isConnected() const =0
governikus::RemoteWebSocketServer::getMessageHandler
virtual const QSharedPointer< ServerMessageHandler > & getMessageHandler() const =0
governikus::RemoteWebSocketServerImpl::close
virtual void close() override
Definition: RemoteWebSocketServer.cpp:126
governikus::ServerMessageHandler::fireClosed
void fireClosed()
governikus::RemoteWebSocketServer::listen
virtual bool listen(const QString &pServerName)=0
governikus::RemoteWebSocketServerImpl::getServerPort
virtual quint16 getServerPort() const override
Definition: RemoteWebSocketServer.cpp:139
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::RemoteTlsServer
Definition: RemoteTlsServer.h:21
governikus::RemoteWebSocketServer::fireMessageHandlerAdded
void fireMessageHandlerAdded(QSharedPointer< ServerMessageHandler > pHandler)
governikus::RemoteWebSocketServerImpl
Definition: RemoteWebSocketServer.h:56
governikus::RemoteWebSocketServerImpl::getServerName
virtual QString getServerName() const override
Definition: RemoteWebSocketServer.cpp:133
governikus::RemoteWebSocketServer::firePskChanged
void firePskChanged(const QByteArray &pPsk)
governikus::SecureStorage::TlsSuite::PSK
@ PSK
Env.h
governikus::RemoteWebSocketServerImpl::isListening
virtual bool isListening() const override
Definition: RemoteWebSocketServer.cpp:101
governikus::RemoteWebSocketServerImpl::isConnected
virtual bool isConnected() const override
Definition: RemoteWebSocketServer.cpp:107
governikus::WebSocketChannel
Definition: WebSocketChannel.h:20
governikus::RemoteWebSocketServer::close
virtual void close()=0
governikus::RemoteWebSocketServer::~RemoteWebSocketServer
virtual ~RemoteWebSocketServer()
Definition: RemoteWebSocketServer.cpp:34
governikus::RemoteWebSocketServer::setPairing
virtual void setPairing(bool pEnable=true)=0
governikus::RemoteWebSocketServer
Definition: RemoteWebSocketServer.h:26
governikus::RemoteWebSocketServer::RemoteWebSocketServer
RemoteWebSocketServer()=default
RemoteWebSocketServer.h
WebSocketChannel.h
governikus::RemoteWebSocketServer::isListening
virtual bool isListening() const =0
governikus::RemoteTlsServer::firePairingCompleted
void firePairingCompleted()
ServerMessageHandler.h