task_command_manager.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // Created by zx on 2019/12/28.
  3. //
  4. #ifndef TASK_COMAND_MANAGER_H
  5. #define TASK_COMAND_MANAGER_H
  6. #include <string>
  7. #include "../error_code/error_code.h"
  8. //任务类型
  9. enum Task_type
  10. {
  11. LASER_TASK=0, //雷达扫描任务
  12. LOCATE_TASK, //测量任务
  13. PLC_TASK, //上传PLC任务
  14. WJ_TASK,
  15. UNKNOW_TASK //未知任务单/初始化
  16. };
  17. //任务状态,如果任务故障,任务状态改为TASK_OVER,然后在m_task_error_manager 补充错误码。
  18. enum Task_statu
  19. {
  20. TASK_CREATED =0, //创建状态,默认值
  21. TASK_SIGNED =1, //已签收
  22. TASK_WORKING =2, //处理中
  23. TASK_OVER =3, //已结束
  24. };
  25. //任务单基类
  26. class Task_Base
  27. {
  28. public:
  29. ~Task_Base();
  30. //初始化任务单,初始任务单类型为 UNKONW_TASK
  31. virtual Error_manager init();
  32. //更新任务单
  33. //task_statu: 任务状态
  34. //statu_information:状态说明
  35. Error_manager update_statu(Task_statu task_statu,std::string statu_information="");
  36. //获取任务类型
  37. Task_type get_task_type();
  38. //获取任务单状态
  39. Task_statu get_statu();
  40. //获取状态说明
  41. std::string get_statu_information();
  42. //获取 错误码
  43. Error_manager& get_task_error_manager();
  44. //设置 错误码
  45. void set_task_error_manager(Error_manager & error_manager);
  46. protected:
  47. Task_Base();
  48. protected:
  49. Task_type m_task_type; //任务类型
  50. Task_statu m_task_statu; //任务状态
  51. std::string m_task_statu_information; //任务状态说明
  52. //错误码,任务故障信息,任务输出
  53. Error_manager m_task_error_manager;
  54. };
  55. #endif //TASK_COMAND_MANAGER_H