use connect and disconnect callback for reconnect logic

This commit is contained in:
technyon
2023-01-31 21:02:46 +01:00
parent 3a65e2ad5a
commit df9b971eed
9 changed files with 152 additions and 7 deletions

View File

@@ -241,6 +241,18 @@ bool WifiDevice::mqttConnect()
}
}
bool WifiDevice::mqttDisonnect(bool force)
{
if(_useEncryption)
{
return _mqttClientSecure->disconnect(force);
}
else
{
return _mqttClient->disconnect(force);
}
}
void WifiDevice::mqttSetCredentials(const char *username, const char *password)
{
if(_useEncryption)
@@ -265,6 +277,32 @@ void WifiDevice::mqttOnMessage(espMqttClientTypes::OnMessageCallback callback)
}
}
void WifiDevice::mqttOnConnect(espMqttClientTypes::OnConnectCallback callback)
{
if(_useEncryption)
{
_mqttClientSecure->onConnect(callback);
}
else
{
_mqttClient->onConnect(callback);
}
}
void WifiDevice::mqttOnDisconnect(espMqttClientTypes::OnDisconnectCallback callback)
{
if(_useEncryption)
{
_mqttClientSecure->onDisconnect(callback);
}
else
{
_mqttClient->onDisconnect(callback);
}
}
uint16_t WifiDevice::mqttSubscribe(const char *topic, uint8_t qos)
{
if(_useEncryption)