hyperion.ng
SSDPHandler.h
1 #pragma once
2 
3 #include <ssdp/SSDPServer.h>
4 
5 #include <QNetworkConfiguration>
6 
7 // utils
8 #include <utils/settings.h>
9 
10 class WebServer;
11 class QNetworkConfigurationManager;
12 
18 
19 class SSDPHandler : public SSDPServer{
20  Q_OBJECT
21 public:
22  SSDPHandler(WebServer* webserver, const quint16& flatBufPort, QObject * parent = nullptr);
23 
24 public slots:
28  void initServer();
29 
33  void handleWebServerStateChange(const bool newState);
34 
40  void handleSettingsUpdate(const settings::type& type, const QJsonDocument& config);
41 
42 private:
46  const QString getDescAddress();
47 
51  const QString getBaseAddress();
52 
56  const QString buildDesc();
57 
62  const QString getLocalAddress();
63 
64 private slots:
72  void handleMSearchRequest(const QString& target, const QString& mx, const QString address, const quint16 & port);
73 
74  void handleNetworkConfigurationChanged(const QNetworkConfiguration &config);
75 
76 private:
77  WebServer* _webserver;
78  QString _localAddress;
79  QNetworkConfigurationManager* _NCA;
80  quint16 _flatbufPort;
81 };
void handleSettingsUpdate(const settings::type &type, const QJsonDocument &config)
Handle settings update from Hyperion Settingsmanager emit.
Definition: SSDPHandler.cpp:46
Manage SSDP discovery.
Definition: SSDPHandler.h:19
void initServer()
Init SSDP after thread start.
Definition: SSDPHandler.cpp:21
The SSDP Server sends and receives (parses) SSDP requests.
Definition: SSDPServer.h:10
Definition: WebServer.h:18
void handleWebServerStateChange(const bool newState)
get state changes from webserver
Definition: SSDPHandler.cpp:59