diff --git a/include/iri_ros_tools/module_action.h b/include/iri_ros_tools/module_action.h index 182f780b2cf3d2ee60730329c3eb50a496c18524..47027a65b1e77c626a898ca02f63f82337b74a78 100644 --- a/include/iri_ros_tools/module_action.h +++ b/include/iri_ros_tools/module_action.h @@ -223,24 +223,32 @@ class CModuleAction { ROS_ERROR_STREAM("CModuleAction::action_done: goal on server " << this->name << " aborted"); this->status=ACTION_ABORTED; + this->action_result_msg=*result; } if(state==actionlib::SimpleClientGoalState::REJECTED) { ROS_ERROR_STREAM("CModuleAction::action_done: goal on server " << this->name << " rejected"); this->status=ACTION_REJECTED; + this->action_result_msg=*result; } else if(state==actionlib::SimpleClientGoalState::PREEMPTED) { ROS_WARN_STREAM("CModuleAction::action_done: goal on server " << this->name << " preempted"); this->status=ACTION_PREEMPTED; + this->action_result_msg=*result; } else if(state==actionlib::SimpleClientGoalState::SUCCEEDED) { ROS_INFO_STREAM("CModuleAction::action_done: goal on server " << this->name << " successfull"); this->status=ACTION_SUCCESS; + this->action_result_msg=*result; + } + else if(state==actionlib::SimpleClientGoalState::LOST) + { + ROS_INFO_STREAM("CModuleAction::action_done: goal on server " << this->name << " lost"); + this->status=ACTION_SUCCESS; } } - this->action_result_msg=*result; this->action_feedback_msg=Feedback(); this->action_timeout.stop(); this->action_access.exit();