ACAServer.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef ACASERVER_H
  2. #define ACASERVER_H
  3. #include <QObject>
  4. #include "FromMQTT.h"
  5. #include "FromWebAPI.h"
  6. #include "spdlog/spdlog.h"
  7. #include "ThreadCompareItemManager.h"
  8. class ACAServer : public QObject
  9. {
  10. Q_OBJECT
  11. public:
  12. ACAServer();
  13. ~ACAServer();
  14. /* 初始化基础信息 */
  15. bool initGlobalInfo();
  16. /* 开启服务 */
  17. bool startService();
  18. private:
  19. /* 读取配置文件 */
  20. bool readConfigFile();
  21. /* 等待webapi回复信息 */
  22. bool waitForWebAPIReply();
  23. private:
  24. private slots:
  25. /* 处理MQTT消息 */
  26. void do_receiveMQTTMessage(const QMQTT::Message& message);
  27. private:
  28. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  29. FromMQTT m_fromMQTT;
  30. const QString m_webapiTopic = "LH_WEBINFO";
  31. QString m_mqttIP;
  32. int m_mqttPort = 1883; /* MQTT服务器端口 */
  33. FromWebAPI m_fromWebAPI;
  34. QString m_webAPIUrl; /* WebAPI地址 */
  35. QString m_webAPIID; /* WebAPI ID */
  36. const QString m_appType = "ACAWatch"; /* 应用类型 */
  37. std::atomic_bool m_isGetWebInfoSuccess = false; /* 是否获取WebAPI信息成功 */
  38. ThreadCompareItemManager* m_threadCompareItemManager = nullptr; /* 对比项管理线程 */
  39. };
  40. #endif /* ACASERVER_H */