From 7c095fe3b2d2fbdf7bdd4dfc073dcaf8a3968ba3 Mon Sep 17 00:00:00 2001 From: cxh Date: Mon, 8 Sep 2025 15:09:33 +0800 Subject: [PATCH] first commit --- include/mqtt_client.hpp | 3 ++- include/mqtt_client_wrapper.hpp | 11 ++++++++--- src/mqtt_client_wrapper.cpp | 10 ++++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/include/mqtt_client.hpp b/include/mqtt_client.hpp index eeeef0f..df5eeff 100644 --- a/include/mqtt_client.hpp +++ b/include/mqtt_client.hpp @@ -1,3 +1,4 @@ +// mqtt_client.hpp #pragma once #include @@ -6,7 +7,7 @@ #include #include #include -#include "mqtt_config.hpp" +#include "app_config.hpp" class MQTTClient : public virtual mqtt::callback { diff --git a/include/mqtt_client_wrapper.hpp b/include/mqtt_client_wrapper.hpp index c24a043..a58cf63 100644 --- a/include/mqtt_client_wrapper.hpp +++ b/include/mqtt_client_wrapper.hpp @@ -1,12 +1,17 @@ +// mqtt_client_wrapper.hppa #pragma once -#include "mqtt_config.hpp" +#include "app_config.hpp" #include "logger.hpp" #include "mqtt_client.hpp" +#include +#include -// 启动 MQTT 客户端(内部自动连接、订阅、发布等) +// 启动 MQTT 客户端线程(内部自动重连、订阅等) void mqtt_client_thread_func(); // 外部可访问的 MQTT 客户端指针 extern std::shared_ptr mqtt_client; -extern std::atomic mqtt_restart_required; \ No newline at end of file + +// 请求 MQTT 客户端重启 +extern std::atomic mqtt_restart_required; diff --git a/src/mqtt_client_wrapper.cpp b/src/mqtt_client_wrapper.cpp index 9640d90..1c76914 100644 --- a/src/mqtt_client_wrapper.cpp +++ b/src/mqtt_client_wrapper.cpp @@ -1,3 +1,4 @@ +// mqtt_client_wrapper.cpp #include "mqtt_client_wrapper.hpp" std::shared_ptr mqtt_client; @@ -9,7 +10,11 @@ static uint16_t broadcast_sequence = 0; static void on_mqtt_connected() { LOG_INFO("[MQTT] Connected to broker."); - mqtt_client->subscribe(g_mqtt_config.topics.downlink); + + const auto &topics = g_app_config.mqtt.topics; + mqtt_client->subscribe(topics.video_down); + mqtt_client->subscribe(topics.substream_down); + mqtt_client->subscribe(topics.reset_down); } static void on_mqtt_disconnected() @@ -34,7 +39,8 @@ void mqtt_client_thread_func() { while (true) { - const auto &cfg = g_mqtt_config; + const auto &cfg = g_app_config; + mqtt_client = std::make_unique(cfg); mqtt_client->setConnectCallback(on_mqtt_connected); mqtt_client->setDisconnectCallback(on_mqtt_disconnected);