Class CSubscriber
Defined in File subscriber.h
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.
-
ECAL_API_EXPORTED_MEMBER CSubscriber(const std::string &topic_name_, const SDataTypeInformation &data_type_info_ = SDataTypeInformation(), const Subscriber::Configuration &config_ = GetSubscriberConfiguration())