Class CPublisher

Class Documentation

class CPublisher

eCAL publisher class.

Public Functions

ECAL_API_EXPORTED_MEMBER CPublisher(const std::string &topic_name_, const SDataTypeInformation &data_type_info_ = SDataTypeInformation(), const Publisher::Configuration &config_ = GetPublisherConfiguration())

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 CPublisher(const std::string &topic_name_, const SDataTypeInformation &data_type_info_, const PubEventCallbackT &event_callback_, const Publisher::Configuration &config_ = GetPublisherConfiguration())

Constructor.

Parameters:
  • topic_name_ – Unique topic name.

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

  • event_callback_ – The publisher event callback funtion.

  • config_ – Optional configuration parameters.

virtual ECAL_API_EXPORTED_MEMBER ~CPublisher()

Destructor.

CPublisher(const CPublisher&) = delete

CPublishers are non-copyable.

CPublisher &operator=(const CPublisher&) = delete

CPublishers are non-copyable.

ECAL_API_EXPORTED_MEMBER CPublisher(CPublisher &&rhs) noexcept

CPublishers are move-enabled.

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

CPublishers are move-enabled.

ECAL_API_EXPORTED_MEMBER bool Send (const void *buf_, size_t len_, long long time_=DEFAULT_TIME_ARGUMENT)

Send a message to all subscribers.

Parameters:
  • buf_ – Pointer to content buffer.

  • len_ – Length of buffer.

  • time_ – Send time (-1 = use eCAL system time in us, default = -1).

Returns:

True if succeeded, false if not.

ECAL_API_EXPORTED_MEMBER bool Send (CPayloadWriter &payload_, long long time_=DEFAULT_TIME_ARGUMENT)

Send a message to all subscribers.

Parameters:
  • payload_ – Payload writer.

  • time_ – Send time (-1 = use eCAL system time in us, default = -1).

Returns:

True if succeeded, false if not.

ECAL_API_EXPORTED_MEMBER bool Send (const std::string &payload_, long long time_=DEFAULT_TIME_ARGUMENT)

Send a message to all subscribers.

Parameters:
  • payload_ – Payload string.

  • time_ – Send time (-1 = use eCAL system time in us, default = -1).

Returns:

True if succeeded, false if not.

ECAL_API_EXPORTED_MEMBER size_t GetSubscriberCount () const

Query the number of subscribers.

Returns:

Number of subscribers.

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

Gets description of the connected topic.

Returns:

The topic information.

Public Static Attributes

static constexpr ECAL_API_EXPORTED_MEMBER long long DEFAULT_TIME_ARGUMENT   = -1

Use DEFAULT_TIME_ARGUMENT in the Send() function to let eCAL determine the send timestamp