You are here: Part 2: Core Concepts > DDS Entities > Common Operations for All DDS Entities > Getting and Setting Listeners

Getting and Setting Listeners

Each type of Entity has an associated Listener, see Listeners. A Listener represents a set of functions that users may install to be called asynchronously when the state of communication statuses change.

The get_listener() operation returns the current Listener attached to the Entity.

The set_listener() operation installs a Listener on an Entity. The Listener will only be invoked on the changes of statuses specified by the accompanying mask. Only one listener can be attached to each Entity. If a Listener was already attached, set_listener() will replace it with the new one.

The get_listener() and set_listener() operations are directly provided by the DomainParticipant, Topic, Publisher, DataWriter, Subscriber, and DataReader classes so that listeners and masks used in the argument list are specific to each Entity.

Note: The set_listener() operation is not synchronized with the listener callbacks, so it is possible to set a new listener on an participant while the old listener is in a callback. Therefore you should be careful not to delete any listener that has been set on an enabled participant unless some application-specific means are available of ensuring that the old listener cannot still be in use.

See Listeners for more information about Listeners.

© 2016 RTI