ROS 2 rclcpp + rcl - humble  humble
ROS 2 C++ Client Library with ROS Client Library
Public Types | Public Member Functions | List of all members
rclcpp::ParameterEventsFilter Class Reference

Public Types

enum class  EventType { NEW , DELETED , CHANGED }
 
using EventPair = std::pair< EventType, const rcl_interfaces::msg::Parameter * >
 Used for the listed results.
 

Public Member Functions

RCLCPP_PUBLIC ParameterEventsFilter (std::shared_ptr< const rcl_interfaces::msg::ParameterEvent > event, const std::vector< std::string > &names, const std::vector< EventType > &types)
 Construct a filtered view of a parameter event. More...
 
RCLCPP_PUBLIC const std::vector< EventPair > & get_events () const
 Get the result of the filter. More...
 

Detailed Description

Definition at line 34 of file parameter_events_filter.hpp.

Constructor & Destructor Documentation

◆ ParameterEventsFilter()

ParameterEventsFilter::ParameterEventsFilter ( std::shared_ptr< const rcl_interfaces::msg::ParameterEvent >  event,
const std::vector< std::string > &  names,
const std::vector< EventType > &  types 
)

Construct a filtered view of a parameter event.

Parameters
[in]eventThe parameter event message to filter.
[in]namesA list of parameter names of interest.
[in]typesA list of the types of parameter events of iterest. EventType NEW, DELETED, or CHANGED
Exceptions
std::invalid_argumentif event is NULL.

Example Usage:

If you have recieved a parameter event and are only interested in parameters foo and bar being added or changed but don't care about deletion.

event_shared_ptr,
{"foo", "bar"},
{rclcpp::ParameterEventsFilter::EventType::NEW, rclcpp::ParameterEventsFilter::EventType::CHANGED});

Definition at line 25 of file parameter_events_filter.cpp.

Member Function Documentation

◆ get_events()

const std::vector< EventPair > & ParameterEventsFilter::get_events ( ) const

Get the result of the filter.

Returns
A std::vector<EventPair> of all matching parameter changes in this event.

Definition at line 61 of file parameter_events_filter.cpp.


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