Class CSubscriber

Class Documentation

class CSubscriber

eCAL subscriber class.

Public Functions

ECAL_API_EXPORTED_MEMBER CSubscriber(const std::string &topic_name_, const SDataTypeInformation &data_type_info_ = SDataTypeInformation(), const Subscriber::Configuration &config_ = GetSubscriberConfiguration())

Constructor.

Parameters:
  • topic_name_ – Unique topic name.

  • data_type_info_ – Topic data type information (encoding, type, descriptor).

  • config_ – Optional configuration parameters.

ECAL_API_EXPORTED_MEMBER CSubscriber(const std::string &topic_name_, const SDataTypeInformation &data_type_info_, const SubEventCallbackT &event_callback_, const Subscriber::Configuration &config_ = GetSubscriberConfiguration())

Constructor with event callback registration.

Parameters:
  • topic_name_ – Unique topic name.

  • data_type_info_ – Topic data type information (encoding, type, descriptor).

  • event_callback_ – Callback for subscriber events.

  • config_Configuration parameters.

virtual ECAL_API_EXPORTED_MEMBER ~CSubscriber()

Destructor.

CSubscriber(const CSubscriber&) = delete

CSubscribers are non-copyable.

CSubscriber &operator=(const CSubscriber&) = delete

CSubscribers are non-copyable.

ECAL_API_EXPORTED_MEMBER CSubscriber(CSubscriber &&rhs) noexcept

CSubscribers are move-enabled.

ECAL_API_EXPORTED_MEMBER CSubscriber & operator= (CSubscriber &&rhs) noexcept

CSubscribers are move-enabled.

ECAL_API_EXPORTED_MEMBER void SetReceiveCallback (ReceiveCallbackT callback_)

Set/overwrite callback function for incoming receives.

Parameters:

callback_ – The callback function to set.

ECAL_API_EXPORTED_MEMBER void RemoveReceiveCallback ()

Remove callback function for incoming receives.

ECAL_API_EXPORTED_MEMBER size_t GetPublisherCount () const

Query the number of connected publishers.

Returns:

Number of publishers.

ECAL_API_EXPORTED_MEMBER const std::string & GetTopicName () const

Retrieve the topic name.

Returns:

The topic name.

ECAL_API_EXPORTED_MEMBER const STopicId & GetTopicId () const

Retrieve the topic id.

Returns:

The topic id.

ECAL_API_EXPORTED_MEMBER const SDataTypeInformation & GetDataTypeInformation () const

Retrieve the topic information.

Returns:

The topic information.

ECAL_API_EXPORTED_MEMBER CSubscriber()

Constructor.

ECAL_API_EXPORTED_MEMBER CSubscriber(const std::string &topic_name_, const SDataTypeInformation &data_type_info_, const Subscriber::Configuration &config_ = GetSubscriberConfiguration())

Constructor.

Parameters:
  • topic_name_ – Unique topic name.

  • data_type_info_ – Topic data type information (encoding, type, descriptor).

  • config_ – Optional configuration parameters.

explicit ECAL_API_EXPORTED_MEMBER CSubscriber(const std::string &topic_name_, const Subscriber::Configuration &config_ = GetSubscriberConfiguration())

Constructor.

Parameters:
  • topic_name_ – Unique topic name.

  • config_ – Optional configuration parameters.

virtual ECAL_API_EXPORTED_MEMBER ~CSubscriber()

Destructor.

CSubscriber(const CSubscriber&) = delete

CSubscribers are non-copyable.

CSubscriber &operator=(const CSubscriber&) = delete

CSubscribers are non-copyable.

ECAL_API_EXPORTED_MEMBER CSubscriber(CSubscriber &&rhs) noexcept

CSubscribers are move-enabled.

ECAL_API_EXPORTED_MEMBER CSubscriber & operator= (CSubscriber &&rhs) noexcept

CSubscribers are move-enabled.

ECAL_API_EXPORTED_MEMBER bool Create (const std::string &topic_name_, const SDataTypeInformation &data_type_info_, const Subscriber::Configuration &config_=GetSubscriberConfiguration())

Creates this object.

Parameters:
  • topic_name_ – Unique topic name.

  • data_type_info_ – Topic data type information (encoding, type, descriptor).

  • config_ – Optional configuration parameters.

Returns:

True if it succeeds, false if it fails.

ECAL_API_EXPORTED_MEMBER bool Create (const std::string &topic_name_)

Creates this object.

Parameters:

topic_name_ – Unique topic name.

Returns:

True if it succeeds, false if it fails.

ECAL_API_EXPORTED_MEMBER bool Destroy ()

Destroys this object.

Returns:

true if it succeeds, false if it fails.

ECAL_API_EXPORTED_MEMBER bool SetID (const std::set< long long > &filter_ids_)

Set a set of id’s to prefiltering topics (see CPublisher::SetID).

Parameters:

filter_ids_ – Set of filter id’s.

Returns:

True if it succeeds, false if it fails.

ECAL_API_EXPORTED_MEMBER bool SetAttribute (const std::string &attr_name_, const std::string &attr_value_)

Sets subscriber attribute.

Parameters:
  • attr_name_ – Attribute name.

  • attr_value_ – Attribute value.

Returns:

True if it succeeds, false if it fails. @experimental

ECAL_API_EXPORTED_MEMBER bool ClearAttribute (const std::string &attr_name_)

Removes subscriber attribute.

Parameters:

attr_name_ – Attribute name.

Returns:

True if it succeeds, false if it fails.

ECAL_API_EXPORTED_MEMBER bool ReceiveBuffer (std::string &buf_, long long *time_=nullptr, int rcv_timeout_=0) const

Receive a message from the publisher (able to process zero length buffer).

Parameters:
  • buf_[out] Standard string for copying message content.

  • time_[out] Time from publisher in us (default = nullptr).

  • rcv_timeout_ – Maximum time before receive operation returns (in milliseconds, -1 means infinite).

Returns:

True if it succeeds, false if it fails.

ECAL_API_EXPORTED_MEMBER bool AddReceiveCallback (ReceiveCallbackT callback_)

Add callback function for incoming receives.

Parameters:

callback_ – The callback function to add.

Returns:

True if succeeded, false if not.

ECAL_API_EXPORTED_MEMBER bool AddReceiveCallback (eCAL::ReceiveCallbackT callback_)

Add callback function for incoming receives.

Parameters:

callback_ – The callback function to add.

Returns:

True if succeeded, false if not.

ECAL_API_EXPORTED_MEMBER bool RemReceiveCallback ()

Remove callback function for incoming receives.

Returns:

True if succeeded, false if not.

ECAL_API_EXPORTED_MEMBER bool AddEventCallback (eSubscriberEvent type_, SubEventCallbackT callback_)

Add callback function for subscriber events.

Parameters:
  • type_ – The event type to react on.

  • callback_ – The callback function to add.

Returns:

True if succeeded, false if not.

ECAL_API_EXPORTED_MEMBER bool RemEventCallback (eSubscriberEvent type_)

Remove callback function for subscriber events.

Parameters:

type_ – The event type to remove.

Returns:

True if succeeded, false if not.

inline ECAL_API_EXPORTED_MEMBER bool IsCreated () const

Query if this object is created.

Returns:

true if created, false if not.

ECAL_API_EXPORTED_MEMBER bool IsPublished () const

Query if the subscriber is published.

Returns:

true if published, false if not.

ECAL_API_EXPORTED_MEMBER size_t GetPublisherCount () const

Query the number of publishers.

Returns:

Number of publishers.

ECAL_API_EXPORTED_MEMBER std::string GetTopicName () const

Gets name of the connected topic.

Returns:

The topic name.

ECAL_API_EXPORTED_MEMBER STopicId GetId () const

Gets a unique ID of this Subscriber.

Returns:

The topic id.

ECAL_API_EXPORTED_MEMBER SDataTypeInformation GetDataTypeInformation () const

Gets description of the connected topic.

Returns:

The topic information.

ECAL_API_EXPORTED_MEMBER std::string Dump (const std::string &indent_="") const

Dump the whole class state into a string.

Parameters:

indent_ – Indentation used for dump.

Returns:

The dump sting.