// generated from rosidl_adapter/resource/srv.idl.em
// with input from controller_manager_msgs/srv/SetHardwareComponentState.srv
// generated code does not contain a copyright notice

#include "lifecycle_msgs/msg/State.idl"

module controller_manager_msgs {
  module srv {
    @verbatim (language="comment", text=
      "The SetHardwareComponentState service allows to control life-cycle of a single hardware component." "\n"
      "Supported states are defined in the design document of LifecycleNodes available at:" "\n"
      "https://design.ros2.org/articles/node_lifecycle.html" "\n"
      "To control life-cycle of a hardware component, specify its \"name\" and \"target_state\"." "\n"
      "Target state may be defined by \"id\" using a constant from `lifecycle_msgs/msg/State` or a label" "\n"
      "using definitions from `hardware_interface/types/lifecycle_state_names.hpp` file." "\n"
      "The return value \"ok\" indicates if the component has successfully changed its state to \"target_state\"." "\n"
      "The return value \"state\" returns current state of the hardware component.")
    struct SetHardwareComponentState_Request {
      string name;

      lifecycle_msgs::msg::State target_state;
    };
    struct SetHardwareComponentState_Response {
      boolean ok;

      lifecycle_msgs::msg::State state;
    };
  };
};
