first commit
This commit is contained in:
parent
0d22e2b95f
commit
7c095fe3b2
@ -1,3 +1,4 @@
|
||||
// mqtt_client.hpp
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
@ -6,7 +7,7 @@
|
||||
#include <atomic>
|
||||
#include <mutex>
|
||||
#include <mqtt/async_client.h>
|
||||
#include "mqtt_config.hpp"
|
||||
#include "app_config.hpp"
|
||||
|
||||
class MQTTClient : public virtual mqtt::callback
|
||||
{
|
||||
|
||||
@ -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 <memory>
|
||||
#include <atomic>
|
||||
|
||||
// 启动 MQTT 客户端(内部自动连接、订阅、发布等)
|
||||
// 启动 MQTT 客户端线程(内部自动重连、订阅等)
|
||||
void mqtt_client_thread_func();
|
||||
|
||||
// 外部可访问的 MQTT 客户端指针
|
||||
extern std::shared_ptr<MQTTClient> mqtt_client;
|
||||
extern std::atomic<bool> mqtt_restart_required;
|
||||
|
||||
// 请求 MQTT 客户端重启
|
||||
extern std::atomic<bool> mqtt_restart_required;
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
// mqtt_client_wrapper.cpp
|
||||
#include "mqtt_client_wrapper.hpp"
|
||||
|
||||
std::shared_ptr<MQTTClient> 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<MQTTClient>(cfg);
|
||||
mqtt_client->setConnectCallback(on_mqtt_connected);
|
||||
mqtt_client->setDisconnectCallback(on_mqtt_disconnected);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user