FuncBase.h 976 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef FUNCBASE_H
  2. #define FUNCBASE_H
  3. #include <memory>
  4. #include "GlobalVariable.h"
  5. class FromRedis;
  6. class ToEQMDataBase;
  7. struct FuncActionInfo;
  8. /**
  9. * @brief 功能基础类,包含读取Redis数据和写入EQM数据库的功能
  10. *
  11. */
  12. class FuncBase
  13. {
  14. public:
  15. FuncBase();
  16. ~FuncBase();
  17. /* 任务线程 */
  18. virtual void thread_task() = 0;
  19. /* 设置功能信息 */
  20. void setFuncActionInfo(FuncActionInfo* pFuncAct);
  21. void setFuncActionInfo(FuncActionInfo& FuncAct);
  22. /* 获取该实例的功能 */
  23. AppFunction getApp();
  24. /* 获取线程运行状态 */
  25. bool getThreadRunning() const;
  26. protected:
  27. /* 读取Redis的实例 */
  28. std::shared_ptr<FromRedis> m_fromRedis = nullptr;
  29. /* 写入EQM数据库的实例 */
  30. std::shared_ptr<ToEQMDataBase> m_toEQMDataBase = nullptr;
  31. /* 线程信息 */
  32. FuncActionInfo m_funcAct;
  33. std::atomic_bool m_bRunning = false; /* 线程运行状态 */
  34. };
  35. #endif // FUNCBASE_H