#pragma once #include #include class MqttClient { public: MqttClient(const std::string &configPath); ~MqttClient(); bool start(); // 连接并订阅 void disconnect(); // 断开连接 private: std::string broker; std::string clientId; std::string username; std::string password; std::string topic; int qos; class Callback : public virtual mqtt::callback { public: void message_arrived(mqtt::const_message_ptr msg) override; }; mqtt::async_client *client = nullptr; mqtt::connect_options connOpts; Callback callback; };