Add Reconnection Timer

This commit is contained in:
2020-09-03 09:06:09 +02:00
parent f9547111b5
commit cb45769c20
7 changed files with 68 additions and 20 deletions
+10 -4
View File
@@ -1,4 +1,5 @@
#include "MessageHandler.h"
#include <Logging.h>
#include <sstream>
@@ -18,8 +19,15 @@ MessageHandler::~MessageHandler()
void MessageHandler::HandleMessage(const std::string& message)
{
nlohmann::json data = nlohmann::json::parse(message);
auto updateDataSet = data["updateDataSet"];
if (data.contains("code"))
{
if (data["code"] == 510)
m_signal.emit();
return;
}
auto updateDataSet = data["updateDataSet"];
if (updateDataSet.contains("powerUsage"))
HandlePowerUsageMessage(updateDataSet["powerUsage"]);
if (updateDataSet.contains("gasUsage"))
@@ -30,11 +38,9 @@ void MessageHandler::HandleMessage(const std::string& message)
HandleThermostatInfoMessage(updateDataSet["thermostatInfo"]);
if (updateDataSet.contains("thermostatStates"))
HandleThermostatStatesMessage(updateDataSet["thermostatStates"]);
m_signal.emit(data["timeToLiveSeconds"]);
}
size_t MessageHandler::Connect(TTLCallbackMethod function)
size_t MessageHandler::Connect(ReconnectCallbackMethod function)
{
return m_signal.connect(function);
}