use connect and disconnect callback for reconnect logic
This commit is contained in:
@@ -35,8 +35,12 @@ public:
|
||||
virtual bool mqttConnected() const = 0;
|
||||
virtual void mqttSetServer(const char* host, uint16_t port) = 0;
|
||||
virtual bool mqttConnect() = 0;
|
||||
virtual bool mqttDisonnect(bool force) = 0;
|
||||
virtual void mqttSetCredentials(const char* username, const char* password) = 0;
|
||||
virtual void mqttOnMessage(espMqttClientTypes::OnMessageCallback callback) = 0;
|
||||
virtual void mqttOnConnect(espMqttClientTypes::OnConnectCallback callback) = 0;
|
||||
virtual void mqttOnDisconnect(espMqttClientTypes::OnDisconnectCallback callback) = 0;
|
||||
|
||||
virtual uint16_t mqttSubscribe(const char* topic, uint8_t qos) = 0;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -217,6 +217,11 @@ bool W5500Device::mqttConnect()
|
||||
return _mqttClient.connect();
|
||||
}
|
||||
|
||||
bool W5500Device::mqttDisonnect(bool force)
|
||||
{
|
||||
return _mqttClient.disconnect(force);
|
||||
}
|
||||
|
||||
void W5500Device::mqttSetCredentials(const char *username, const char *password)
|
||||
{
|
||||
_mqttClient.setCredentials(username, password);
|
||||
@@ -227,6 +232,16 @@ void W5500Device::mqttOnMessage(espMqttClientTypes::OnMessageCallback callback)
|
||||
_mqttClient.onMessage(callback);
|
||||
}
|
||||
|
||||
void W5500Device::mqttOnConnect(espMqttClientTypes::OnConnectCallback callback)
|
||||
{
|
||||
_mqttClient.onConnect(callback);
|
||||
}
|
||||
|
||||
void W5500Device::mqttOnDisconnect(espMqttClientTypes::OnDisconnectCallback callback)
|
||||
{
|
||||
_mqttClient.onDisconnect(callback);
|
||||
}
|
||||
|
||||
uint16_t W5500Device::mqttSubscribe(const char *topic, uint8_t qos)
|
||||
{
|
||||
return _mqttClient.subscribe(topic, qos);
|
||||
|
||||
@@ -39,10 +39,16 @@ public:
|
||||
|
||||
bool mqttConnect() override;
|
||||
|
||||
bool mqttDisonnect(bool force) override;
|
||||
|
||||
void mqttSetCredentials(const char *username, const char *password) override;
|
||||
|
||||
void mqttOnMessage(espMqttClientTypes::OnMessageCallback callback) override;
|
||||
|
||||
void mqttOnConnect(espMqttClientTypes::OnConnectCallback callback) override;
|
||||
|
||||
void mqttOnDisconnect(espMqttClientTypes::OnDisconnectCallback callback) override;
|
||||
|
||||
uint16_t mqttSubscribe(const char *topic, uint8_t qos) override;
|
||||
|
||||
private:
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -38,10 +38,16 @@ public:
|
||||
|
||||
bool mqttConnect() override;
|
||||
|
||||
bool mqttDisonnect(bool force) override;
|
||||
|
||||
void mqttSetCredentials(const char *username, const char *password) override;
|
||||
|
||||
void mqttOnMessage(espMqttClientTypes::OnMessageCallback callback) override;
|
||||
|
||||
void mqttOnConnect(espMqttClientTypes::OnConnectCallback callback) override;
|
||||
|
||||
void mqttOnDisconnect(espMqttClientTypes::OnDisconnectCallback callback) override;
|
||||
|
||||
uint16_t mqttSubscribe(const char *topic, uint8_t qos) override;
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user