// // Created by zx on 2020/7/16. // #include "store_terminal.h" #include "Terminal_communication.h" threadsafe_queue* store_command::p_command_queue=new threadsafe_queue; store_command::store_command(message::Car_info msg) { m_car_info=msg; } store_command::~store_command() { m_exit_cond.set_pass_ever(true); } Error_manager store_command::storing(int terminal_id) { message::Store_command_request_msg request; message::Base_info base_info; base_info.set_msg_type(message::eStore_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); message::Locate_information locate_info; locate_info.set_locate_x(0.9); locate_info.set_locate_y(2.25); locate_info.set_locate_angle(90.0); locate_info.set_locate_wheel_base(2.7); locate_info.set_locate_width(m_car_info.car_width()); locate_info.set_locate_height(m_car_info.car_height()); locate_info.set_locate_correct(true); request.mutable_locate_information()->CopyFrom(locate_info); request.set_terminal_id(terminal_id); //发送停车请求 Error_manager code; message::Store_command_response_msg response; code=Terminal_communication::get_instance_pointer()->store_request(request,response); if(code!=SUCCESS) { LOG(WARNING)<<" request_error: "<get_storing_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)) { //停车完成 p_command_queue->push(m_car_info); return SUCCESS; } } return FAILED; }