CallbackHelper Class Referenceabstract

A helper class to handle callbacks when messages arrive. More...

#include <transport/transport.hh>

Inherited by CallbackHelperT< M >, RawCallbackHelper, and SubscriptionTransport.

Public Member Functions

 CallbackHelper (bool _latching=false)
 Constructor. More...
 
virtual ~CallbackHelper ()
 Destructor. More...
 
unsigned int GetId () const
 Get the unique ID of this callback. More...
 
bool GetLatching () const
 Is the callback latching? More...
 
virtual std::string GetMsgType () const
 Get the typename of the message that is handled. More...
 
virtual bool HandleData (const std::string &_newdata, boost::function< void(uint32_t)> _cb, uint32_t _id)=0
 Process new incoming data. More...
 
virtual bool HandleMessage (MessagePtr _newMsg)=0
 Process new incoming message. More...
 
virtual bool IsLocal () const =0
 Is the callback local? More...
 
void SetLatching (bool _latch)
 Set whether this callback is latching. More...
 

Protected Attributes

bool latching
 True means that the callback helper will get the last published message on the topic. More...
 
std::mutex latchingMutex
 Mutex to protect the latching variable. More...
 

Detailed Description

A helper class to handle callbacks when messages arrive.

Constructor & Destructor Documentation

◆ CallbackHelper()

CallbackHelper ( bool  _latching = false)
explicit

Constructor.

Parameters
[in]_latchingSet to true to make the callback helper latching.

◆ ~CallbackHelper()

virtual ~CallbackHelper ( )
virtual

Destructor.

Member Function Documentation

◆ GetId()

unsigned int GetId ( ) const

Get the unique ID of this callback.

Returns
The unique ID of this callback.

◆ GetLatching()

bool GetLatching ( ) const

Is the callback latching?

Returns
true if the callback is latching, false otherwise

◆ GetMsgType()

virtual std::string GetMsgType ( ) const
virtual

Get the typename of the message that is handled.

Returns
String representation of the message type

Reimplemented in RawCallbackHelper, and CallbackHelperT< M >.

◆ HandleData()

virtual bool HandleData ( const std::string &  _newdata,
boost::function< void(uint32_t)>  _cb,
uint32_t  _id 
)
pure virtual

Process new incoming data.

Parameters
[in]_newdataIncoming data to be processed
Returns
true if successfully processed; false otherwise
Parameters
[in]_cbIf non-null, callback to be invoked which signals that transmission is complete.
[in]_idID associated with the message data.

Implemented in RawCallbackHelper, CallbackHelperT< M >, and SubscriptionTransport.

◆ HandleMessage()

virtual bool HandleMessage ( MessagePtr  _newMsg)
pure virtual

Process new incoming message.

Parameters
[in]_newMsgIncoming message to be processed
Returns
true if successfully processed; false otherwise

Implemented in RawCallbackHelper, CallbackHelperT< M >, and SubscriptionTransport.

◆ IsLocal()

virtual bool IsLocal ( ) const
pure virtual

Is the callback local?

Returns
true if the callback is local, false if the callback is tied to a remote connection

Implemented in RawCallbackHelper, CallbackHelperT< M >, and SubscriptionTransport.

◆ SetLatching()

void SetLatching ( bool  _latch)

Set whether this callback is latching.

This function should only be used by the Transport library.

Parameters
[in]_latchFalse to turn off latching.

Referenced by CallbackHelperT< M >::HandleData(), RawCallbackHelper::HandleData(), CallbackHelperT< M >::HandleMessage(), and RawCallbackHelper::HandleMessage().

Member Data Documentation

◆ latching

bool latching
protected

True means that the callback helper will get the last published message on the topic.

◆ latchingMutex

std::mutex latchingMutex
mutableprotected

Mutex to protect the latching variable.


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