Public Member Functions | Private Member Functions | Private Attributes | List of all members
foxglove_bridge::ParameterInterface Class Reference

#include <parameter_interface.hpp>

Public Member Functions

ParameterList getParams (const std::vector< std::string > &paramNames, const std::chrono::duration< double > &timeout)
 
 ParameterInterface (rclcpp::Node *node, std::vector< std::regex > paramWhitelistPatterns)
 
void setParams (const ParameterList &params, const std::chrono::duration< double > &timeout)
 
void setParamUpdateCallback (ParamUpdateFunc paramUpdateFunc)
 
void subscribeParams (const std::vector< std::string > &paramNames)
 
void unsubscribeParams (const std::vector< std::string > &paramNames)
 

Private Member Functions

ParameterList getNodeParameters (rclcpp::AsyncParametersClient::SharedPtr paramClient, const std::string &nodeName, const std::vector< std::string > &paramNames, const std::chrono::duration< double > &timeout)
 
bool isWhitelistedParam (const std::string &paramName)
 
void setNodeParameters (rclcpp::AsyncParametersClient::SharedPtr paramClient, const std::string &nodeName, const std::vector< rclcpp::Parameter > &params, const std::chrono::duration< double > &timeout)
 

Private Attributes

rclcpp::CallbackGroup::SharedPtr _callbackGroup
 
std::mutex _mutex
 
rclcpp::Node * _node
 
std::unordered_map< std::string, rclcpp::AsyncParametersClient::SharedPtr > _paramClientsByNode
 
std::unordered_map< std::string, rclcpp::SubscriptionBase::SharedPtr > _paramSubscriptionsByNode
 
ParamUpdateFunc _paramUpdateFunc
 
std::vector< std::regex > _paramWhitelistPatterns
 
std::unordered_map< std::string, std::unordered_set< std::string > > _subscribedParamsByNode
 

Detailed Description

Definition at line 20 of file parameter_interface.hpp.

Constructor & Destructor Documentation

◆ ParameterInterface()

foxglove_bridge::ParameterInterface::ParameterInterface ( rclcpp::Node *  node,
std::vector< std::regex >  paramWhitelistPatterns 
)

Definition at line 129 of file parameter_interface.cpp.

Member Function Documentation

◆ getNodeParameters()

ParameterList foxglove_bridge::ParameterInterface::getNodeParameters ( rclcpp::AsyncParametersClient::SharedPtr  paramClient,
const std::string &  nodeName,
const std::vector< std::string > &  paramNames,
const std::chrono::duration< double > &  timeout 
)
private

Definition at line 335 of file parameter_interface.cpp.

◆ getParams()

ParameterList foxglove_bridge::ParameterInterface::getParams ( const std::vector< std::string > &  paramNames,
const std::chrono::duration< double > &  timeout 
)

Definition at line 135 of file parameter_interface.cpp.

◆ isWhitelistedParam()

bool foxglove_bridge::ParameterInterface::isWhitelistedParam ( const std::string &  paramName)
private

◆ setNodeParameters()

void foxglove_bridge::ParameterInterface::setNodeParameters ( rclcpp::AsyncParametersClient::SharedPtr  paramClient,
const std::string &  nodeName,
const std::vector< rclcpp::Parameter > &  params,
const std::chrono::duration< double > &  timeout 
)
private

Definition at line 370 of file parameter_interface.cpp.

◆ setParams()

void foxglove_bridge::ParameterInterface::setParams ( const ParameterList params,
const std::chrono::duration< double > &  timeout 
)

Definition at line 221 of file parameter_interface.cpp.

◆ setParamUpdateCallback()

void foxglove_bridge::ParameterInterface::setParamUpdateCallback ( ParamUpdateFunc  paramUpdateFunc)

Definition at line 330 of file parameter_interface.cpp.

◆ subscribeParams()

void foxglove_bridge::ParameterInterface::subscribeParams ( const std::vector< std::string > &  paramNames)

Definition at line 260 of file parameter_interface.cpp.

◆ unsubscribeParams()

void foxglove_bridge::ParameterInterface::unsubscribeParams ( const std::vector< std::string > &  paramNames)

Definition at line 312 of file parameter_interface.cpp.

Member Data Documentation

◆ _callbackGroup

rclcpp::CallbackGroup::SharedPtr foxglove_bridge::ParameterInterface::_callbackGroup
private

Definition at line 34 of file parameter_interface.hpp.

◆ _mutex

std::mutex foxglove_bridge::ParameterInterface::_mutex
private

Definition at line 35 of file parameter_interface.hpp.

◆ _node

rclcpp::Node* foxglove_bridge::ParameterInterface::_node
private

Definition at line 32 of file parameter_interface.hpp.

◆ _paramClientsByNode

std::unordered_map<std::string, rclcpp::AsyncParametersClient::SharedPtr> foxglove_bridge::ParameterInterface::_paramClientsByNode
private

Definition at line 36 of file parameter_interface.hpp.

◆ _paramSubscriptionsByNode

std::unordered_map<std::string, rclcpp::SubscriptionBase::SharedPtr> foxglove_bridge::ParameterInterface::_paramSubscriptionsByNode
private

Definition at line 38 of file parameter_interface.hpp.

◆ _paramUpdateFunc

ParamUpdateFunc foxglove_bridge::ParameterInterface::_paramUpdateFunc
private

Definition at line 39 of file parameter_interface.hpp.

◆ _paramWhitelistPatterns

std::vector<std::regex> foxglove_bridge::ParameterInterface::_paramWhitelistPatterns
private

Definition at line 33 of file parameter_interface.hpp.

◆ _subscribedParamsByNode

std::unordered_map<std::string, std::unordered_set<std::string> > foxglove_bridge::ParameterInterface::_subscribedParamsByNode
private

Definition at line 37 of file parameter_interface.hpp.


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


foxglove_bridge
Author(s): Foxglove
autogenerated on Mon Jul 3 2023 02:12:22