#ifndef FROMMQTT_H #define FROMMQTT_H #include #include #include "qmqtt.h" #include "spdlog/spdlog.h" class FromMQTT : public QObject { Q_OBJECT public: FromMQTT(QObject* parent = nullptr); void setHostName(const QString& hostName); /* 设置地址 */ void setSubcribe(const QString& topic,int qos = 0);/* 设置订阅 */ void connectToServer(); /* 连接到服务器 */ void analyzeAllMessage(); /* 解析所有消息 */ private: void analyzeOneMessage(); /* 解析消息数据 */ private slots: void do_connected(); /* 连接成功 */ void do_disconnect(); /* 断开连接 */ void do_error(const QMQTT::ClientError error); /* 错误 */ void do_subscribed(const QString& topic, const quint8 qos); /* 订阅成功 */ void do_received(const QMQTT::Message& message);/* 接收到消息 */ private: std::shared_ptr m_logger = nullptr; QMQTT::Client m_client; /* MQTT客户端 */ QQueue m_queueMessage; /* 消息列表 */ }; #endif /* FROMMQTT_H */