hyperion.ng
SSDPServer.h
1 #pragma once
2 
3 #include <utils/Logger.h>
4 
5 class QUdpSocket;
6 
10 class SSDPServer : public QObject {
11  Q_OBJECT
12 
13 public:
14  friend class SSDPHandler;
19  SSDPServer(QObject* parent = nullptr);
20  virtual ~SSDPServer();
21 
25  void initServer();
26 
31  bool start();
32 
36  void stop();
37 
44  void sendMSearchResponse(const QString& st, const QString& senderIp, const quint16& senderPort);
45 
50  void sendByeBye(const QString& st);
51 
56  void sendAlive(const QString& st);
57 
62  void sendUpdate(const QString& st);
63 
68  void setDescriptionAddress(const QString& addr) { _descAddress = addr; };
69 
73  void setFlatBufPort(const quint16& port) { _fbsPort = QString::number(port); };
74 
75 signals:
83  void msearchRequestReceived(const QString& target, const QString& mx, const QString address, const quint16 & port);
84 
85 private:
86  Logger* _log;
87  QUdpSocket* _udpSocket;
88 
89  QString _serverHeader;
90  QString _uuid;
91  QString _fbsPort;
92  QString _descAddress;
93  bool _running;
94 
95 private slots:
96  void readPendingDatagrams();
97 
98 };
Definition: Logger.h:32
void sendUpdate(const QString &st)
Send a NOTIFY msg as ssdp:update to notify about changes.
Definition: SSDPServer.cpp:218
void sendByeBye(const QString &st)
Send ByeBye notification (on SSDP stop) (repeated 3 times)
Definition: SSDPServer.cpp:185
Manage SSDP discovery.
Definition: SSDPHandler.h:19
void setFlatBufPort(const quint16 &port)
set new flatbuffer server port
Definition: SSDPServer.h:73
bool start()
Start SSDP.
Definition: SSDPServer.cpp:104
void initServer()
Prepare server after thread start.
Definition: SSDPServer.cpp:88
void sendAlive(const QString &st)
Send a NOTIFY msg on SSDP startup to notify our presence (repeated 3 times)
Definition: SSDPServer.cpp:199
void msearchRequestReceived(const QString &target, const QString &mx, const QString address, const quint16 &port)
Emits whenever a new SSDP search "man : ssdp:discover" is received along with the service type...
SSDPServer(QObject *parent=nullptr)
Construct the server, listen on default ssdp address/port with multicast.
Definition: SSDPServer.cpp:74
The SSDP Server sends and receives (parses) SSDP requests.
Definition: SSDPServer.h:10
void setDescriptionAddress(const QString &addr)
Overwrite description address.
Definition: SSDPServer.h:68
void sendMSearchResponse(const QString &st, const QString &senderIp, const quint16 &senderPort)
Send an answer to mSearch requester.
Definition: SSDPServer.cpp:170
void stop()
Stop SSDP.
Definition: SSDPServer.cpp:115