rclcpp  master
C++ ROS Client Library API
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
rclcpp::CallbackGroup Class Reference

#include <callback_group.hpp>

Collaboration diagram for rclcpp::CallbackGroup:
Collaboration graph
[legend]

Public Member Functions

 CallbackGroup (CallbackGroupType group_type)
 
template<typename Function >
rclcpp::SubscriptionBase::SharedPtr find_subscription_ptrs_if (Function func) const
 
template<typename Function >
rclcpp::TimerBase::SharedPtr find_timer_ptrs_if (Function func) const
 
template<typename Function >
rclcpp::ServiceBase::SharedPtr find_service_ptrs_if (Function func) const
 
template<typename Function >
rclcpp::ClientBase::SharedPtr find_client_ptrs_if (Function func) const
 
template<typename Function >
rclcpp::Waitable::SharedPtr find_waitable_ptrs_if (Function func) const
 
std::atomic_bool & can_be_taken_from ()
 
const CallbackGroupTypetype () const
 

Protected Member Functions

void add_publisher (const rclcpp::PublisherBase::SharedPtr publisher_ptr)
 
void add_subscription (const rclcpp::SubscriptionBase::SharedPtr subscription_ptr)
 
void add_timer (const rclcpp::TimerBase::SharedPtr timer_ptr)
 
void add_service (const rclcpp::ServiceBase::SharedPtr service_ptr)
 
void add_client (const rclcpp::ClientBase::SharedPtr client_ptr)
 
void add_waitable (const rclcpp::Waitable::SharedPtr waitable_ptr)
 
void remove_waitable (const rclcpp::Waitable::SharedPtr waitable_ptr) noexcept
 

Protected Attributes

CallbackGroupType type_
 
std::mutex mutex_
 
std::vector< rclcpp::SubscriptionBase::WeakPtr > subscription_ptrs_
 
std::vector< rclcpp::TimerBase::WeakPtr > timer_ptrs_
 
std::vector< rclcpp::ServiceBase::WeakPtr > service_ptrs_
 
std::vector< rclcpp::ClientBase::WeakPtr > client_ptrs_
 
std::vector< rclcpp::Waitable::WeakPtr > waitable_ptrs_
 
std::atomic_bool can_be_taken_from_
 

Friends

class rclcpp::node_interfaces::NodeServices
 
class rclcpp::node_interfaces::NodeTimers
 
class rclcpp::node_interfaces::NodeTopics
 
class rclcpp::node_interfaces::NodeWaitables
 

Constructor & Destructor Documentation

◆ CallbackGroup()

rclcpp::CallbackGroup::CallbackGroup ( CallbackGroupType  group_type)
explicit

Member Function Documentation

◆ find_subscription_ptrs_if()

template<typename Function >
rclcpp::SubscriptionBase::SharedPtr rclcpp::CallbackGroup::find_subscription_ptrs_if ( Function  func) const
inline

◆ find_timer_ptrs_if()

template<typename Function >
rclcpp::TimerBase::SharedPtr rclcpp::CallbackGroup::find_timer_ptrs_if ( Function  func) const
inline

◆ find_service_ptrs_if()

template<typename Function >
rclcpp::ServiceBase::SharedPtr rclcpp::CallbackGroup::find_service_ptrs_if ( Function  func) const
inline

◆ find_client_ptrs_if()

template<typename Function >
rclcpp::ClientBase::SharedPtr rclcpp::CallbackGroup::find_client_ptrs_if ( Function  func) const
inline

◆ find_waitable_ptrs_if()

template<typename Function >
rclcpp::Waitable::SharedPtr rclcpp::CallbackGroup::find_waitable_ptrs_if ( Function  func) const
inline

◆ can_be_taken_from()

std::atomic_bool& rclcpp::CallbackGroup::can_be_taken_from ( )

◆ type()

const CallbackGroupType& rclcpp::CallbackGroup::type ( ) const

◆ add_publisher()

void rclcpp::CallbackGroup::add_publisher ( const rclcpp::PublisherBase::SharedPtr  publisher_ptr)
protected

◆ add_subscription()

void rclcpp::CallbackGroup::add_subscription ( const rclcpp::SubscriptionBase::SharedPtr  subscription_ptr)
protected

◆ add_timer()

void rclcpp::CallbackGroup::add_timer ( const rclcpp::TimerBase::SharedPtr  timer_ptr)
protected

◆ add_service()

void rclcpp::CallbackGroup::add_service ( const rclcpp::ServiceBase::SharedPtr  service_ptr)
protected

◆ add_client()

void rclcpp::CallbackGroup::add_client ( const rclcpp::ClientBase::SharedPtr  client_ptr)
protected

◆ add_waitable()

void rclcpp::CallbackGroup::add_waitable ( const rclcpp::Waitable::SharedPtr  waitable_ptr)
protected

◆ remove_waitable()

void rclcpp::CallbackGroup::remove_waitable ( const rclcpp::Waitable::SharedPtr  waitable_ptr)
protectednoexcept

Friends And Related Function Documentation

◆ rclcpp::node_interfaces::NodeServices

◆ rclcpp::node_interfaces::NodeTimers

◆ rclcpp::node_interfaces::NodeTopics

◆ rclcpp::node_interfaces::NodeWaitables

Member Data Documentation

◆ type_

CallbackGroupType rclcpp::CallbackGroup::type_
protected

◆ mutex_

std::mutex rclcpp::CallbackGroup::mutex_
mutableprotected

◆ subscription_ptrs_

std::vector<rclcpp::SubscriptionBase::WeakPtr> rclcpp::CallbackGroup::subscription_ptrs_
protected

◆ timer_ptrs_

std::vector<rclcpp::TimerBase::WeakPtr> rclcpp::CallbackGroup::timer_ptrs_
protected

◆ service_ptrs_

std::vector<rclcpp::ServiceBase::WeakPtr> rclcpp::CallbackGroup::service_ptrs_
protected

◆ client_ptrs_

std::vector<rclcpp::ClientBase::WeakPtr> rclcpp::CallbackGroup::client_ptrs_
protected

◆ waitable_ptrs_

std::vector<rclcpp::Waitable::WeakPtr> rclcpp::CallbackGroup::waitable_ptrs_
protected

◆ can_be_taken_from_

std::atomic_bool rclcpp::CallbackGroup::can_be_taken_from_
protected

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