15 #include "rclcpp/qos_overriding_options.hpp"
17 #include <initializer_list>
24 #include "rmw/qos_policy_kind.h"
25 #include "rmw/qos_string_conversions.h"
31 qos_policy_kind_to_cstr(
const QosPolicyKind & qpk)
33 const char * ret = rmw_qos_policy_kind_to_str(
static_cast<rmw_qos_policy_kind_t
>(qpk));
35 throw std::invalid_argument{
"unknown QoS policy kind"};
41 operator<<(std::ostream & oss,
const QosPolicyKind & qpk)
43 return oss << qos_policy_kind_to_cstr(qpk);
46 static std::initializer_list<QosPolicyKind> kDefaultPolicies =
47 {QosPolicyKind::History, QosPolicyKind::Depth, QosPolicyKind::Reliability};
50 std::initializer_list<QosPolicyKind> policy_kinds,
51 QosCallback validation_callback,
54 policy_kinds_{policy_kinds},
55 validation_callback_{std::move(validation_callback)}
60 QosCallback validation_callback,
67 QosOverridingOptions::get_id()
const
72 const std::vector<QosPolicyKind> &
73 QosOverridingOptions::get_policy_kinds()
const
79 QosOverridingOptions::get_validation_callback()
const
81 return validation_callback_;
Options that are passed in subscription/publisher constructor to specify QoSConfigurability.
RCLCPP_PUBLIC QosOverridingOptions()=default
Default constructor, no overrides allowed.
static RCLCPP_PUBLIC QosOverridingOptions with_default_policies(QosCallback validation_callback=nullptr, std::string id={})
Construct passing a list of QoS policies and a verification callback.
Versions of rosidl_typesupport_cpp::get_message_type_support_handle that handle adapted types.
RCLCPP_PUBLIC std::ostream & operator<<(std::ostream &os, const FutureReturnCode &future_return_code)
Stream operator for FutureReturnCode.