rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
rad::cii::Subscriber< TOPIC_TYPE > Class Template Reference

#include <subscriber.hpp>

Inheritance diagram for rad::cii::Subscriber< TOPIC_TYPE >:
rad::cii::SMSubscriber< TOPIC_TYPE, EVENT_TYPE > rad::cii::SMSubscriber< TOPIC_TYPE, EVENT_TYPE > rad::cii::SMSubscriber< TOPIC_TYPE, EVENT_TYPE >

Public Types

using TopicHandler_t = std::function< void(elt::mal::ps::Subscriber< TOPIC_TYPE > &, const elt::mal::ps::DataEvent< TOPIC_TYPE > &)>
 
using TopicHandler_t = std::function< void(elt::mal::ps::Subscriber< TOPIC_TYPE > &, const elt::mal::ps::DataEvent< TOPIC_TYPE > &)>
 
using TopicHandler_t = std::function< void(elt::mal::ps::Subscriber< TOPIC_TYPE > &, const elt::mal::ps::DataEvent< TOPIC_TYPE > &)>
 

Public Member Functions

 Subscriber (const elt::mal::Uri &uri, TopicHandler_t handler, const std::optional< elt::mal::Mal::Properties > mal_properties={})
 
 Subscriber (const Subscriber &)=delete
 
Subscriberoperator= (const Subscriber &)=delete
 
 Subscriber (Subscriber &&rhs)=default
 
 Subscriber (const elt::mal::Uri &uri, TopicHandler_t handler, const std::optional< elt::mal::Mal::Properties > mal_properties={})
 
 Subscriber (const Subscriber &)=delete
 
Subscriberoperator= (const Subscriber &)=delete
 
 Subscriber (Subscriber &&rhs)=default
 
 Subscriber (const elt::mal::Uri &uri, TopicHandler_t handler, const std::optional< elt::mal::Mal::Properties > mal_properties={})
 
 Subscriber (const Subscriber &)=delete
 
Subscriberoperator= (const Subscriber &)=delete
 
 Subscriber (Subscriber &&rhs)=default
 

Detailed Description

template<typename TOPIC_TYPE>
class rad::cii::Subscriber< TOPIC_TYPE >

This class allows to subscribe to a topic of a given type and to receive them via a registered handler.

Template Parameters
TOPIC_TYPEType of the topic that can be subscribed to.
Remarks
This is thread compatible.

Member Typedef Documentation

template<typename TOPIC_TYPE>
using rad::cii::Subscriber< TOPIC_TYPE >::TopicHandler_t = std::function<void(elt::mal::ps::Subscriber<TOPIC_TYPE>&, const elt::mal::ps::DataEvent<TOPIC_TYPE>&)>
template<typename TOPIC_TYPE>
using rad::cii::Subscriber< TOPIC_TYPE >::TopicHandler_t = std::function<void(elt::mal::ps::Subscriber<TOPIC_TYPE>&, const elt::mal::ps::DataEvent<TOPIC_TYPE>&)>
template<typename TOPIC_TYPE>
using rad::cii::Subscriber< TOPIC_TYPE >::TopicHandler_t = std::function<void(elt::mal::ps::Subscriber<TOPIC_TYPE>&, const elt::mal::ps::DataEvent<TOPIC_TYPE>&)>

Constructor & Destructor Documentation

template<typename TOPIC_TYPE>
rad::cii::Subscriber< TOPIC_TYPE >::Subscriber ( const elt::mal::Uri &  uri,
TopicHandler_t  handler,
const std::optional< elt::mal::Mal::Properties >  mal_properties = {} 
)
inline

This constructor allows to register a handler to be invoked every time a given topic is received.

Parameters
uriURI associated to the topic.
handlerInvoked by CII/MAL thread when a new topic or event is received.
mal_propertiesQoS for message reception.
template<typename TOPIC_TYPE>
rad::cii::Subscriber< TOPIC_TYPE >::Subscriber ( const Subscriber< TOPIC_TYPE > &  )
delete
template<typename TOPIC_TYPE>
rad::cii::Subscriber< TOPIC_TYPE >::Subscriber ( Subscriber< TOPIC_TYPE > &&  rhs)
default
template<typename TOPIC_TYPE>
rad::cii::Subscriber< TOPIC_TYPE >::Subscriber ( const elt::mal::Uri &  uri,
TopicHandler_t  handler,
const std::optional< elt::mal::Mal::Properties >  mal_properties = {} 
)
inline

This constructor allows to register a handler to be invoked every time a given topic is received.

Parameters
uriURI associated to the topic.
handlerInvoked by CII/MAL thread when a new topic or event is received.
mal_propertiesQoS for message reception.
template<typename TOPIC_TYPE>
rad::cii::Subscriber< TOPIC_TYPE >::Subscriber ( const Subscriber< TOPIC_TYPE > &  )
delete
template<typename TOPIC_TYPE>
rad::cii::Subscriber< TOPIC_TYPE >::Subscriber ( Subscriber< TOPIC_TYPE > &&  rhs)
default
template<typename TOPIC_TYPE>
rad::cii::Subscriber< TOPIC_TYPE >::Subscriber ( const elt::mal::Uri &  uri,
TopicHandler_t  handler,
const std::optional< elt::mal::Mal::Properties >  mal_properties = {} 
)
inline

This constructor allows to register a handler to be invoked every time a given topic is received.

Parameters
uriURI associated to the topic.
handlerInvoked by CII/MAL thread when a new topic or event is received.
mal_propertiesQoS for message reception.
template<typename TOPIC_TYPE>
rad::cii::Subscriber< TOPIC_TYPE >::Subscriber ( const Subscriber< TOPIC_TYPE > &  )
delete
template<typename TOPIC_TYPE>
rad::cii::Subscriber< TOPIC_TYPE >::Subscriber ( Subscriber< TOPIC_TYPE > &&  rhs)
default

Member Function Documentation

template<typename TOPIC_TYPE>
Subscriber& rad::cii::Subscriber< TOPIC_TYPE >::operator= ( const Subscriber< TOPIC_TYPE > &  )
delete
template<typename TOPIC_TYPE>
Subscriber& rad::cii::Subscriber< TOPIC_TYPE >::operator= ( const Subscriber< TOPIC_TYPE > &  )
delete
template<typename TOPIC_TYPE>
Subscriber& rad::cii::Subscriber< TOPIC_TYPE >::operator= ( const Subscriber< TOPIC_TYPE > &  )
delete

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