void stateHdl()

in ctrl_pkg/src/ctrl_node.cpp [229:249]


        void stateHdl(const std::shared_ptr<rmw_request_id_t> request_header,
                      std::shared_ptr<deepracer_interfaces_pkg::srv::ActiveStateSrv::Request> req,
                      std::shared_ptr<deepracer_interfaces_pkg::srv::ActiveStateSrv::Response> res) {
            (void)request_header; 
            res->error = 1;
            if (activeState_ == stateList_.end()) {
                RCLCPP_ERROR(this->get_logger(), "No active state");
                return;
            }
            activeState_->second->setStateActive(false);

            auto itState = stateList_.find(req->state);

            if (itState != stateList_.end()) {
                activeState_ = itState;
                res->error = 0;
            }
            else {
                RCLCPP_ERROR(this->get_logger(), "Invalid state");
            }
        }