task_command_manager.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "task_command_manager.h"
  2. //对外的接口函数,所有的任务发送方,都必须使用该函数。
  3. //execute_task在内部解析了Task_Base里面的Task_type,然后转发给具体某个模块的实例对象。
  4. //input:p_task_base 任务单,基类的指针,指向子类的实例,(多态)
  5. Error_manager Task_command_manager::execute_task(Task_Base* p_task_base)
  6. {
  7. Error_manager t_error;
  8. void * tp_tast_receiver = p_task_base->get_tast_receiver();
  9. switch ( p_task_base->get_task_type() )
  10. {
  11. case Task_Base::Task_type::UNKNOW_TASK:
  12. t_error.error_manager_reset(Error_code::TASK_TYPE_IS_UNKNOW, Error_level::MINOR_ERROR,
  13. " p_task_base->get_task_type() is UNKNOW_TASK ");
  14. break;
  15. case Task_Base::Task_type::LASER_MANGER_SCAN_TASK:
  16. break;
  17. case Task_Base::Task_type::LASER_BASE_SCAN_TASK:
  18. break;
  19. case Task_Base::Task_type::LOCATE_MANGER_TASK:
  20. break;
  21. case Task_Base::Task_type::PLC_TASK:
  22. break;
  23. case Task_Base::Task_type::WANJI_MANAGER_TASK:
  24. break;
  25. default:
  26. t_error.error_manager_reset(Error_code::TASK_TYPE_IS_UNKNOW, Error_level::MINOR_ERROR,
  27. " p_task_base->get_task_type() is UNKNOW_TASK ");
  28. break;
  29. }
  30. return t_error;
  31. }