From 9204f8a3133c859865aa168ef1ed710c6660a7e9 Mon Sep 17 00:00:00 2001 From: Murat Date: Mon, 7 Sep 2020 21:34:14 +0200 Subject: [PATCH] ENABLE_AVAHI is not included in WebServer --- include/flatbufserver/FlatBufferServer.h | 2 ++ libsrc/flatbufserver/FlatBufferServer.cpp | 35 +++++++++++++++++------ libsrc/jsonserver/JsonServer.cpp | 2 ++ libsrc/webserver/WebServer.cpp | 1 + 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/include/flatbufserver/FlatBufferServer.h b/include/flatbufserver/FlatBufferServer.h index c5390c52..8149e1fb 100644 --- a/include/flatbufserver/FlatBufferServer.h +++ b/include/flatbufserver/FlatBufferServer.h @@ -7,6 +7,7 @@ // qt #include +class BonjourServiceRegister; class QTcpServer; class FlatBufferClient; class NetOrigin; @@ -63,6 +64,7 @@ private: int _timeout; quint16 _port; const QJsonDocument _config; + BonjourServiceRegister * _serviceRegister = nullptr; QVector _openConnections; }; diff --git a/libsrc/flatbufserver/FlatBufferServer.cpp b/libsrc/flatbufserver/FlatBufferServer.cpp index a9661066..d18e8271 100644 --- a/libsrc/flatbufserver/FlatBufferServer.cpp +++ b/libsrc/flatbufserver/FlatBufferServer.cpp @@ -1,10 +1,16 @@ #include #include "FlatBufferClient.h" +#include "HyperionConfig.h" // util #include #include +// bonjour +#ifdef ENABLE_AVAHI +#include +#endif + // qt #include #include @@ -93,14 +99,27 @@ void FlatBufferServer::startServer() { if(!_server->isListening()) { - if(!_server->listen(QHostAddress::Any, _port)) - { - Error(_log,"Failed to bind port %d", _port); - } - else - { - Info(_log,"Started on port %d", _port); - } + if(!_server->listen(QHostAddress::Any, _port)) + { + Error(_log,"Failed to bind port %d", _port); + } + else + { + Info(_log,"Started on port %d", _port); +#ifdef ENABLE_AVAHI + if(_serviceRegister == nullptr) + { + _serviceRegister = new BonjourServiceRegister(this); + _serviceRegister->registerService("_hyperiond-flatbuf._tcp", _port); + } + else if(_serviceRegister->getPort() != _port) + { + delete _serviceRegister; + _serviceRegister = new BonjourServiceRegister(this); + _serviceRegister->registerService("_hyperiond-flatbuf._tcp", _port); + } +#endif + } } } diff --git a/libsrc/jsonserver/JsonServer.cpp b/libsrc/jsonserver/JsonServer.cpp index 2ee9986b..a9237da8 100644 --- a/libsrc/jsonserver/JsonServer.cpp +++ b/libsrc/jsonserver/JsonServer.cpp @@ -2,6 +2,7 @@ #include // project includes +#include "HyperionConfig.h" #include #include "JsonClientConnection.h" @@ -49,6 +50,7 @@ void JsonServer::start() return; } Info(_log, "Started on port %d", _port); + #ifdef ENABLE_AVAHI if(_serviceRegister == nullptr) { diff --git a/libsrc/webserver/WebServer.cpp b/libsrc/webserver/WebServer.cpp index 1470cd07..beeecbea 100644 --- a/libsrc/webserver/WebServer.cpp +++ b/libsrc/webserver/WebServer.cpp @@ -1,4 +1,5 @@ #include "webserver/WebServer.h" +#include "HyperionConfig.h" #include "StaticFileServing.h" #include "QtHttpServer.h"