MineCardManager.h 1.7 KB

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