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
virtual bool isListening() const =0
Definition: RemoteWebSocketServer.h:24
virtual quint16 getServerPort() const =0
virtual const QSharedPointer< ServerMessageHandler > & getMessageHandler() const override
Definition: RemoteWebSocketServer.cpp:156
virtual QString getServerName() const override
Definition: RemoteWebSocketServer.cpp:132
virtual QString getServerName() const =0
virtual void setPairing(bool pEnable=true) override
Definition: RemoteWebSocketServer.cpp:144
virtual ~RemoteWebSocketServerImpl() override
Definition: RemoteWebSocketServer.cpp:90
virtual bool isListening() const override
Definition: RemoteWebSocketServer.cpp:100
RemoteWebSocketServerImpl()
Definition: RemoteWebSocketServer.cpp:78
virtual quint16 getServerPort() const override
Definition: RemoteWebSocketServer.cpp:138
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
virtual bool listen(const QString &pServerName) override
Definition: RemoteWebSocketServer.cpp:118
Definition: RemoteWebSocketServer.h:53
virtual QSslCertificate getCurrentCertificate() const =0
void firePskChanged(const QByteArray &pPsk)
void fireMessageHandlerAdded(QSharedPointer< ServerMessageHandler > pHandler)
virtual bool isPairingConnection() const =0
virtual QSslCertificate getCurrentCertificate() const override
Definition: RemoteWebSocketServer.cpp:150
void fireConnectedChanged(bool pConnected)
virtual bool isConnected() const =0
virtual bool isPairingConnection() const override
Definition: RemoteWebSocketServer.cpp:112
virtual const QSharedPointer< ServerMessageHandler > & getMessageHandler() const =0
virtual bool isConnected() const override
Definition: RemoteWebSocketServer.cpp:106
virtual bool listen(const QString &pServerName)=0
virtual void close() override
Definition: RemoteWebSocketServer.cpp:125
virtual ~RemoteWebSocketServer()
Definition: RemoteWebSocketServer.cpp:34
virtual void setPairing(bool pEnable=true)=0