AusweisApp2
HttpServer.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "HttpRequest.h"
10 #include "PortFile.h"
11 
12 #include <QMetaMethod>
13 #include <QSharedPointer>
14 #include <QTcpServer>
15 #include <QVector>
16 
17 namespace governikus
18 {
19 
21  : public QObject
22 {
23  Q_OBJECT
24 
25  private:
26  QVector<QSharedPointer<QTcpServer>> mServer;
27  PortFile mPortFile;
28 
29  void shutdown();
30  bool checkReceiver(const QMetaMethod& pSignal, HttpRequest* pRequest);
31 
32  public:
33  static quint16 cPort;
34  static QVector<QHostAddress> cAddresses;
35 
36  explicit HttpServer(quint16 pPort = HttpServer::cPort,
37  const QVector<QHostAddress>& pAddresses = HttpServer::cAddresses);
38  ~HttpServer() override;
39 
40  [[nodiscard]] int boundAddresses() const;
41  [[nodiscard]] bool isListening() const;
42  [[nodiscard]] quint16 getServerPort() const;
43 
44  private Q_SLOTS:
45  void onNewConnection();
46  void onMessageComplete(HttpRequest* pRequest);
47 
48  Q_SIGNALS:
49  void fireNewHttpRequest(const QSharedPointer<HttpRequest>& pRequest);
50  void fireNewWebSocketRequest(const QSharedPointer<HttpRequest>& pRequest);
51 };
52 
53 } // namespace governikus
Definition: HttpRequest.h:30
Definition: HttpServer.h:22
void fireNewWebSocketRequest(const QSharedPointer< HttpRequest > &pRequest)
quint16 getServerPort() const
Definition: HttpServer.cpp:97
int boundAddresses() const
Definition: HttpServer.cpp:83
void fireNewHttpRequest(const QSharedPointer< HttpRequest > &pRequest)
bool isListening() const
Definition: HttpServer.cpp:89
static QVector< QHostAddress > cAddresses
Definition: HttpServer.h:34
~HttpServer() override
Definition: HttpServer.cpp:63
static quint16 cPort
Definition: HttpServer.h:33
HttpServer(quint16 pPort=HttpServer::cPort, const QVector< QHostAddress > &pAddresses=HttpServer::cAddresses)
Definition: HttpServer.cpp:19
Definition: PortFile.h:15
A simple template renderer.
Definition: ActivationContext.h:15