fromMQTT.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef FROMMQTT_H
  2. #define FROMMQTT_H
  3. #include <QObject>
  4. #include <QQueue>
  5. #include "qmqtt.h"
  6. #include "spdlog/spdlog.h"
  7. class FromMQTT : public QObject
  8. {
  9. Q_OBJECT
  10. public:
  11. FromMQTT(QObject* parent = nullptr);
  12. void setHostName(const QString& hostName); /* 设置地址 */
  13. void setSubcribe(const QString& topic,int qos = 0);/* 设置订阅 */
  14. void connectToServer(); /* 连接到服务器 */
  15. void analyzeAllMessage(); /* 解析所有消息 */
  16. private:
  17. void analyzeOneMessage(); /* 解析消息数据 */
  18. private slots:
  19. void do_connected(); /* 连接成功 */
  20. void do_disconnect(); /* 断开连接 */
  21. void do_error(const QMQTT::ClientError error); /* 错误 */
  22. void do_subscribed(const QString& topic, const quint8 qos); /* 订阅成功 */
  23. void do_received(const QMQTT::Message& message);/* 接收到消息 */
  24. private:
  25. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  26. QMQTT::Client m_client; /* MQTT客户端 */
  27. QQueue<QByteArray> m_queueMessage; /* 消息列表 */
  28. };
  29. #endif /* FROMMQTT_H */