1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #ifndef ACASERVER_H
- #define ACASERVER_H
- /**
- * @file ACAServer.h
- * @author your name (you@domain.com)
- * @brief
- * @version 0.1
- * @date 2025-07-16
- *
- * @copyright Copyright (c) 2025
- *
- */
- /**
- 说明:
- 1、这个类初始化全局信息,读取配置文件,连接MQTT服务器,订阅主题等
- 2、从这里开启对比项服务
- 3、这里获取初始的检测参数
- 4、检测参数可以被动态库配置的从GInfo转移到了SysConfig中
- */
- #include <QObject>
- #include "FromMQTT.h"
- #include "FromWebAPI.h"
- #include "spdlog/spdlog.h"
- #include "ThreadCompareItemManager.h"
- class RTPServer;
- class ACAServer : public QObject
- {
- Q_OBJECT
- public:
- ACAServer();
- ~ACAServer();
- /* 初始化基础信息 */
- bool initGlobalInfo();
- /* 开启服务 */
- bool startService();
-
- private:
- /* 读取配置文件 */
- bool readConfigFile();
- /* 等待webapi回复信息 */
- bool waitForWebAPIReply();
- private:
- /* 线程函数,定时删除录音线程的实例 */
- void thread_deleteRecordThread();
- /* 线程函数,开启RTP监听服务,一个壳 */
- void thread_RTPServer();
- private slots:
- /* 处理MQTT消息 */
- void do_receiveMQTTMessage(const QMQTT::Message& message);
- private:
- std::shared_ptr<spdlog::logger> m_logger = nullptr;
- FromMQTT m_fromMQTT;
- std::atomic_bool m_isRunning = false; /* 线程运行标志位 */
- 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; /* 对比项管理线程 */
- /* --------------------------------- RTP服务 --------------------------------- */
- RTPServer* m_rtpServer = nullptr; /* RTP服务对象 */
- };
- #endif /* ACASERVER_H */
|