OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
RTC::ConnectorDataListenerHolder Class Reference

ConnectorDataListener holder class. More...

#include <ConnectorListener.h>

Inheritance diagram for RTC::ConnectorDataListenerHolder:
Collaboration diagram for RTC::ConnectorDataListenerHolder:

Public Member Functions

 ConnectorDataListenerHolder ()
 Constructor .
 
virtual ~ConnectorDataListenerHolder ()
 Destructor .
 
void addListener (ConnectorDataListener *listener, bool autoclean)
 Add the listener.
 
void removeListener (ConnectorDataListener *listener)
 Remove the listener.
 
size_t size ()
 Getting number of listeners.
 
virtual ReturnCode notify (ConnectorInfo &info, ByteData &cdrdata, const std::string &marshalingtype)
 Notify listeners.
 
virtual ReturnCode notifyIn (ConnectorInfo &info, ByteData &data)
 
virtual ReturnCode notifyOut (ConnectorInfo &info, ByteData &data)
 
template<class DataType >
ReturnCode notifyIn (ConnectorInfo &info, DataType &typeddata)
 Notify listeners. (Typed data version)
 
template<class DataType >
ReturnCode notifyOut (ConnectorInfo &info, DataType &typeddata)
 Notify listeners. (Typed data version)
 
template<class DataType >
ReturnCode notify (ConnectorInfo &info, DataType &typeddata, const std::string &marshalingtype)
 Notify listeners. (Typed data version)
 

Public Attributes

 USE_CONNLISTENER_STATUS
 

Protected Attributes

std::vector< Entry > m_listeners
 
std::mutex m_mutex
 
ByteDataStreamBasem_cdr { nullptr }
 
std::string m_marshalingtype
 

Additional Inherited Members

- Public Types inherited from RTC::ConnectorListenerStatus
enum  Enum { NO_CHANGE = 0 , INFO_CHANGED = 1 << 0 , DATA_CHANGED = 1 << 1 , BOTH_CHANGED = INFO_CHANGED | DATA_CHANGED }
 

Detailed Description

ConnectorDataListener holder class.

This class manages one ore more instances of ConnectorDataListener class.

Constructor & Destructor Documentation

◆ ConnectorDataListenerHolder()

RTC::ConnectorDataListenerHolder::ConnectorDataListenerHolder ( )

Constructor .

◆ ~ConnectorDataListenerHolder()

virtual RTC::ConnectorDataListenerHolder::~ConnectorDataListenerHolder ( )
virtual

Destructor .

Member Function Documentation

◆ addListener()

void RTC::ConnectorDataListenerHolder::addListener ( ConnectorDataListener * listener,
bool autoclean )

Add the listener.

This method adds the listener.

Parameters
listenerAdded listener
autocleantrue:The listener is deleted at the destructor., false:The listener is not deleted at the destructor.

◆ notify() [1/2]

virtual ReturnCode RTC::ConnectorDataListenerHolder::notify ( ConnectorInfo & info,
ByteData & cdrdata,
const std::string & marshalingtype )
virtual

Notify listeners.

This calls the Callback method of the registered listener.

Parameters
infoConnectorInfo
cdrdataData

Reimplemented in RTC::ConnectorDataListenerHolderT< DataType >.

Referenced by notifyIn(), and notifyOut().

◆ notify() [2/2]

template<class DataType >
ReturnCode RTC::ConnectorDataListenerHolder::notify ( ConnectorInfo & info,
DataType & typeddata,
const std::string & marshalingtype )
inline

Notify listeners. (Typed data version)

This calls the Callback method of the registered listener. This operation calls only ConnectorDataListenerT type callback.

Parameters
infoConnectorInfo
typeddataData
marshalingtype

References RTC::createSerializer(), RTC::ByteDataStreamBase::isLittleEndian(), m_cdr, m_listeners, m_marshalingtype, m_mutex, RTC::ConnectorListenerStatus::NO_CHANGE, RTC::ConnectorInfo::properties, and RTC::ByteDataStream< DataType >::serialize().

◆ notifyIn() [1/2]

virtual ReturnCode RTC::ConnectorDataListenerHolder::notifyIn ( ConnectorInfo & info,
ByteData & data )
virtual

◆ notifyIn() [2/2]

template<class DataType >
ReturnCode RTC::ConnectorDataListenerHolder::notifyIn ( ConnectorInfo & info,
DataType & typeddata )
inline

Notify listeners. (Typed data version)

Parameters
infoConnectorInfo
typeddataData

References notify(), and RTC::ConnectorInfo::properties.

◆ notifyOut() [1/2]

virtual ReturnCode RTC::ConnectorDataListenerHolder::notifyOut ( ConnectorInfo & info,
ByteData & data )
virtual

◆ notifyOut() [2/2]

template<class DataType >
ReturnCode RTC::ConnectorDataListenerHolder::notifyOut ( ConnectorInfo & info,
DataType & typeddata )
inline

Notify listeners. (Typed data version)

Parameters
infoConnectorInfo
typeddataData

References notify(), and RTC::ConnectorInfo::properties.

◆ removeListener()

void RTC::ConnectorDataListenerHolder::removeListener ( ConnectorDataListener * listener)

Remove the listener.

This method removes the listener.

Parameters
listenerRemoved listener

◆ size()

size_t RTC::ConnectorDataListenerHolder::size ( )

Getting number of listeners.

This method returns current number of listenrs.

Returns
number of listeners

Member Data Documentation

◆ m_cdr

ByteDataStreamBase* RTC::ConnectorDataListenerHolder::m_cdr { nullptr }
protected

◆ m_listeners

std::vector<Entry> RTC::ConnectorDataListenerHolder::m_listeners
protected

◆ m_marshalingtype

std::string RTC::ConnectorDataListenerHolder::m_marshalingtype
protected

◆ m_mutex

std::mutex RTC::ConnectorDataListenerHolder::m_mutex
protected

◆ USE_CONNLISTENER_STATUS

RTC::ConnectorDataListenerHolder::USE_CONNLISTENER_STATUS

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