1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #ifndef FUNCBASE_H
- #define FUNCBASE_H
- #include <memory>
- #include "GlobalVariable.h"
- #include "GlobalFuncThread.h"
- #include "spdlog/spdlog.h"
- class FromRedis;
- class FromWebAPI;
- struct FuncThreadInfo;
- /**
- * @brief 功能基础类,包含读取Redis数据和写入EQM数据库的功能
- *
- */
- class FuncBase
- {
- public:
- FuncBase();
- ~FuncBase();
- /* 任务线程 */
- void thread_task();
- /* 设置功能信息 */
- void setFuncThreadInfo(FuncThreadInfo* pFuncAct);
- void setFuncThreadInfo(FuncThreadInfo& FuncAct);
- /* 获取该实例的功能 */
- AppFunction getApp();
- /* 获取线程运行状态 */
- bool getThreadRunning() const;
- protected:
- /* 真正执行任务的地方 */
- virtual void task() = 0;
- /* 判断是否在检测时间内 */
- bool isInDetectTime(const QDateTime& start, const QDateTime& end);
- protected:
- std::shared_ptr<spdlog::logger> m_logger = nullptr;
- /* 读取Redis的实例 */
- std::shared_ptr<FromRedis> m_fromRedis = nullptr;
- /* 写入EQM数据库的实例 */
- std::shared_ptr<FromWebAPI> m_fromWebAPI = nullptr;
- /* 线程信息 */
- FuncThreadInfo m_funcThreadInfo;
- std::atomic_bool m_bRunning = false; /* 线程运行状态 */
- };
- #endif // FUNCBASE_H
|