expose error handling for state changes (#344)

* remove fprintf, use logging

* expose lifecycle error code

* address comments
This commit is contained in:
Karsten Knese 2017-07-27 07:55:15 -07:00 committed by GitHub
parent 40b09b5b14
commit 0c26dd99b6
5 changed files with 160 additions and 31 deletions

View file

@ -305,12 +305,26 @@ LifecycleNode::trigger_transition(const Transition & transition)
return trigger_transition(transition.id());
}
const State &
LifecycleNode::trigger_transition(
const Transition & transition, rcl_lifecycle_ret_t & cb_return_code)
{
return trigger_transition(transition.id(), cb_return_code);
}
const State &
LifecycleNode::trigger_transition(uint8_t transition_id)
{
return impl_->trigger_transition(transition_id);
}
const State &
LifecycleNode::trigger_transition(
uint8_t transition_id, rcl_lifecycle_ret_t & cb_return_code)
{
return impl_->trigger_transition(transition_id, cb_return_code);
}
const State &
LifecycleNode::configure()
{
@ -318,6 +332,13 @@ LifecycleNode::configure()
lifecycle_msgs::msg::Transition::TRANSITION_CONFIGURE);
}
const State &
LifecycleNode::configure(rcl_lifecycle_ret_t & cb_return_code)
{
return impl_->trigger_transition(
lifecycle_msgs::msg::Transition::TRANSITION_CONFIGURE, cb_return_code);
}
const State &
LifecycleNode::cleanup()
{
@ -325,6 +346,13 @@ LifecycleNode::cleanup()
lifecycle_msgs::msg::Transition::TRANSITION_CLEANUP);
}
const State &
LifecycleNode::cleanup(rcl_lifecycle_ret_t & cb_return_code)
{
return impl_->trigger_transition(
lifecycle_msgs::msg::Transition::TRANSITION_CLEANUP, cb_return_code);
}
const State &
LifecycleNode::activate()
{
@ -332,6 +360,13 @@ LifecycleNode::activate()
lifecycle_msgs::msg::Transition::TRANSITION_ACTIVATE);
}
const State &
LifecycleNode::activate(rcl_lifecycle_ret_t & cb_return_code)
{
return impl_->trigger_transition(
lifecycle_msgs::msg::Transition::TRANSITION_ACTIVATE, cb_return_code);
}
const State &
LifecycleNode::deactivate()
{
@ -339,6 +374,13 @@ LifecycleNode::deactivate()
lifecycle_msgs::msg::Transition::TRANSITION_DEACTIVATE);
}
const State &
LifecycleNode::deactivate(rcl_lifecycle_ret_t & cb_return_code)
{
return impl_->trigger_transition(
lifecycle_msgs::msg::Transition::TRANSITION_DEACTIVATE, cb_return_code);
}
const State &
LifecycleNode::shutdown()
{
@ -346,6 +388,13 @@ LifecycleNode::shutdown()
lifecycle_msgs::msg::Transition::TRANSITION_SHUTDOWN);
}
const State &
LifecycleNode::shutdown(rcl_lifecycle_ret_t & cb_return_code)
{
return impl_->trigger_transition(
lifecycle_msgs::msg::Transition::TRANSITION_SHUTDOWN, cb_return_code);
}
void
LifecycleNode::add_publisher_handle(
std::shared_ptr<rclcpp_lifecycle::LifecyclePublisherInterface> pub)