![]() |
OpenSplice ISO C++ 2 DCPS
v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
|
Topic proprietary events Listener. More...
#include "ProprietaryApi.hpp"
Public Member Functions | |
virtual void | on_all_data_disposed (dds::topic::Topic< T > &topic, const org::opensplice::core::status::AllDataDisposedTopicStatus &status)=0 |
virtual void | on_inconsistent_topic (Topic< T > &topic, const dds::core::status::InconsistentTopicStatus &status)=0 |
Topic proprietary events Listener.
Since a Topic is an Entity, it has the ability to have a Listener associated with it. In this case, the associated Listener should be of type TopicListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the TopicListener class.
This proprietary listener is a child of the specification listener and is made available to be able to trigger the on_all_data_disposed() proprietary event.
All operations for this interface must be implemented in the user-defined class, it is up to the application whether an operation is empty or contains some functionality.
The TopicListener provides a generic mechanism (actually a callback function) for the Data Distribution Service to notify the application of relevant asynchronous status change events, such as a missed deadline, violation of a QosPolicy setting, etc. The TopicListener is related to changes in communication status StatusConditions.
Definition at line 127 of file ProprietaryApi.hpp.
|
pure virtual |
This operation is called by the Data Distribution Service when the AllDataDisposedTopicStatus changes.
The implementation may be left empty when this functionality is not needed. This operation will only be called when the relevant TopicListener is installed and enabled with the dds::core::status::StatusMask::all_data_disposed_topic(). The AllDataDisposedTopicStatus will change when the node has completed disposal of data as a result of a call to dds::topic::AnyTopic::dispose_all_data().
topic | contain a pointer to the Topic on which the conflict occurred (this is an input to the application). |
status | contain the AllDataDisposedTopicStatus object (this is an input to the application). |
|
pure virtualinherited |
This operation is called by the Data Distribution Service when the InconsistentTopicStatus changes.
The implementation may be left empty when this functionality is not needed. This operation will only be called when the relevant TopicListener is installed and enabled with the StatusMask::inconsistent_topic(). The InconsistentTopicStatus will change when another Topic exists with the same topic_name but different characteristics.
topic | contain a pointer to the Topic on which the conflict occurred (this is an input to the application). |
status | contain the InconsistentTopicStatus object (this is an input to the application). |