MineCardManager.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*
  2. ** 井中卡的数据:人员下井 ,人员升进,车下井升井数据
  3. ** 对应的操作,井下人员超时,井下超员等
  4. */
  5. #ifndef __MINECARDMANAGER_H
  6. #define __MINECARDMANAGER_H
  7. #include "minestruct.h"
  8. #include "card.h"
  9. #include "module_service/module_singleton_base.h"
  10. //井下警告类型数量
  11. #define MAX_MINE_EVENT_NUM 3
  12. class CMineCardManager : public singleton_base<CMineCardManager>
  13. {
  14. private:
  15. friend class singleton_base<CMineCardManager>;
  16. CMineCardManager();
  17. private:
  18. std::shared_ptr<mine_card_info> m_minecards;
  19. private:
  20. /**
  21. * @brief 判断是否已存在
  22. **/
  23. bool Exist(SET_CARDID &list,uint64_t id);
  24. bool Exist(SET_CARDID &list,int card_id,int card_type);
  25. public:
  26. //TODO: 获取信息
  27. std::shared_ptr<mine_card_info> GetMineCards() ;
  28. /**
  29. * @brief 人员下井,超员警告
  30. * @param card 卡
  31. * @param bInit 是否初始化(程序启动加载井下人员)
  32. **/
  33. void OnPersonDown(std::shared_ptr<card> card,bool bInit = false);
  34. /**
  35. * @brief 人员升井,取消超员警告
  36. * @param card 卡
  37. **/
  38. void OnPersonUp(std::shared_ptr<card> card);
  39. /**
  40. * @brief 人员超员警告
  41. **/
  42. void OnPersonOvercrowdingWarning();
  43. /**
  44. * @brief 人员井下超时
  45. **/
  46. void OnPersonInMineOverTime(int card_id,int card_type);
  47. public:
  48. /**
  49. * @brief 车下井 ,车辆超员警告
  50. * @param card 卡
  51. * @param bInit 是否初始化(程序启动加载井下车辆)
  52. **/
  53. void OnVehicleDown(std::shared_ptr<card> card,bool bInit = false);
  54. /**
  55. * @brief 车升井,车辆超员警告取消
  56. * @param card 卡
  57. **/
  58. void OnVehicleUp(std::shared_ptr<card> card);
  59. /**
  60. * @brief 车辆超员警告
  61. **/
  62. void OnVehicleOvercrowdingWarning();
  63. };
  64. #endif //__MINECARDMANAGER_H