| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #ifndef _FROMMQTT_H_
- #define _FROMMQTT_H_
- #include <atomic>
- #include "MQTTBase.h"
- class FromMQTT : public MQTTBase
- {
- Q_OBJECT
- public:
- FromMQTT(QObject* parent = nullptr);
- ~FromMQTT() override;
- /* 初始化MQTT */
- bool initMQTT();
-
- QString m_webAPIUrl;
- QString m_webAPIID;
- signals:
- /* 刷新页面信号 */
- void signal_updatePlan();
- /* Web信息到达信号(用于退出等待) */
- void signal_webInfoReady();
- private:
- /* 读取配置文件 */
- void readConfig();
- /* 等待获取到WebAPI信息(非阻塞UI,收到立即返回)*/
- bool waitForWebInfo(int timeoutMs);
- protected:
- /* 接收到消息,子类继承这个解析消息数据 */
- void recvMessage(const QMQTT::Message& message) override;
- private:
- QString m_mqttIP; /* MQTT服务器IP */
- int m_mqttPort = 1883; /* MQTT服务器端口 */
- int m_timeOut = 20000; /* 超时时间 */
- const QString m_topic_WebAPI = "LH_WEBINFO"; /* 订阅WebAPI信息的主题 */
- const QString m_topic_UpdatePlan = "LH_EQM_ALARM_PERIOD"; /* 订阅更新计划的主题 */
- const QString m_configName = "/Config.ini";
- std::atomic_bool m_isGetWebInfoSuccess{false}; /* 是否获取到WebAPI信息 */
- };
- #endif // _FROMMQTT_H_
|