module_call_help.h 1.2 KB

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