mrs_lib
Various reusable classes, functions and utilities for use in MRS projects
Loading...
Searching...
No Matches
mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType > Class Template Reference
Inheritance diagram for mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >:
Collaboration diagram for mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >:

Public Types

using timeout_callback_t = typename impl_class_t::timeout_callback_t
using message_callback_t = typename impl_class_t::message_callback_t
Public Types inherited from mrs_lib::SubscriberHandler< MessageType >::Impl< MessageType >
using timeout_callback_t = typename SubscriberHandler<MessageType>::timeout_callback_t
using message_callback_t = typename SubscriberHandler<MessageType>::message_callback_t
using data_callback_t = std::function<void(const typename MessageType::ConstSharedPtr&)>

Public Member Functions

 ImplThreadsafe (const SubscriberHandlerOptions &options, const message_callback_t &message_callback=message_callback_t())
virtual bool hasMsg () const override
virtual bool newMsg () const override
virtual bool usedMsg () const override
virtual MessageType::ConstSharedPtr getMsg () override
virtual MessageType::ConstSharedPtr peekMsg () const override
virtual rclcpp::Time lastMsgTime () const override
virtual std::string topicName () const override
virtual void start () override
virtual void stop () override
Public Member Functions inherited from mrs_lib::SubscriberHandler< MessageType >::Impl< MessageType >
 Impl (const SubscriberHandlerOptions &options, const message_callback_t &message_callback=message_callback_t())
virtual MessageType::ConstSharedPtr waitForNew (const rclcpp::Duration &timeout)
virtual uint32_t getNumPublishers () const
virtual void setNoMessageTimeout (const rclcpp::Duration &timeout)

Protected Member Functions

virtual void data_callback (const typename MessageType::ConstSharedPtr &msg) override
Protected Member Functions inherited from mrs_lib::SubscriberHandler< MessageType >::Impl< MessageType >
void subscribe ()
void pauseTimeout ()
void startTimeout ()
void default_timeout_callback (const std::string &topic_name, const rclcpp::Time &last_msg)
void process_new_message (const typename MessageType::ConstSharedPtr &msg)

Friends

class SubscriberHandler< MessageType >

Member Function Documentation

◆ data_callback()

template<typename MessageType>
template<typename MessageType>
virtual void mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::data_callback ( const typename MessageType::ConstSharedPtr & msg)
inlineoverrideprotectedvirtual

◆ getMsg()

template<typename MessageType>
template<typename MessageType>
virtual MessageType::ConstSharedPtr mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::getMsg ( )
inlineoverridevirtual

◆ hasMsg()

template<typename MessageType>
template<typename MessageType>
virtual bool mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::hasMsg ( ) const
inlineoverridevirtual

◆ lastMsgTime()

template<typename MessageType>
template<typename MessageType>
virtual rclcpp::Time mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::lastMsgTime ( ) const
inlineoverridevirtual

◆ newMsg()

template<typename MessageType>
template<typename MessageType>
virtual bool mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::newMsg ( ) const
inlineoverridevirtual

◆ peekMsg()

template<typename MessageType>
template<typename MessageType>
virtual MessageType::ConstSharedPtr mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::peekMsg ( ) const
inlineoverridevirtual

◆ start()

template<typename MessageType>
template<typename MessageType>
virtual void mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::start ( )
inlineoverridevirtual

◆ stop()

template<typename MessageType>
template<typename MessageType>
virtual void mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::stop ( )
inlineoverridevirtual

◆ topicName()

template<typename MessageType>
template<typename MessageType>
virtual std::string mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::topicName ( ) const
inlineoverridevirtual

◆ usedMsg()

template<typename MessageType>
template<typename MessageType>
virtual bool mrs_lib::SubscriberHandler< MessageType >::ImplThreadsafe< MessageType >::usedMsg ( ) const
inlineoverridevirtual

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