Class EventListenerInterface

Inheritance Relationships

Derived Types

Class Documentation

class EventListenerInterface

Subclassed by RMWPublisherEvent, RMWSubscriptionEvent

Public Functions

virtual eprosima::fastdds::dds::StatusCondition &get_statuscondition() const = 0
virtual bool take_event(rmw_event_type_t event_type, void *event_info) = 0

Take ready data for an event type.

Parameters:
  • event_type – The event type to get data for.

  • event_info – A preallocated event information (from rmw/types.h) to fill with data

Returns:

true if data was successfully taken.

Returns:

false if data was not available, in this case nothing was written to event_info.

virtual void set_on_new_event_callback(rmw_event_type_t event_type, const void *user_data, rmw_event_callback_t callback) = 0

Provide handlers to perform an action when a new event from this listener has occurred.

Parameters:
  • event_type – The event type to set a new callback for.

  • user_data – User data to associated with the event.

  • callback – The callback to call when the event occurs.

inline eprosima::fastdds::dds::GuardCondition &get_event_guard(rmw_event_type_t event_type)
virtual void update_inconsistent_topic(uint32_t total_count, uint32_t total_count_change) = 0

Callback to update the internal inconsistent topic data.

Parameters:
  • total_count – The total number of inconsistent topic events for all time.

  • total_count_change – The number of inconsistent topic events being reported right now.

Protected Functions

bool inconsistent_topic_changed_ RCPPUTILS_TSA_GUARDED_BY (on_new_event_m_)
eprosima::fastdds::dds::InconsistentTopicStatus inconsistent_topic_status_ RCPPUTILS_TSA_GUARDED_BY (on_new_event_m_)

Protected Attributes

eprosima::fastdds::dds::GuardCondition event_guard[RMW_EVENT_INVALID]
rmw_event_callback_t on_new_event_cb_[RMW_EVENT_INVALID] = {nullptr}
const void *user_data_[RMW_EVENT_INVALID] = {nullptr}
std::mutex on_new_event_m_