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  virtual bool isListening() const = 0;
36  virtual bool isConnected() const = 0;
37  virtual bool isPairingConnection() const = 0;
38  virtual bool listen(const QString& pServerName) = 0;
39  virtual void close() = 0;
40  virtual QString getServerName() const = 0;
41  virtual quint16 getServerPort() const = 0;
42  virtual void setPairing(bool pEnable = true) = 0;
43  virtual QSslCertificate getCurrentCertificate() const = 0;
44  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);
50 };
51 
52 
54  : public RemoteWebSocketServer
55 {
56  Q_OBJECT
57 
58  QScopedPointer<RemoteTlsServer, QScopedPointerDeleteLater> mTlsServer;
59  QWebSocketServer mServer;
60  QSharedPointer<ServerMessageHandler> mServerMessageHandler;
61  bool mPairingConnection;
62 
63  private Q_SLOTS:
64  void onWebsocketConnection();
65  void onConnectionClosed();
66  void onServerError(QWebSocketProtocol::CloseCode pCloseCode);
67 
68  public:
70  virtual ~RemoteWebSocketServerImpl() override;
71 
72  virtual bool isListening() const override;
73  virtual bool isConnected() const override;
74  virtual bool isPairingConnection() const override;
75  virtual bool listen(const QString& pServerName) override;
76  virtual void close() override;
77  virtual QString getServerName() const override;
78  virtual quint16 getServerPort() const override;
79  virtual void setPairing(bool pEnable = true) override;
80  virtual QSslCertificate getCurrentCertificate() const override;
81  virtual const QSharedPointer<ServerMessageHandler>& getMessageHandler() const override;
82 };
83 
84 } // 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:90
governikus::RemoteWebSocketServer::getServerName
virtual QString getServerName() const =0
governikus::RemoteWebSocketServerImpl::isPairingConnection
virtual bool isPairingConnection() const override
Definition: RemoteWebSocketServer.cpp:112
governikus::RemoteWebSocketServerImpl::getCurrentCertificate
virtual QSslCertificate getCurrentCertificate() const override
Definition: RemoteWebSocketServer.cpp:150
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:144
governikus::RemoteWebSocketServerImpl::listen
virtual bool listen(const QString &pServerName) override
Definition: RemoteWebSocketServer.cpp:118
governikus::RemoteTlsServer::firePskChanged
void firePskChanged(const QByteArray &pPsk)
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:156
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:125
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:138
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:55
governikus::RemoteWebSocketServerImpl::getServerName
virtual QString getServerName() const override
Definition: RemoteWebSocketServer.cpp:132
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:100
governikus::RemoteWebSocketServerImpl::isConnected
virtual bool isConnected() const override
Definition: RemoteWebSocketServer.cpp:106
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
ServerMessageHandler.h