rclcpp  master
C++ ROS Client Library API
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
rclcpp::service::ServiceBase Class Referenceabstract

#include <service.hpp>

Inheritance diagram for rclcpp::service::ServiceBase:
rclcpp::service::Service< ServiceT > rclcpp::service::Service< rcl_interfaces::srv::DescribeParameters > rclcpp::service::Service< rcl_interfaces::srv::GetParameters > rclcpp::service::Service< rcl_interfaces::srv::GetParameterTypes > rclcpp::service::Service< rcl_interfaces::srv::ListParameters > rclcpp::service::Service< rcl_interfaces::srv::SetParameters > rclcpp::service::Service< rcl_interfaces::srv::SetParametersAtomically >

Public Member Functions

 ServiceBase (std::shared_ptr< rcl_node_t > node_handle, const std::string &service_name)
 
 ServiceBase (std::shared_ptr< rcl_node_t > node_handle)
 
virtual ~ServiceBase ()
 
std::string get_service_name ()
 
const rcl_service_tget_service_handle ()
 
virtual std::shared_ptr< void > create_request ()=0
 
virtual std::shared_ptr< rmw_request_id_tcreate_request_header ()=0
 
virtual void handle_request (std::shared_ptr< rmw_request_id_t > request_header, std::shared_ptr< void > request)=0
 

Protected Member Functions

rcl_node_tget_rcl_node_handle () const
 

Protected Attributes

std::shared_ptr< rcl_node_tnode_handle_
 
rcl_service_tservice_handle_ = nullptr
 
std::string service_name_
 
bool owns_rcl_handle_ = true
 

Constructor & Destructor Documentation

◆ ServiceBase() [1/2]

rclcpp::service::ServiceBase::ServiceBase ( std::shared_ptr< rcl_node_t node_handle,
const std::string &  service_name 
)

◆ ServiceBase() [2/2]

rclcpp::service::ServiceBase::ServiceBase ( std::shared_ptr< rcl_node_t node_handle)
explicit

◆ ~ServiceBase()

virtual rclcpp::service::ServiceBase::~ServiceBase ( )
virtual

Member Function Documentation

◆ get_service_name()

std::string rclcpp::service::ServiceBase::get_service_name ( )

◆ get_service_handle()

const rcl_service_t* rclcpp::service::ServiceBase::get_service_handle ( )

◆ create_request()

virtual std::shared_ptr<void> rclcpp::service::ServiceBase::create_request ( )
pure virtual

◆ create_request_header()

virtual std::shared_ptr<rmw_request_id_t> rclcpp::service::ServiceBase::create_request_header ( )
pure virtual

◆ handle_request()

virtual void rclcpp::service::ServiceBase::handle_request ( std::shared_ptr< rmw_request_id_t request_header,
std::shared_ptr< void >  request 
)
pure virtual

◆ get_rcl_node_handle()

rcl_node_t* rclcpp::service::ServiceBase::get_rcl_node_handle ( ) const
protected

Member Data Documentation

◆ node_handle_

std::shared_ptr<rcl_node_t> rclcpp::service::ServiceBase::node_handle_
protected

◆ service_handle_

rcl_service_t* rclcpp::service::ServiceBase::service_handle_ = nullptr
protected

◆ service_name_

std::string rclcpp::service::ServiceBase::service_name_
protected

◆ owns_rcl_handle_

bool rclcpp::service::ServiceBase::owns_rcl_handle_ = true
protected

The documentation for this class was generated from the following file: