mine_business.h 980 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef __MINE__BUSINESS__HPP__
  2. #define __MINE__BUSINESS__HPP__
  3. #include <atomic>
  4. #include <ctime>
  5. #include <memory>
  6. #include "point.h"
  7. class staffer_num_business;
  8. class reverse_alarm_business;
  9. class rear_end_collision_prevented_business;
  10. class card_location_base;
  11. struct mine_business
  12. {
  13. static mine_business *inst();
  14. void run_business();
  15. //人员数量曲线功能
  16. void fetch_add();
  17. //天线反向功能
  18. void load();
  19. void make_reverse_condition(uint64_t type,uint32_t id,int32_t antid,uint32_t ct,uint64_t tof,uint32_t sid);
  20. //车辆防追尾告警
  21. void put(const std::shared_ptr<card_location_base>&);
  22. void make_arg(uint64_t cid,const point &p,uint64_t t);
  23. private:
  24. mine_business();
  25. void handle_reverse_alarm();
  26. void record_staffer_num();
  27. void handle_rear_end();
  28. std::unique_ptr<staffer_num_business> m_staffer_num_ptr;
  29. std::unique_ptr<reverse_alarm_business> m_reverse_alarm_ptr;
  30. std::unique_ptr<rear_end_collision_prevented_business> m_rear_ended_ptr;
  31. };
  32. #endif