#pragma once

#include "angles/angles.h"
#include "behaviortree_ros2/bt_service_node.hpp"
#include "std_srvs/srv/empty.hpp"
#include "tf2/utils.hpp"
#include "tf2_geometry_msgs/tf2_geometry_msgs.hpp"
#include "toid_bt/plugin.hpp"

namespace toid
{

class EmptySrvNode : public BT::RosServiceNode<std_srvs::srv::Empty>
{
public:
  EmptySrvNode(
    const std::string & name, const BT::NodeConfig & conf, const BT::RosNodeParams & params)
  : BT::RosServiceNode<std_srvs::srv::Empty>(name, conf, params)
  {
  }

  bool setRequest(typename Request::SharedPtr &) override { return true; }

  BT::NodeStatus onResponseReceived(const typename Response::SharedPtr &) override
  {
    return BT::NodeStatus::SUCCESS;
  }
};

}  // namespace toid