The Publisher configures, creates, manages and destroys DataWriters. More...
Public Member Functions | |
override ReturnCode_t | enable () |
override InstanceHandle_t | get_instance_handle () |
DomainParticipant | get_participant () |
DataWriter | create_datawriter (Topic topic, DataWriterQos dw_qos, DataWriterListener listener, uint mask) |
ReturnCode_t | delete_datawriter (DataWriter datawriter) |
ReturnCode_t | delete_contained_entities () |
DataWriter | lookup_datawriter (String topic_name) |
ReturnCode_t | set_qos (PublisherQos qos) |
ReturnCode_t | get_qos (PublisherQos qos) |
ReturnCode_t | set_listener (PublisherListener new_listener, uint mask) |
PublisherListener | get_listener () |
ReturnCode_t | suspend_publications () |
ReturnCode_t | resume_publications () |
ReturnCode_t | begin_coherent_changes () |
ReturnCode_t | end_coherent_changes () |
ReturnCode_t | wait_for_acknowledgments (Duration_t max_wait) |
Block until all writers contained by this publisher have received acknowledgements. | |
ReturnCode_t | set_default_datawriter_qos (DataWriterQos qos) |
ReturnCode_t | get_default_datawriter_qos (DataWriterQos qos) |
ReturnCode_t | copy_from_topic_qos (DataWriterQos qos, TopicQos topic_qos) |
The Publisher configures, creates, manages and destroys DataWriters.
ReturnCode_t begin_coherent_changes | ( | ) | [inline] |
ReturnCode_t copy_from_topic_qos | ( | DataWriterQos | qos, | |
TopicQos | topic_qos | |||
) | [inline] |
This operation copies the QoS settings in a_topic_qos to the corresponding settings in a_datawriter_qos. The a_datawriter_qos parameter is populated with a copy of the QoS policies from the a_topic_qos structure. QoS entries in the datawriter qos structure will be overwritten with the values from the topic.
DataWriter create_datawriter | ( | Topic | topic, | |
DataWriterQos | dw_qos, | |||
DataWriterListener | listener, | |||
uint | mask | |||
) | [inline] |
This operation creates a DataWriter. The created DataWriter is contained within the Publisher p. It is associated with the Topic, ContentFilteredTopic, or MultiTopic indicated by a_topic, and has the DataWriterQos indicated by qos. The qos argument may be passed DDS.DATAWRITER_QOS_DEFAULT, which indicates that the Publisher should use its currently configured default data writer QoS values. The DataWriterListener a_listener, is installed at creation time.
The created DataWriter (if not NULL) must be destroyed by a call to Publisher.delete_datawriter().
This routine will fail if the provided QoS settings are internally inconsistent. In this case, the routine will return NULL.
ReturnCode_t delete_contained_entities | ( | ) | [inline] |
This operation deletes all the DataWriters created by means of the Publisher.create_datawriter() operation on the Publisher p. This routine will recursively call the corresponding delete_contained_entities() operation on each of the contained DataWriter objects. After successful execution, the application may delete the Publisher by calling DomainParticipant.delete_publisher().
If any of the objects cannot be deleted, this routine will return ReturnCode_t.RETCODE_PRECONDITION_NOT_MET.
ReturnCode_t delete_datawriter | ( | DataWriter | datawriter | ) | [inline] |
This operation deletes a DataWriter. If the provided DataWriter a_datawriter was not created by Publisher p, the routine will fail and will return ReturnCode_t.RETCODE_PRECONDITION_NOT_MET.
override ReturnCode_t enable | ( | ) | [inline, virtual] |
Enables the Publisher. A Publisher is created either enabled or not based on the DomainParticipantQos setting entity_factory. When a Publisher is not enabled, only the following sub-set of all Publisher operations are legal:
Any other operation may return the ReturnCode_t.RETCODE_NOT_ENABLED error. Publisher_enable() may be called on an already enabled Subscriber [it will have no effect].
Reimplemented from Entity.
ReturnCode_t end_coherent_changes | ( | ) | [inline] |
ReturnCode_t get_default_datawriter_qos | ( | DataWriterQos | qos | ) | [inline] |
Provides access to the default DataWriterQos settings held in the Publisher p. The provided qos argument is populated with the current default qos settings.
override InstanceHandle_t get_instance_handle | ( | ) | [inline, virtual] |
PublisherListener get_listener | ( | ) | [inline] |
This operation returns the currently installed PublisherListener.
DomainParticipant get_participant | ( | ) | [inline] |
This operation returns the DomainParticipant this Publisher belongs to.
ReturnCode_t get_qos | ( | PublisherQos | qos | ) | [inline] |
Returns the current PublisherQos settings held in the Publisher p. The qos parameter is populated with a copy of the current Publisher QoS properties.
DataWriter lookup_datawriter | ( | String | topic_name | ) | [inline] |
This operation retrieves a previously-created DataWriter contained in the Publisher, attached to a Topic named topic_name. If multiple DataWriters are found, one of them will be returned. If no matching DataWriter is found, this routine will return NULL.
ReturnCode_t resume_publications | ( | ) | [inline] |
ReturnCode_t set_default_datawriter_qos | ( | DataWriterQos | qos | ) | [inline] |
Sets the default DataWriterQos held in the Publisher. This default qos will be used during subsequent calls to Publisher.create_datawriter() if the special DDS.DATAWRITER_QOS_DEFAULT value is provided for qos. This routine may fail if the provided qos argument is not internally consistent. In this case, ReturnCode_t.RETCODE_INCONSISTENT_POLICY will be returned, and no changes will be made to the Publisher.
ReturnCode_t set_listener | ( | PublisherListener | new_listener, | |
uint | mask | |||
) | [inline] |
Installs a PublisherListener on Publisher p. Only one listener may be attached to a Publisher at a time. A call to set_listener() will replace any current listener with a_listener.
a_listener can be NULL, which indicates a listener that does nothing.
ReturnCode_t set_qos | ( | PublisherQos | qos | ) | [inline] |
Sets the PublisherQos values. These QoS values affect the behavior of the Publisher. This routine may fail if the provided qos argument is not internally consistent. In this case, ReturnCode_t.RETCODE_INCONSISTENT_POLICY will be returned, and no changes will be made to the Publisher QoS.
ReturnCode_t suspend_publications | ( | ) | [inline] |
ReturnCode_t wait_for_acknowledgments | ( | Duration_t | max_wait | ) | [inline] |
Block until all writers contained by this publisher have received acknowledgements.
This routine will block until all data written by contained writers has been acknowledged, or until the 'max_wait' duration has passed. 'max_wait' can be set to INFINITE, in which case this routine may block indefinitely.
DDS_RETCODE_TIME_OUT | returned if 'max_wait' passes before all acks are received | |
DDS_RETCODE_OK | returned if all acks have been received before 'max_wait' |