// // Created by zx on 2020/7/16. // #include "pickup_terminal.h" #include "Terminal_communication.h" pickup_terminal::pickup_terminal(message::Car_info car_info) { m_car_info=car_info; } pickup_terminal::~pickup_terminal() { m_exit_cond.set_pass_ever(true); } Error_manager pickup_terminal::pickup(int terminal_id) { message::Pickup_command_request_msg request; message::Base_info base_info; base_info.set_msg_type(message::ePickup_command_request_msg); base_info.set_sender(message::eTerminor); base_info.set_receiver(message::eMain); request.mutable_base_info()->CopyFrom(base_info); request.mutable_car_info()->CopyFrom(m_car_info); request.mutable_id_struct()->set_terminal_id(terminal_id); //发送停车请求 Error_manager code; message::Pickup_command_response_msg response; code=Terminal_communication::get_instance_pointer()->pickup_request(request,response); if(code!=SUCCESS) { std::cout<<"取车请求失败:"<get_picking_statu(m_car_info.license(), msg); if (code == SUCCESS) { last_signal=true; last_msg=msg; } if(last_signal==true&&(last_msg.completed()==true||last_msg.back_completed()==true)) { //取车完成 return SUCCESS; } } return FAILED; }