#ifndef ACASERVER_H #define ACASERVER_H #include #include "FromMQTT.h" #include "FromWebAPI.h" #include "spdlog/spdlog.h" #include "ThreadCompareItemManager.h" class ACAServer : public QObject { Q_OBJECT public: ACAServer(); ~ACAServer(); /* 初始化基础信息 */ bool initGlobalInfo(); /* 开启服务 */ bool startService(); private: /* 读取配置文件 */ bool readConfigFile(); /* 等待webapi回复信息 */ bool waitForWebAPIReply(); private: private slots: /* 处理MQTT消息 */ void do_receiveMQTTMessage(const QMQTT::Message& message); private: std::shared_ptr m_logger = nullptr; FromMQTT m_fromMQTT; const QString m_webapiTopic = "LH_WEBINFO"; QString m_mqttIP; int m_mqttPort = 1883; /* MQTT服务器端口 */ FromWebAPI m_fromWebAPI; QString m_webAPIUrl; /* WebAPI地址 */ QString m_webAPIID; /* WebAPI ID */ const QString m_appType = "ACAWatch"; /* 应用类型 */ std::atomic_bool m_isGetWebInfoSuccess = false; /* 是否获取WebAPI信息成功 */ ThreadCompareItemManager* m_threadCompareItemManager = nullptr; /* 对比项管理线程 */ }; #endif /* ACASERVER_H */