Expose QoS profile in create_service and create_client
This commit is contained in:
		
							parent
							
								
									24f9df6102
								
							
						
					
					
						commit
						2b8d38d012
					
				
					 2 changed files with 6 additions and 2 deletions
				
			
		| 
						 | 
					@ -200,6 +200,7 @@ public:
 | 
				
			||||||
  typename rclcpp::client::Client<ServiceT>::SharedPtr
 | 
					  typename rclcpp::client::Client<ServiceT>::SharedPtr
 | 
				
			||||||
  create_client(
 | 
					  create_client(
 | 
				
			||||||
    const std::string & service_name,
 | 
					    const std::string & service_name,
 | 
				
			||||||
 | 
					    const rmw_qos_profile_t & qos_profile = rmw_qos_profile_services_default,
 | 
				
			||||||
    rclcpp::callback_group::CallbackGroup::SharedPtr group = nullptr);
 | 
					    rclcpp::callback_group::CallbackGroup::SharedPtr group = nullptr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* Create and return a Service. */
 | 
					  /* Create and return a Service. */
 | 
				
			||||||
| 
						 | 
					@ -208,6 +209,7 @@ public:
 | 
				
			||||||
  create_service(
 | 
					  create_service(
 | 
				
			||||||
    const std::string & service_name,
 | 
					    const std::string & service_name,
 | 
				
			||||||
    CallbackT && callback,
 | 
					    CallbackT && callback,
 | 
				
			||||||
 | 
					    const rmw_qos_profile_t & qos_profile = rmw_qos_profile_services_default,
 | 
				
			||||||
    rclcpp::callback_group::CallbackGroup::SharedPtr group = nullptr);
 | 
					    rclcpp::callback_group::CallbackGroup::SharedPtr group = nullptr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RCLCPP_PUBLIC
 | 
					  RCLCPP_PUBLIC
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -274,6 +274,7 @@ template<typename ServiceT>
 | 
				
			||||||
typename client::Client<ServiceT>::SharedPtr
 | 
					typename client::Client<ServiceT>::SharedPtr
 | 
				
			||||||
Node::create_client(
 | 
					Node::create_client(
 | 
				
			||||||
  const std::string & service_name,
 | 
					  const std::string & service_name,
 | 
				
			||||||
 | 
					  const rmw_qos_profile_t & qos_profile,
 | 
				
			||||||
  rclcpp::callback_group::CallbackGroup::SharedPtr group)
 | 
					  rclcpp::callback_group::CallbackGroup::SharedPtr group)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  using rosidl_generator_cpp::get_service_type_support_handle;
 | 
					  using rosidl_generator_cpp::get_service_type_support_handle;
 | 
				
			||||||
| 
						 | 
					@ -281,7 +282,7 @@ Node::create_client(
 | 
				
			||||||
    get_service_type_support_handle<ServiceT>();
 | 
					    get_service_type_support_handle<ServiceT>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  rmw_client_t * client_handle = rmw_create_client(
 | 
					  rmw_client_t * client_handle = rmw_create_client(
 | 
				
			||||||
    this->node_handle_.get(), service_type_support_handle, service_name.c_str());
 | 
					    this->node_handle_.get(), service_type_support_handle, service_name.c_str(), qos_profile);
 | 
				
			||||||
  if (!client_handle) {
 | 
					  if (!client_handle) {
 | 
				
			||||||
    // *INDENT-OFF* (prevent uncrustify from making unecessary indents here)
 | 
					    // *INDENT-OFF* (prevent uncrustify from making unecessary indents here)
 | 
				
			||||||
    throw std::runtime_error(
 | 
					    throw std::runtime_error(
 | 
				
			||||||
| 
						 | 
					@ -318,6 +319,7 @@ typename rclcpp::service::Service<ServiceT>::SharedPtr
 | 
				
			||||||
Node::create_service(
 | 
					Node::create_service(
 | 
				
			||||||
  const std::string & service_name,
 | 
					  const std::string & service_name,
 | 
				
			||||||
  CallbackT && callback,
 | 
					  CallbackT && callback,
 | 
				
			||||||
 | 
					  const rmw_qos_profile_t & qos_profile,
 | 
				
			||||||
  rclcpp::callback_group::CallbackGroup::SharedPtr group)
 | 
					  rclcpp::callback_group::CallbackGroup::SharedPtr group)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  using rosidl_generator_cpp::get_service_type_support_handle;
 | 
					  using rosidl_generator_cpp::get_service_type_support_handle;
 | 
				
			||||||
| 
						 | 
					@ -328,7 +330,7 @@ Node::create_service(
 | 
				
			||||||
  any_service_callback.set(std::forward<CallbackT>(callback));
 | 
					  any_service_callback.set(std::forward<CallbackT>(callback));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  rmw_service_t * service_handle = rmw_create_service(
 | 
					  rmw_service_t * service_handle = rmw_create_service(
 | 
				
			||||||
    node_handle_.get(), service_type_support_handle, service_name.c_str());
 | 
					    node_handle_.get(), service_type_support_handle, service_name.c_str(), qos_profile);
 | 
				
			||||||
  if (!service_handle) {
 | 
					  if (!service_handle) {
 | 
				
			||||||
    // *INDENT-OFF* (prevent uncrustify from making unecessary indents here)
 | 
					    // *INDENT-OFF* (prevent uncrustify from making unecessary indents here)
 | 
				
			||||||
    throw std::runtime_error(
 | 
					    throw std::runtime_error(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue