// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include #include class MqttSettingsClass { public: MqttSettingsClass(); void init(); void performReconnect(); bool getConnected(); void publish(String subtopic, String payload); String getPrefix(); private: void WiFiEvent(WiFiEvent_t event); void onMqttDisconnect(AsyncMqttClientDisconnectReason reason); void onMqttConnect(bool sessionPresent); void performConnect(); void performDisconnect(); AsyncMqttClient mqttClient; String clientId; String willTopic; Ticker mqttReconnectTimer; }; extern MqttSettingsClass MqttSettings;