From de11e11469f7d7815d360bf8e4a8ce3b3c0527be Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Thu, 4 Jul 2019 17:13:01 +0200 Subject: [PATCH] Update ZeroConf names when the server is renamed --- libnymea-core/servermanager.cpp | 12 +++++++++++- libnymea-core/servers/webserver.cpp | 5 +++++ libnymea-core/servers/webserver.h | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/libnymea-core/servermanager.cpp b/libnymea-core/servermanager.cpp index ccc0970b..24f082e2 100644 --- a/libnymea-core/servermanager.cpp +++ b/libnymea-core/servermanager.cpp @@ -299,7 +299,6 @@ void ServerManager::mqttServerConfigurationChanged(const QString &id) if (m_mqttBroker->startServer(config, m_sslConfiguration)) { registerZeroConfService(config, "mqtt", "_mqtt._tcp"); } - } void ServerManager::mqttServerConfigurationRemoved(const QString &id) @@ -370,15 +369,26 @@ void ServerManager::setServerName(const QString &serverName) qCDebug(dcServerManager()) << "Server name changed" << serverName; foreach (WebSocketServer *websocketServer, m_webSocketServers.values()) { + unregisterZeroConfService(websocketServer->configuration().id, "ws"); websocketServer->setServerName(serverName); + registerZeroConfService(websocketServer->configuration(), "ws", "_ws._tcp"); } foreach (WebServer *webServer, m_webServers.values()) { + unregisterZeroConfService(webServer->configuration().id, "http"); webServer->setServerName(serverName); + registerZeroConfService(webServer->configuration(), "http", "_http._tcp"); } foreach (TcpServer *tcpServer, m_tcpServers.values()) { + unregisterZeroConfService(tcpServer->configuration().id, "tcp"); tcpServer->setServerName(serverName); + registerZeroConfService(tcpServer->configuration(), "tcp", "_jsonrpc._tcp"); + } + + foreach (const ServerConfiguration &config, m_mqttBroker->configurations()) { + unregisterZeroConfService(config.id, "mqtt"); + registerZeroConfService(config, "mqtt", "_mqtt._tcp"); } } diff --git a/libnymea-core/servers/webserver.cpp b/libnymea-core/servers/webserver.cpp index 8b987859..eaa8012e 100644 --- a/libnymea-core/servers/webserver.cpp +++ b/libnymea-core/servers/webserver.cpp @@ -602,6 +602,11 @@ bool WebServer::stopServer() return true; } +WebServerConfiguration WebServer::configuration() const +{ + return m_configuration; +} + QByteArray WebServer::createServerXmlDocument(QHostAddress address) { diff --git a/libnymea-core/servers/webserver.h b/libnymea-core/servers/webserver.h index 0a63d27b..6483bdb4 100644 --- a/libnymea-core/servers/webserver.h +++ b/libnymea-core/servers/webserver.h @@ -117,6 +117,7 @@ public slots: void setServerName(const QString &serverName); bool startServer(); bool stopServer(); + WebServerConfiguration configuration() const; };