module_call_help.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * @file
  3. * module_call_help.h
  4. *
  5. * @brief
  6. * 呼救业务模块
  7. *
  8. * @version
  9. * V1.0
  10. *
  11. * @author
  12. * @date
  13. * @note
  14. * @warning
  15. * @bug
  16. * @copyright
  17. *
  18. * */
  19. #ifndef MODULE_CALL_HELP_H
  20. #define MODULE_CALL_HELP_H
  21. #include "module_singleton_base.h"
  22. #include "card.h"
  23. #include "websocket/sio/sio_client.h"
  24. /**
  25. * @brief 呼救类
  26. * 把呼救消息保存到数据库,同时推送给web, 单例
  27. */
  28. class module_call_help : public singleton_base<module_call_help>
  29. {
  30. private:
  31. friend class singleton_base<module_call_help>;
  32. module_call_help()
  33. {
  34. }
  35. public:
  36. /**
  37. * @brief //1.如果已经有呼救告警
  38. //2.web取消告警。status_help && status_help_cancel 置为status_help_dealed
  39. //3.如果底层已经没有呼救则,取消后,不会再次进行呼救。因为status_help已经不会置为status_error。
  40. //4.如果底层还在呼救。这时候不管status_help是何种状态,极大的可能是error.status_help_cancel的存在都会取消。
  41. //并且还要保证等待线程把json传送到前端
  42. */
  43. void rev_from_card_help(std::shared_ptr<card_location_base> card_ptr);
  44. /**
  45. * @brief 接收到web端发来的处理呼救请求
  46. * @param data_map
  47. */
  48. void accept_web_deal_help(sio::message::ptr const& data);
  49. static std::string get_json_help();
  50. };
  51. #endif