12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #ifndef __THREADCOMPAREITEMMANAGER_H__
- #define __THREADCOMPAREITEMMANAGER_H__
- #include "spdlog/spdlog.h"
- #include "FromWebAPI.h"
- #include "BaseCalculateThread.h"
- class ThreadCompareItemManager
- {
- public:
- ThreadCompareItemManager();
- ~ThreadCompareItemManager();
- /* 线程函数 */
- void thread_CompareItemManager();
- private:
- /* 更新基础设置信息,如数据库设置,噪音参数等 */
- bool updateBaseSettings();
- /* 处理对比项信息,新获取的和已有的对比 */
- void processCompareItemInfo(QList<CompareItemInfo_t>& createList,
- QList<CompareItemInfo_t>& updateList,
- QList<int>& deleteList);
- /* 处理需要删除的对比项线程 */
- void processDeleteCompareItemThreads(const QList<int>& deleteList);
- /* 更新正在运行的线程信息 */
- void updateRunningThreads(const QList<CompareItemInfo_t>& updateList);
- /* 创建新的线程 */
- bool createNewCompareItemThreads(const QList<CompareItemInfo_t>& createList);
- private:
- std::shared_ptr<spdlog::logger> m_logger = nullptr;
- FromWebAPI m_fromWebAPI; /* WebAPI处理类 */
- QString m_webAPIUrl; /* WebAPI地址 */
- QString m_webAPIID; /* WebAPI ID */
- QString m_appType; /* 应用类型 */
- QList<CompareItemInfo_t> m_listNewItems; /* 对比项列表 */
- QMap<int, BaseCalculateThread*> m_mapThreads; /* 对比项线程列表,key是对比项ID,value是对应的线程指针 */
- };
- #endif
|