From 55be77389632fd76770f8d986a5c1cdde550646d Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Mon, 26 Sep 2022 14:16:31 +0200 Subject: [PATCH] Add reboot all functionality in espremotemanager --- espremotemanager/espremotemanager.cpp | 14 ++++++++++++++ espremotemanager/espremotemanager.h | 1 + 2 files changed, 15 insertions(+) diff --git a/espremotemanager/espremotemanager.cpp b/espremotemanager/espremotemanager.cpp index 2c04b47..3fbb49e 100644 --- a/espremotemanager/espremotemanager.cpp +++ b/espremotemanager/espremotemanager.cpp @@ -27,6 +27,10 @@ void EspRemoteManager::requestReceived(WebserverClientConnection &client, const { sendRootResponse(client, url, query); } + else if (url.path() == "/rebootAll") + { + sendRebootAllResponse(client, url, query); + } else if (url.path() == "/reboot") { sendRebootResponse(client, url, query); @@ -65,6 +69,7 @@ void EspRemoteManager::sendRootResponse(WebserverClientConnection &client, const "" "" "

ESP Remote Manager

" + "Reboot all" "" "" "" @@ -112,6 +117,15 @@ void EspRemoteManager::sendRootResponse(WebserverClientConnection &client, const qWarning() << "sending response failed"; } +void EspRemoteManager::sendRebootAllResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query) +{ + for (auto client : m_clients) + client->reboot(); + + if (!client.sendFullResponse(200, "Ok", {{"Content-Type", "text/plain"}}, "peer reboot commands sent!")) + qWarning() << "sending response failed"; +} + void EspRemoteManager::sendRebootResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query) { if (!query.hasQueryItem("peer")) diff --git a/espremotemanager/espremotemanager.h b/espremotemanager/espremotemanager.h index 2dac816..8f0dcff 100644 --- a/espremotemanager/espremotemanager.h +++ b/espremotemanager/espremotemanager.h @@ -24,6 +24,7 @@ private slots: private: void sendRootResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query); + void sendRebootAllResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query); void sendRebootResponse(WebserverClientConnection &client, const QUrl &url, const QUrlQuery &query); QWebSocketServer &m_websocketServer;