Index

Package: DDS.DomainParticipant

Description

package DDS.DomainParticipant is
(c) Copyright, Real-Time Innovations, $Date:: 2012-02-16 #$ All rights reserved. No duplications, whole or partial, manual or electronic, may be made without express written permission. Any such copies, or revisions thereof, must display this notice unaltered. This code contains trade secrets of Real-Time Innovations, Inc.

Types

Ref (abstract)

type Ref is limited interface and DDS.Entity.Ref;

Ref_Access

type Ref_Access is access all Ref'Class;

Constants & Global variables

TOPIC_QOS_DEFAULT

TOPIC_QOS_DEFAULT : aliased  constant TopicQos with
     Convention => Ada,
     Import,
     Link_Name => "DDS__DomainParticipant__TOPIC_QOS_DEFAULT";

Summary: Special value for creating a DDS.Topic with default QoS.

When used in DDS.DomainParticipant.create_topic, this special value is used to indicate that the DDS.Topic should be created with the default DDS.Topic QoS by means of the operation get_default_topic_qos and using the resulting QoS to create the DDS.Topic.

When used in DDS.DomainParticipant.set_default_topic_qos, this special value is used to indicate that the default QoS should be reset back to the initial value that would be used if the DDS.DomainParticipant.set_default_topic_qos operation had never been called.

When used in DDS.Topic.set_qos, this special value is used to indicate that the QoS of the DDS.Topic should be changed to match the current default QoS set in the DDS.DomainParticipant that the DDS.Topic belongs to.

Note: You cannot use this value to get the default QoS values for a Topic; for this purpose, use DDS.DomainParticipant.get_default_topic_qos.


See also: DDS.DomainParticipant.create_topic
See also: DDS.DomainParticipant.set_default_topic_qos
See also: DDS.Topic.set_qos

PUBLISHER_QOS_DEFAULT

PUBLISHER_QOS_DEFAULT : aliased  constant PublisherQos with
     Convention => Ada,
     Import,
     Link_Name => "DDS__DomainParticipant__PUBLISHER_QOS_DEFAULT";

Summary: Special value for creating a DDS.Publisher with default QoS.

When used in DDS.DomainParticipant.create_publisher, this special value is used to indicate that the DDS.Publisher should be created with the default DDS.Publisher QoS by means of the operation get_default_publisher_qos and using the resulting QoS to create the DDS.Publisher.

When used in DDS.DomainParticipant.set_default_publisher_qos, this special value is used to indicate that the default QoS should be reset back to the initial value that would be used if the DDS.DomainParticipant.set_default_publisher_qos operation had never been called.

When used in DDS.Publisher.set_qos, this special value is used to indicate that the QoS of the DDS.Publisher should be changed to match the current default QoS set in the DDS.DomainParticipant that the DDS.Publisher belongs to.

Note: You cannot use this value to get the default QoS values for a Publisher; for this purpose, use DDS.DomainParticipant.get_default_publisher_qos.


See also: DDS.DomainParticipant.create_publisher
See also: DDS.DomainParticipant.set_default_publisher_qos
See also: DDS.Publisher.set_qos

SUBSCRIBER_QOS_DEFAULT

SUBSCRIBER_QOS_DEFAULT : aliased  constant SubscriberQos with
     Convention => Ada,
     Import,
     Link_Name => "DDS__DomainParticipant__SUBSCRIBER_QOS_DEFAULT";

Summary: Special value for creating a DDS.Subscriber with default QoS.

When used in DDS.DomainParticipant.create_subscriber, this special value is used to indicate that the DDS.Subscriber should be created with the default DDS.Subscriber QoS by means of the operation get_default_subscriber_qos and using the resulting QoS to create the DDS.Subscriber.

When used in DDS.DomainParticipant.set_default_subscriber_qos, this special value is used to indicate that the default QoS should be reset back to the initial value that would be used if the DDS.DomainParticipant.set_default_subscriber_qos operation had never been called.

When used in DDS.Subscriber.set_qos, this special value is used to indicate that the QoS of the DDS.Subscriber should be changed to match the current default QoS set in the DDS.DomainParticipant that the DDS.Subscriber belongs to.

Note: You cannot use this value to get the default QoS values for a Subscriber; for this purpose, use DDS.DomainParticipant.get_default_subscriber_qos.


See also: DDS.DomainParticipant.create_subscriber
See also: DDS.DomainParticipant.get_default_subscriber_qos
See also: DDS.Subscriber.set_qos

FLOW_CONTROLLER_PROPERTY_DEFAULT

FLOW_CONTROLLER_PROPERTY_DEFAULT : aliased  constant FlowControllerProperty_T with
     Convention => Ada,
     Import,
     Link_Name => "DDS__DomainParticipant__FLOW_CONTROLLER_PROPERTY_DEFAULT";

Summary: <<ext>> Special value for creating a DDS.FlowController with default property.

When used in DDS.DomainParticipant.create_flowcontroller, this special value is used to indicate that the DDS.FlowController should be created with the default DDS.FlowController property by means of the operation get_default_flowcontroller_property and using the resulting QoS to create the DDS.FlowControllerProperty_t.

When used in DDS.DomainParticipant.set_default_flowcontroller_property, this special value indicates that the default QoS should be reset back to the initial value that would be used if the DDS.DomainParticipant.set_default_flowcontroller_property operation had never been called.

When used in DDS.FlowController.set_property, this special value is used to indicate that the property of the DDS.FlowController should be changed to match the current default property set in the DDS.DomainParticipant that the DDS.FlowController belongs to.

Note: You cannot use this value to get the default properties for a FlowController; for this purpose, use DDS.DomainParticipant.get_default_flowcontroller_property.


See also: DDS.DomainParticipant.create_flowcontroller
See also: DDS.DomainParticipant.set_default_flowcontroller_property
See also: DDS.FlowController.set_property

Subprograms & Entries

Enable (abstract)

procedure Enable 
(Self: not null access Ref) is abstract;

Get_StatusCondition (abstract)

function Get_StatusCondition 
(Self: not null access Ref) return DDS.StatusCondition.Ref_Access is abstract;

Get_Status_Changes (abstract)

function Get_Status_Changes 
(Self: not null access Ref) return DDS.StatusMask is abstract;

Get_Instance_Handle (abstract)

function Get_Instance_Handle 
(Self: not null access Ref) return DDS.InstanceHandle_T is abstract;

Get_Entity_Kind (abstract)

function Get_Entity_Kind 
(Self: not null access Ref) return DDS.EntityKind_T is abstract;

Create_Publisher (abstract)

function Create_Publisher 
(Self: not null access Ref;
Qos: in DDS.PublisherQos := PUBLISHER_QOS_DEFAULT;
A_Listener: in DDS.PublisherListener.Ref_Access := null;
Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Publisher.Ref_Access is abstract;

Summary: Creates a DDS.Publisher with the desired QoS policies and attaches to it the specified DDS.PublisherListener.

Precondition: The specified QoS policies must be consistent, or the operation will fail and no DDS.Publisher will be created.

MT Safety:
UNSAFE. If DDS.PUBLISHER_QOS_DEFAULT is used for qos, it is not safe to create the publisher while another thread may be simultaneously calling DDS.DomainParticipant.set_default_publisher_qos.

self: <<in>> Cannot be NULL

qos: <<in>> QoS to be used for creating the new DDS.Publisher. The special value DDS.PUBLISHER_QOS_DEFAULT can be used to indicate that the DDS.Publisher should be created with the default DDS.PublisherQos set in the DDS.DomainParticipant. Cannot be NULL.

listener: <<in>>. Listener to be attached to the newly created DDS.Publisher.

mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

Returns: newly created publisher object or NULL on failure.


See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.PublisherQos for rules on consistency among QoS
See also: DDS.PUBLISHER_QOS_DEFAULT
See also: DDS.DomainParticipant.create_publisher_with_profile
See also: DDS.DomainParticipant.get_default_publisher_qos
See also: DDS.Publisher.set_listener

Create_Publisher_With_Profile (abstract)

function Create_Publisher_With_Profile 
(Self: not null access Ref;
Library_Name: in DDS.String;
profile_name: in DDS.String;
A_Listener: in DDS.PublisherListener.Ref_Access := null;
Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Publisher.Ref_Access is abstract;

Create_Publisher_With_Profile (abstract)

function Create_Publisher_With_Profile 
(Self: not null access Ref;
Library_Name: in Standard.String;
profile_name: in Standard.String;
A_Listener: in DDS.PublisherListener.Ref_Access := null;
Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Publisher.Ref_Access is abstract;

Summary: <<ext>> Creates a new DDS.Publisher object using the DDS.PublisherQos associated with the input XML QoS profile.

Precondition: The DDS.PublisherQos in the input profile must be consistent, or the operation will fail and no DDS.Publisher will be created.

self: <<in>> Cannot be NULL

library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

listener: <<in>>. Listener to be attached to the newly created DDS.Publisher.

mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

Returns: newly created publisher object or NULL on failure.


See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.PublisherQos for rules on consistency among QoS
See also: DDS.DomainParticipant.create_publisher
See also: DDS.DomainParticipant.get_default_publisher_qos
See also: DDS.Publisher.set_listener

Delete_Publisher (abstract)

procedure Delete_Publisher 
(Self: not null access Ref;
Publisher: in out DDS.Publisher.Ref_Access) is abstract;

Summary: Deletes an existing DDS.Publisher.

Precondition: The DDS.Publisher must not have any attached DDS.DataWriter objects. If there are existing DDS.DataWriter objects, it will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

Precondition: DDS.Publisher must have been created by this DDS.DomainParticipant, or else it will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

Postcondition: Listener installed on the DDS.Publisher will not be called after this procedure completes successfully.

@mtsafety_delete

self: <<in>> Cannot be NULL

p: <<in>> DDS.Publisher to be deleted.

Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_PRECONDITION_NOT_MET.

Create_Subscriber (abstract)

function Create_Subscriber 
(Self: not null access Ref;
Qos: in DDS.SubscriberQos := SUBSCRIBER_QOS_DEFAULT;
A_Listener: in DDS.SubscriberListener.Ref_Access := null;
Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Subscriber.Ref_Access is abstract;

Summary: Creates a DDS.Subscriber with the desired QoS policies and attaches to it the specified DDS.SubscriberListener.

Precondition: The specified QoS policies must be consistent, or the operation will fail and no DDS.Subscriber will be created.

MT Safety:
UNSAFE. If DDS.SUBSCRIBER_QOS_DEFAULT is used for qos, it is not safe to create the subscriber while another thread may be simultaneously calling DDS.DomainParticipant.set_default_subscriber_qos.

self: <<in>> Cannot be NULL

qos: <<in>> QoS to be used for creating the new DDS.Subscriber. The special value DDS.SUBSCRIBER_QOS_DEFAULT can be used to indicate that the DDS.Subscriber should be created with the default DDS.SubscriberQos set in the DDS.DomainParticipant. Cannot be NULL.

listener: <<in>>. Listener to be attached to the newly created DDS.Subscriber.

mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

Returns: newly created subscriber object or NULL on failure.


See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.SubscriberQos for rules on consistency among QoS
See also: DDS.SUBSCRIBER_QOS_DEFAULT
See also: DDS.DomainParticipant.create_subscriber_with_profile
See also: DDS.DomainParticipant.get_default_subscriber_qos
See also: DDS.Subscriber.set_listener

Create_Subscriber_With_Profile (abstract)

function Create_Subscriber_With_Profile 
(Self: not null access Ref;
Library_Name: in DDS.String;
profile_name: in DDS.String;
A_Listener: in DDS.SubscriberListener.Ref_Access := null;
Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Subscriber.Ref_Access is abstract;

Create_Subscriber_With_Profile (abstract)

function Create_Subscriber_With_Profile 
(Self: not null access Ref;
Library_Name: in Standard.String;
profile_name: in Standard.String;
A_Listener: in DDS.SubscriberListener.Ref_Access := null;
Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Subscriber.Ref_Access is abstract;

Summary: <<ext>> Creates a new DDS.Subscriber object using the DDS.PublisherQos associated with the input XML QoS profile.

Precondition: The DDS.SubscriberQos in the input profile must be consistent, or the operation will fail and no DDS.Subscriber will be created.

self: <<in>> Cannot be NULL

library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

listener: <<in>>. Listener to be attached to the newly created DDS.Subscriber.

mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

Returns: newly created subscriber object or NULL on failure.


See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.SubscriberQos for rules on consistency among QoS
See also: DDS.DomainParticipant.create_subscriber
See also: DDS.DomainParticipant.get_default_subscriber_qos
See also: DDS.Subscriber.set_listener

Delete_Subscriber (abstract)

procedure Delete_Subscriber 
(Self: not null access Ref;
S: in out DDS.Subscriber.Ref_Access) is abstract;

Summary: Deletes an existing DDS.Subscriber.

Precondition: The DDS.Subscriber must not have any attached DDS.DataReader objects. If there are existing DDS.DataReader objects, it will fail with DDS.RETCODE_PRECONDITION_NOT_MET

Precondition: The DDS.Subscriber must have been created by this DDS.DomainParticipant, or else it will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

Postcondition: A Listener installed on the DDS.Subscriber will not be called after this procedure completes successfully.

@mtsafety_delete

self: <<in>> Cannot be NULL

s: <<in>> DDS.Subscriber to be deleted.

Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_PRECONDITION_NOT_MET.

Create_DataWriter (abstract)

function Create_DataWriter 
(Self: not null access Ref;
A_Topic: in DDS.Topic.Ref_Access;
Qos: in DDS.DataWriterQos := DDS.Publisher.DATAWRITER_QOS_DEFAULT;
A_Listener: in DDS.DataWriterListener.Ref_Access := null;
Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataWriter.Ref_Access is abstract;

Summary: <<ext>> Creates a DDS.DataWriter that will be attached and belong to the implicit DDS.Publisher.

Precondition: The given DDS.Topic must have been created from the same DomainParticipant as the implicit Publisher. If it was created from a different DomainParticipant, this procedure will fail.

The DDS.DataWriter created using this procedure will be associated with the implicit Publisher. This Publisher is automatically created (if it does not exist) using DDS.PUBLISHER_QOS_DEFAULT when the following procedures are called: DDS.DomainParticipant.create_datawriter, DDS.DomainParticipant.create_datawriter_with_profile, or DDS.DomainParticipant.get_implicit_publisher.

MT Safety:
UNSAFE. If DDS.DATAWRITER_QOS_DEFAULT is used for the qos parameter, it is not safe to create the DataWriter while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datawriter_qos.

self: <<in>> Cannot be NULL

topic: <<in>> The DDS.Topic that the DDS.DataWriter will be associated with. Cannot be NULL.

qos: <<in>> QoS to be used for creating the new DDS.DataWriter. The special value DDS.DATAWRITER_QOS_DEFAULT can be used to indicate that the DDS.DataWriter should be created with the default DDS.DataWriterQos set in the implicit DDS.Publisher. The special value DDS.DATAWRITER_QOS_USE_TOPIC_QOS can be used to indicate that the DDS.DataWriter should be created with the combination of the default DDS.DataWriterQos set on the DDS.Publisher and the DDS.TopicQos of the DDS.Topic. Cannot be NULL.

listener: <<in>> The listener of the DDS.DataWriter.

mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

Returns: A DDS.DataWriter of a derived class specific to the data type associated with the DDS.Topic or NULL if an error occurred.


See also: FooDataWriter
See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.DataWriterQos for rules on consistency among QoS
See also: DDS.DATAWRITER_QOS_DEFAULT
See also: DDS.DATAWRITER_QOS_USE_TOPIC_QOS
See also: DDS.DomainParticipant.create_datawriter_with_profile
See also: DDS.DomainParticipant.get_default_datawriter_qos
See also: DDS.DomainParticipant.get_implicit_publisher
See also: DDS.Topic.set_qos
See also: DDS.DataWriter.set_listener

Create_DataWriter_With_Profile (abstract)

function Create_DataWriter_With_Profile 
(Self: not null access Ref;
A_Topic: in DDS.Topic.Ref_Access;
Library_Name: in DDS.String;
profile_name: in DDS.String;
A_Listener: in DDS.DataWriterListener.Ref_Access := null;
Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataWriter.Ref_Access is abstract;

Create_DataWriter_With_Profile (abstract)

function Create_DataWriter_With_Profile 
(Self: not null access Ref;
A_Topic: in DDS.Topic.Ref_Access;
Library_Name: in Standard.String;
profile_name: in Standard.String;
A_Listener: in DDS.DataWriterListener.Ref_Access := null;
Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataWriter.Ref_Access is abstract;

Summary: <<ext>> Creates a DDS.DataWriter using a XML QoS profile that will be attached and belong to the implicit DDS.Publisher.

Precondition: The given DDS.Topic must have been created from the same DomainParticipant as the implicit Publisher. If it was created from a different DomainParticipant, this procedure will return NULL.

The DDS.DataWriter created using this procedure will be associated with the implicit Publisher. This Publisher is automatically created (if it does not exist) using DDS.PUBLISHER_QOS_DEFAULT when the following procedures are called: DDS.DomainParticipant.create_datawriter, DDS.DomainParticipant.create_datawriter_with_profile, or DDS.DomainParticipant.get_implicit_publisher

self: <<in>> Cannot be NULL

topic: <<in>> The DDS.Topic that the DDS.DataWriter will be associated with. Cannot be NULL.

library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

listener: <<in>> The listener of the DDS.DataWriter.

mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

Returns: A DDS.DataWriter of a derived class specific to the data type associated with the DDS.Topic or NULL if an error occurred.


See also: FooDataWriter
See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.DataWriterQos for rules on consistency among QoS
See also: DDS.DomainParticipant.create_datawriter
See also: DDS.DomainParticipant.get_default_datawriter_qos
See also: DDS.DomainParticipant.get_implicit_publisher
See also: DDS.Topic.set_qos
See also: DDS.DataWriter.set_listener

Delete_DataWriter (abstract)

procedure Delete_DataWriter 
(Self: not null access Ref;
A_DataWriter: in out DDS.DataWriter.Ref_Access) is abstract;

Summary: <<ext>> Deletes a DDS.DataWriter that belongs to the implicit DDS.Publisher.

The deletion of the DDS.DataWriter will automatically unregister all instances. Depending on the settings of the DDSWriterDataLifecycleQosModule QosPolicy, the deletion of the DDS.DataWriter may also dispose all instances.

Special Instructions if Using 'Timestamp' APIs and BY_SOURCE_TIMESTAMP Destination Ordering:

If the DataWriter's DDS.DestinationOrderQosPolicy.kind is DDS.BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS, calls to delete_datawriter() may fail if your application has previously used the 'with timestamp' APIs (write_w_timestamp(), register_instance_w_timestamp(), unregister_instance_w_timestamp(), or dispose_w_timestamp()) with a timestamp larger (later) than the time at which delete_datawriter() is called. To prevent delete_datawriter() from failing in this situation, either:

  • Change the DDSWriterDataLifecycleQosModule QosPolicy so that RTI Connext will not autodispose unregistered instances (set DDS.WriterDataLifecycleQosPolicy.autodispose_unregistered_instances to DDS.BOOLEAN_FALSE.) or
  • Explicitly call unregister_instance_w_timestamp() for all instances modified with the *_w_timestamp() APIs before calling delete_datawriter().

    Precondition: If the DDS.DataWriter does not belong to the implicit DDS.Publisher, the operation will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

    Postcondition: Listener installed on the DDS.DataWriter will not be called after this procedure completes successfully.

    @mtsafety_delete

    self: <<in>> Cannot be NULL

    a_datawriter: <<in>> The DDS.DataWriter to be deleted.

    Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_PRECONDITION_NOT_MET.


    See also: DDS.DomainParticipant.get_implicit_publisher

  • Create_DataReader (abstract)

    function Create_DataReader 
    (Self: not null access Ref;
    Topic: not null access DDS.TopicDescription.Ref'Class;
    Qos: in DDS.DataReaderQoS := DDS.Subscriber.DATAREADER_QOS_DEFAULT;
    A_Listener: in DDS.DataReaderListener.Ref_Access := null;
    Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataReader.Ref_Access is abstract;

    Summary: <<ext>> Creates a DDS.DataReader that will be attached and belong to the implicit DDS.Subscriber.

    Precondition: The given DDS.TopicDescription must have been created from the same DomainParticipant as the implicit Subscriber. If it was created from a different DomainParticipant, this procedure will return NULL.

    The DDS.DataReader created using this procedure will be associated with the implicit Subscriber. This Subscriber is automatically created (if it does not exist) using DDS.SUBSCRIBER_QOS_DEFAULT when the following procedures are called: DDS.DomainParticipant.create_datareader, DDS.DomainParticipant.create_datareader_with_profile, or DDS.DomainParticipant.get_implicit_subscriber.

    MT Safety:
    UNSAFE. If DDS.DATAREADER_QOS_DEFAULT is used for the qos parameter, it is not safe to create the datareader while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datareader_qos.

    self: <<in>> Cannot be NULL

    topic: <<in>> The DDS.TopicDescription that the DDS.DataReader will be associated with. Cannot be NULL.

    qos: <<in>> The qos of the DDS.DataReader. The special value DDS.DATAREADER_QOS_DEFAULT can be used to indicate that the DDS.DataReader should be created with the default DDS.DataReaderQos set in the implicit DDS.Subscriber. If DDS.TopicDescription is of type DDS.Topic or DDS.ContentFilteredTopic, the special value DDS.DATAREADER_QOS_USE_TOPIC_QOS can be used to indicate that the DDS.DataReader should be created with the combination of the default DDS.DataReaderQos set on the implicit DDS.Subscriber and the DDS.TopicQos (in the case of a DDS.ContentFilteredTopic, the DDS.TopicQos of the related DDS.Topic). if DDS.DATAREADER_QOS_USE_TOPIC_QOS is used, topic cannot be a DDS.MultiTopic. Cannot be NULL.

    listener: <<in>> The listener of the DDS.DataReader.

    mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

    Returns: A DDS.DataReader of a derived class specific to the data-type associated with the DDS.Topic or NULL if an error occurred.


    See also: FooDataReader
    See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
    See also: DDS.DataReaderQos for rules on consistency among QoS
    See also: DDS.DomainParticipant.create_datareader_with_profile
    See also: DDS.DomainParticipant.get_default_datareader_qos
    See also: DDS.DomainParticipant.get_implicit_subscriber
    See also: DDS.Topic.set_qos
    See also: DDS.DataReader.set_listener

    Create_DataReader_With_Profile (abstract)

    function Create_DataReader_With_Profile 
    (Self: not null access Ref;
    Topic: not null access DDS.TopicDescription.Ref'Class;
    Library_Name: in DDS.String;
    profile_name: in DDS.String;
    A_Listener: in DDS.DataReaderListener.Ref_Access := null;
    Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataReader.Ref_Access is abstract;

    Summary: <<ext>> Creates a DDS.DataReader using a XML QoS profile that will be attached and belong to the implicit DDS.Subscriber.

    Precondition: The given DDS.TopicDescription must have been created from the same DomainParticipant as the implicit subscriber. If it was created from a different DomainParticipant, this procedure will return NULL.

    The DDS.DataReader created using this procedure will be associated with the implicit Subscriber. This Subscriber is automatically created (if it does not exist) using DDS.SUBSCRIBER_QOS_DEFAULT when the following procedures are called: DDS.DomainParticipant.create_datareader, DDS.DomainParticipant.create_datareader_with_profile, or DDS.DomainParticipant.get_implicit_subscriber

    self: <<in>> Cannot be NULL

    topic: <<in>> The DDS.TopicDescription that the DDS.DataReader will be associated with. Cannot be NULL.

    library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

    profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

    listener: <<in>> The listener of the DDS.DataReader.

    mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

    Returns: A DDS.DataReader of a derived class specific to the data-type associated with the DDS.Topic or NULL if an error occurred.


    See also: FooDataReader
    See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
    See also: DDS.DataReaderQos for rules on consistency among QoS
    See also: DDS.DomainParticipant.create_datareader
    See also: DDS.DomainParticipant.get_default_datareader_qos
    See also: DDS.DomainParticipant.get_implicit_subscriber
    See also: DDS.Topic.set_qos
    See also: DDS.DataReader.set_listener

    Delete_DataReader (abstract)

    procedure Delete_DataReader 
    (Self: not null access Ref;
    A_DataReader: in out DDS.DataReader.Ref_Access) is abstract;

    Summary: <<ext>> Deletes a DDS.DataReader that belongs to the implicit DDS.Subscriber.

    Precondition: If the DDS.DataReader does not belong to the implicit DDS.Subscriber, or if ther are any existing DDS.ReadCondition or DDS.QueryCondition objects that are attached to the DDS.DataReader, or if there are outstanding loans on samples (as a result of a call to read(), take(), or one of the variants thereof), the operation fails with the error DDS.RETCODE_PRECONDITION_NOT_MET.

    Postcondition: Listener installed on the DDS.DataReader will not be called after this procedure completes successfully.

    @mtsafety_delete

    self: <<in>> Cannot be NULL

    a_datareader: <<in>> The DDS.DataReader to be deleted.

    Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_PRECONDITION_NOT_MET.


    See also: DDS.DomainParticipant.get_implicit_subscriber

    Get_Builtin_Subscriber (abstract)

    function Get_Builtin_Subscriber 
    (Self: not null access Ref) return DDS.Subscriber.Ref_Access is abstract;

    Summary: Accesses the built-in DDS.Subscriber.

    Each DDS.DomainParticipant contains several built-in DDS.Topic objects as well as corresponding DDS.DataReader objects to access them. All of these DDS.DataReader objects belong to a single built-in DDS.Subscriber.

    The built-in Topics are used to communicate information about other DDS.DomainParticipant, DDS.Topic, DDS.DataReader, and DDS.DataWriter objects.

    The built-in subscriber is created when this operation is called for the first time. The built-in subscriber is deleted automatically when the DDS.DomainParticipant is deleted.

    self: <<in>> Cannot be NULL

    Returns: The built-in DDS.Subscriber singleton.


    See also: DDS.SubscriptionBuiltinTopicData
    See also: DDS.PublicationBuiltinTopicData
    See also: DDS.ParticipantBuiltinTopicData
    See also: DDS.TopicBuiltinTopicData

    Get_Implicit_Publisher (abstract)

    function Get_Implicit_Publisher 
    (Self: not null access Ref) return DDS.Publisher.Ref_Access is abstract;

    Summary: <<ext>> Returns the implicit DDS.Publisher. If an implicit Publisher does not already exist, this creates one.

    There can only be one implicit Publisher per DomainParticipant.

    The implicit Publisher is created with DDS.PUBLISHER_QOS_DEFAULT and no Listener.

    This implicit Publisher will be deleted automatically when the following procedures are called: DDS.DomainParticipant.delete_contained_entities, or DDS.DomainParticipant.delete_publisher with the implicit publisher as a parameter. Additionally, when a DomainParticipant is deleted, if there are no attached DataWriters that belong to the implicit Publisher, the implicit Publisher will be implicitly deleted.

    self: <<in>> Cannot be NULL

    Returns: The implicit publisher


    See also: DDS.PUBLISHER_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_publisher

    Get_Implicit_Subscriber (abstract)

    function Get_Implicit_Subscriber 
    (Self: not null access Ref) return DDS.Subscriber.Ref_Access is abstract;

    Summary: <<ext>> Returns the implicit DDS.Subscriber. If an implicit Subscriber does not already exist, this creates one.

    There can only be one implicit Subscriber per DomainParticipant.

    The implicit Subscriber is created with DDS.SUBSCRIBER_QOS_DEFAULT and no Listener.

    This implicit Subscriber will be deleted automatically when the following procedures are called: DDS.DomainParticipant.delete_contained_entities, or DDS.DomainParticipant.delete_subscriber with the subscriber as a parameter. Additionally, when a DomainParticipant is deleted, if there are no attached DataReaders that belong to the implicit Subscriber, the implicit Subscriber will be implicitly deleted.

    MT Safety:
    UNSAFE. it is not safe to create the implicit subscriber while another thread may be simultaneously calling DDS.DomainParticipant.set_default_subscriber_qos.

    self: <<in>> Cannot be NULL

    Returns: The implicit subscriber


    See also: DDS.SUBSCRIBER_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_subscriber

    MT Safety:
    UNSAFE. it is not safe to create the implicit subscriber while another thread may be simultaneously calling DDS.DomainParticipant.set_default_subscriber_qos.

    Create_Topic (abstract)

    function Create_Topic 
    (Self: not null access Ref;
    Topic_Name: in DDS.String;
    Type_Name: in DDS.String;
    Qos: in DDS.TopicQos := TOPIC_QOS_DEFAULT;
    A_Listener: in DDS.TopicListener.Ref_Access := null;
    Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Topic.Ref_Access is abstract;

    Summary: Creates a DDS.Topic with the desired QoS policies and attaches to it the specified DDS.TopicListener.

    Precondition: The application is not allowed to create two DDS.Topic objects with the same topic_name attached to the same DDS.DomainParticipant. If the application attempts this, this procedure will fail and return a NULL topic.

    Precondition: The specified QoS policies must be consistent, or the operation will fail and no DDS.Topic will be created.

    Precondition: Prior to creating a DDS.Topic, the type must have been registered with dds. This is done using the FooTypeSupport.register_type operation on a derived class of the DDS.TypeSupport interface.

    MT Safety:
    UNSAFE. It is not safe to create a topic while another thread is trying to lookup that topic description with DDS.DomainParticipant.lookup_topicdescription.

    MT Safety:
    UNSAFE. If DDS.TOPIC_QOS_DEFAULT is used for qos, it is not safe to create the topic while another thread may be simultaneously calling DDS.DomainParticipant.set_default_topic_qos.

    self: <<in>> Cannot be NULL

    topic_name: <<in>> Name for the new topic, must not exceed 255 characters. Cannot be NULL.

    type_name: <<in>> The type to which the new DDS.Topic will be bound. Cannot be NULL.

    qos: <<in>> QoS to be used for creating the new DDS.Topic. The special value DDS.TOPIC_QOS_DEFAULT can be used to indicate that the DDS.Topic should be created with the default DDS.TopicQos set in the DDS.DomainParticipant. Cannot be NULL.

    listener: <<in>>. Listener to be attached to the newly created DDS.Topic.

    mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

    Returns: newly created topic, or NULL on failure


    See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
    See also: DDS.TopicQos for rules on consistency among QoS
    See also: DDS.TOPIC_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_topic_with_profile
    See also: DDS.DomainParticipant.get_default_topic_qos
    See also: DDS.Topic.set_listener

    Create_Topic_With_Profile (abstract)

    function Create_Topic_With_Profile 
    (Self: not null access Ref;
    Topic_Name: in DDS.String;
    Type_Name: in DDS.String;
    Library_Name: in DDS.String;
    profile_name: in DDS.String;
    A_Listener: in DDS.TopicListener.Ref_Access := null;
    Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Topic.Ref_Access is abstract;

    Create_Topic_With_Profile (abstract)

    function Create_Topic_With_Profile 
    (Self: not null access Ref;
    Topic_Name: in DDS.String;
    Type_Name: in DDS.String;
    Library_Name: in Standard.String;
    profile_name: in Standard.String;
    A_Listener: in DDS.TopicListener.Ref_Access := null;
    Mask: in DDS.StatusMask := STATUS_MASK_NONE) return DDS.Topic.Ref_Access is abstract;

    Summary: <<ext>> Creates a new DDS.Topic object using the DDS.PublisherQos associated with the input XML QoS profile.

    Precondition: The application is not allowed to create two DDS.TopicDescription objects with the same topic_name attached to the same DDS.DomainParticipant. If the application attempts this, this procedure will fail and return a NULL topic.

    Precondition: The DDS.TopicQos in the input profile must be consistent, or the operation will fail and no DDS.Topic will be created.

    Precondition: Prior to creating a DDS.Topic, the type must have been registered with dds. This is done using the FooTypeSupport.register_type operation on a derived class of the DDS.TypeSupport interface.

    MT Safety:
    UNSAFE. It is not safe to create a topic while another thread is trying to lookup that topic description with DDS.DomainParticipant.lookup_topicdescription.

    self: <<in>> Cannot be NULL

    topic_name: <<in>> Name for the new topic, must not exceed 255 characters. Cannot be NULL.

    type_name: <<in>> The type to which the new DDS.Topic will be bound. Cannot be NULL.

    library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

    profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

    listener: <<in>>. Listener to be attached to the newly created DDS.Topic.

    mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.

    Returns: newly created topic, or NULL on failure


    See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
    See also: DDS.TopicQos for rules on consistency among QoS
    See also: DDS.DomainParticipant.create_topic
    See also: DDS.DomainParticipant.get_default_topic_qos
    See also: DDS.Topic.set_listener

    Delete_Topic (abstract)

    procedure Delete_Topic 
    (Self: not null access Ref;
    A_Topic: in out DDS.Topic.Ref_Access) is abstract;

    Summary: Deletes a DDS.Topic.

    Precondition: If the DDS.Topic does not belong to the application's DDS.DomainParticipant, this operation fails with DDS.RETCODE_PRECONDITION_NOT_MET.

    Precondition: Make sure no objects are using the topic. More specifically, there must be no existing DDS.DataReader, DDS.DataWriter, DDS.ContentFilteredTopic, or DDS.MultiTopic objects belonging to the same DDS.DomainParticipant that are using the DDS.Topic. If delete_topic is called on a DDS.Topic with any of these existing objects attached to it, it will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

    Postcondition: Listener installed on the DDS.Topic will not be called after this procedure completes successfully.

    @mtsafety_delete

    self: <<in>> Cannot be NULL

    topic: <<in>> DDS.Topic to be deleted.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_PRECONDITION_NOT_MET

    Find_Topic (abstract)

    function Find_Topic 
    (Self: not null access Ref;
    Topic_Name: in DDS.String;
    Timeout: in DDS.Duration_T) return DDS.Topic.Ref_Access is abstract;

    Summary: Finds an existing (or ready to exist) DDS.Topic, based on its name.

    This call can be used to block for a specified duration to wait for the DDS.Topic to be created.

    If the requested DDS.Topic already exists, it is returned. Otherwise, find_topic() waits until another thread creates it or else returns when the specified timeout occurs.

    find_topic() is useful when multiple threads are concurrently creating and looking up topics. In that case, one thread can call find_topic() and, if another thread has not yet created the topic being looked up, it can wait for some period of time for it to do so. In almost all other cases, it is more straightforward to call DDS.DomainParticipant.lookup_topicdescription.

    The DDS.DomainParticipant must already be enabled.

    Note: Each DDS.Topic obtained by DDS.DomainParticipant.find_topic must also be deleted by means of DDS.DomainParticipant.delete_topic. If DDS.Topic is obtained multiple times by means of DDS.DomainParticipant.find_topic or DDS.DomainParticipant.create_topic, it must also be deleted that same number of times using DDS.DomainParticipant.delete_topic.

    self: <<in>> Cannot be NULL

    topic_name: <<in>> Name of the DDS.Topic to search for. Cannot be NULL.

    timeout: <<in>> The time to wait if the DDS.Topic does not exist already. Cannot be NULL.

    Returns: the topic, if it exists, or NULL

    Lookup_Topicdescription (abstract)

    function Lookup_Topicdescription 
    (Self: not null access Ref;
    Name: in DDS.String) return DDS.TopicDescription.Ref_Access is abstract;

    Summary: Looks up an existing, locally created DDS.TopicDescription, based on its name.

    DDS.TopicDescription is the base class for DDS.Topic, DDS.MultiTopic and DDS.ContentFilteredTopic. So you can narrow the DDS.TopicDescription returned from this operation to a DDS.Topic or DDS.ContentFilteredTopic as appropriate.

    Unlike DDS.DomainParticipant.find_topic, which logically returns a new DDS.Topic object that must be independently deleted, this operation returns a reference to the original local object.

    The DDS.DomainParticipant does not have to be enabled when you call lookup_topicdescription().

    The returned topic may be either enabled or disabled.

    MT Safety:
    UNSAFE. It is not safe to lookup a topic description while another thread is creating that topic.

    self: <<in>> Cannot be NULL

    topic_name: <<in>> Name of DDS.TopicDescription to search for. This string must be no more than 255 characters; it cannot be NULL.

    Returns: The topic description, if it has already been created locally, otherwise it returns NULL.

    Create_Contentfilteredtopic (abstract)

    function Create_Contentfilteredtopic 
    (Self: not null access Ref;
    Name: in DDS.String;
    Related_Topic: in DDS.Topic.Ref_Access;
    Filter_Expression: in DDS.String;
    Expression_Parameters: access DDS.String_Seq.Sequence) return DDS.ContentFilteredTopic.Ref_Access is abstract;

    Summary: Creates a DDS.ContentFilteredTopic, that can be used to do content-based subscriptions.

    The DDS.ContentFilteredTopic only relates to samples published under that DDS.Topic, filtered according to their content. The filtering is done by means of evaluating a logical expression that involves the values of some of the data-fields in the sample. The logical expression derived from the filter_expression and expression_parameters arguments.

    DDSQueryAndFilterSyntaxModule describes the syntax of filter_expression and expression_parameters.

    Precondition: The application is not allowed to create two DDS.ContentFilteredTopic objects with the same topic_name attached to the same DDS.DomainParticipant. If the application attempts this, this procedure will fail and returns NULL.

    Precondition: If related_topic does not belong to this DDS.DomainParticipant, this operation returns NULL.

    Precondition: This function will create a content filter using the builtin SQL filter which implements a superset of the DDS specification. This filter requires that all IDL types have been compiled with typecodes. If this precondition is not met, this operation returns NULL.

    self: <<in>> Cannot be NULL

    name: <<in>> Name for the new content filtered topic, must not exceed 255 characters. Cannot be NULL.

    related_topic: <<in>> DDS.Topic to be filtered. Cannot be NULL.

    filter_expression: <<in>> Cannot be NULL

    expression_parameters: <<in>> Cannot be NULL. An empty sequence must be used if the filter expression does not contain any parameters. Length of sequence cannot be greater than 100.

    Returns: newly created DDS.ContentFilteredTopic, or NULL on failure

    Delete_Contentfilteredtopic (abstract)

    procedure Delete_Contentfilteredtopic 
    (Self: not null access Ref;
    A_Contentfilteredtopic: in out DDS.ContentFilteredTopic.Ref_Access) is abstract;

    Summary: Deletes a DDS.ContentFilteredTopic.

    Precondition: The deletion of a DDS.ContentFilteredTopic is not allowed if there are any existing DDS.DataReader objects that are using the DDS.ContentFilteredTopic. If the operation is called on a DDS.ContentFilteredTopic with existing DDS.DataReader objects attached to it, it will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

    Precondition: The DDS.ContentFilteredTopic must be created by this DDS.DomainParticipant, or else this operation will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

    @mtsafety_delete

    self: <<in>> Cannot be NULL

    a_contentfilteredtopic: <<in>>

    Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_PRECONDITION_NOT_MET

    Create_MultiTopic (abstract)

    function Create_MultiTopic 
    (Self: not null access Ref;
    Name: in DDS.String;
    Type_Name: in DDS.String;
    Subscription_Expression: in DDS.String;
    Expression_Parameters: access DDS.String_Seq.Sequence) return DDS.MultiTopic.Ref_Access is abstract;

    Summary: Not supported Creates a MultiTopic that can be used to subscribe to multiple topics and combine/filter the received data into a resulting type.

    The resulting type is specified by the type_name argument. The list of topics and the logic used to combine, filter, and rearrange the information from each DDS.Topic are specified using the subscription_expression and expression_parameters arguments.

    DDSQueryAndFilterSyntaxModule describes the syntax of subscription_expression and expression_parameters.

    Precondition: The application is not allowed to create two DDS.TopicDescription objects with the same name attached to the same DDS.DomainParticipant. If the application attempts this, this procedure will fail and return NULL.

    Precondition: Prior to creating a DDS.MultiTopic, the type must have been registered with dds. This is done using the FooTypeSupport.register_type operation on a derived class of the DDS.TypeSupport interface. Otherwise, this procedure will return NULL.

    self: <<in>> Cannot be NULL

    name: <<in>> Name of the newly create DDS.MultiTopic. Cannot be NULL.

    type_name: <<in>> Cannot be NULL.

    subscription_expression: <<in>> Cannot be NULL.

    expression_parameters: <<in>> Cannot be NULL.

    Returns: NULL

    Delete_MultiTopic (abstract)

    procedure Delete_MultiTopic 
    (Self: not null access Ref;
    MTopic: in out DDS.MultiTopic.Ref_Access) is abstract;

    Summary: Not supported Deletes a DDS.MultiTopic.

    Precondition: The deletion of a DDS.MultiTopic is not allowed if there are any existing DDS.DataReader objects that are using the DDS.MultiTopic. If the delete_multitopic operation is called on a DDS.MultiTopic with existing DDS.DataReader objects attached to it, it will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

    Precondition: The DDS.MultiTopic must be created by this DDS.DomainParticipant, or else this operation will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

    @mtsafety_delete

    self: <<in>> Cannot be NULL

    a_multitopic: <<in>>

    Raises: DDS.RETCODE_UNSUPPORTED

    Delete_Contained_Entities (abstract)

    procedure Delete_Contained_Entities 
    (Self: not null access Ref) is abstract;

    Summary: Delete all the entities that were created by means of the "create" operations on the DDS.DomainParticipant.

    This operation deletes all contained DDS.Publisher (including an implicit Publisher, if one exists), DDS.Subscriber (including implicit subscriber), DDS.Topic, DDS.ContentFilteredTopic, and DDS.MultiTopic objects.

    Prior to deleting each contained entity, this operation will recursively call the corresponding delete_contained_entities operation on each contained entity (if applicable). This pattern is applied recursively. In this manner the operation delete_contained_entities() on the DDS.DomainParticipant will end up deleting all the entities recursively contained in the DDS.DomainParticipant, that is also the DDS.DataWriter, DDS.DataReader, as well as the DDS.QueryCondition and DDS.ReadCondition objects belonging to the contained DDS.DataReader.

    The operation will fail with DDS.RETCODE_PRECONDITION_NOT_MET if any of the contained entities is in a state where it cannot be deleted.

    If delete_contained_entities() completes successfully, the application may delete the DDS.DomainParticipant knowing that it has no contained entities.

    @mtsafety_delete

    self: <<in>> Cannot be NULL

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_PRECONDITION_NOT_MET.

    Set_Qos (abstract)

    procedure Set_Qos 
    (Self: not null access Ref;
    Qos: in DDS.DomainParticipantQos) is abstract;

    Summary: Change the QoS of this DomainParticipant.

    The DDS.DomainParticipantQos.user_data and DDS.DomainParticipantQos.entity_factory can be changed. The other policies are immutable.

    self: <<in>> Cannot be NULL

    qos: <<in>> Set of policies to be applied to DDS.DomainParticipant. Policies must be consistent. Immutable policies cannot be changed after DDS.DomainParticipant is enabled. The special value DDS.PARTICIPANT_QOS_DEFAULT can be used to indicate that the QoS of the DDS.DomainParticipant should be changed to match the current default DDS.DomainParticipantQos set in the DDS.DomainParticipantFactory. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_IMMUTABLE_POLICY if an immutable policy is changed, or DDS.RETCODE_INCONSISTENT_POLICY if policies are inconsistent


    See also: DDS.DomainParticipantQos for rules on consistency among QoS policies


    See also: Entity_set_qos

    Set_Qos_With_Profile (abstract)

    procedure Set_Qos_With_Profile 
    (Self: not null access Ref;
    library_name: in String;
    profile_name: in String) is abstract;

    Set_Qos_With_Profile (abstract)

    procedure Set_Qos_With_Profile 
    (Self: not null access Ref;
    library_name: in Standard.String;
    profile_name: in Standard.String) is abstract;

    Summary: <<ext>> Change the QoS of this domain participant using the input XML QoS profile.

    The DDS.DomainParticipantQos.user_data and DDS.DomainParticipantQos.entity_factory can be changed. The other policies are immutable.

    self: <<in>> Cannot be NULL

    library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipantFactory.set_default_library).

    profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipantFactory.set_default_profile).

    Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_IMMUTABLE_POLICY if immutable policy is changed, or DDS.RETCODE_INCONSISTENT_POLICY if policies are inconsistent


    See also: DDS.DomainParticipantQos for rules on consistency among QoS

    Get_Qos (abstract)

    procedure Get_Qos 
    (Self: not null access Ref;
    Qos: in out DDS.DomainParticipantQos) is abstract;

    Summary: Get the participant QoS.

    This procedure may potentially allocate memory depending on the sequences contained in some QoS policies.

    self: <<in>> Cannot be NULL

    qos: <<inout>> QoS to be filled up. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: Entity_get_qos

    Set_Listener (abstract)

    procedure Set_Listener 
    (Self: not null access Ref;
    A_Listener: DDS.DomainParticipantListener.Ref_Access;
    Mask: in DDS.StatusMask) is abstract;

    Summary: Sets the participant listener.

    self: <<in>> Cannot be NULL

    l: <<in>> Listener to be installed on the entity.

    mask: <<in>> Changes of communication status to be invoked on the listener. See DDS.StatusMask.

    MT Safety:
    Unsafe. This procedure is not synchronized with the listener callbacks, so it is possible to set a new listener on a participant when the old listener is in a callback.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: Entity_set_listener

    Get_Listener (abstract)

    function Get_Listener 
    (Self: not null access Ref) return DDS.DomainParticipantListener.Ref_Access is abstract;

    Summary: Get the participant listener.

    self: <<in>> Cannot be NULL

    Returns: Existing listener attached to the DDS.DomainParticipant.


    See also: Entity_get_listener

    Ignore_Participant (abstract)

    procedure Ignore_Participant 
    (Self: not null access Ref;
    Handle: in DDS.InstanceHandle_T) is abstract;

    Summary: Instructs RTI Connext to locally ignore a remote DDS.DomainParticipant.

    From the time of this call onwards, RTI Connext will locally behave as if the remote participant did not exist. This means it will ignore any topic, publication, or subscription that originates on that DDS.DomainParticipant.

    There is no way to reverse this operation.

    This operation can be used in conjunction with the discovery of remote participants offered by means of the DDS.ParticipantBuiltinTopicData to provide access control.

    Application data can be associated with a DDS.DomainParticipant by means of the DDSUserDataQosModule policy. This application data is propagated as a field in the built-in topic and can be used by an application to implement its own access control policy.

    The DDS.DomainParticipant to ignore is identified by the handle argument. This handle is the one that appears in the DDS.SampleInfo retrieved when reading the data-samples available for the built-in DDS.DataReader to the DDS.DomainParticipant topic. The built-in DDS.DataReader is read with the same FooDataReader.read and FooDataReader.take operations used for any DDS.DataReader.

    self: <<in>> Cannot be NULL

    handle: <<in>> DDS.InstanceHandle_t of the DDS.DomainParticipant to be ignored. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_OUT_OF_RESOURCES, DDS.RETCODE_NOT_ENABLED


    See also: DDS.ParticipantBuiltinTopicData
    See also: DDS.PARTICIPANT_TOPIC_NAME
    See also: DDS.DomainParticipant.get_builtin_subscriber

    From the time of this call onwards, RTI Connext will locally behave as if the remote participant did not exist. This means it will ignore any topic, publication, or subscription that originates on that DDS.DomainParticipant.

    There is no way to reverse this operation.

    This operation can be used in conjunction with the discovery of remote participants offered by means of the DDS.ParticipantBuiltinTopicData to provide access control.

    Application data can be associated with a DDS.DomainParticipant by means of the DDSUserDataQosModule policy. This application data is propagated as a field in the built-in topic and can be used by an application to implement its own access control policy.

    The DDS.DomainParticipant to ignore is identified by the handle argument. This handle is the one that appears in the DDS.SampleInfo retrieved when reading the data-samples available for the built-in DDS.DataReader to the DDS.DomainParticipant topic. The built-in DDS.DataReader is read with the same FooDataReader.read and FooDataReader.take operations used for any DDS.DataReader.

    Ignore_Topic (abstract)

    procedure Ignore_Topic 
    (Self: not null access Ref;
    Handle: in DDS.InstanceHandle_T) is abstract;

    Summary: Instructs RTI Connext to locally ignore a DDS.Topic.

    This means it will locally ignore any publication, or subscription to the DDS.Topic.

    There is no way to reverse this operation.

    This operation can be used to save local resources when the application knows that it will never publish or subscribe to data under certain topics.

    The DDS.Topic to ignore is identified by the handle argument. This is the handle of a DDS.Topic that appears in the DDS.SampleInfo retrieved when reading data samples from the built-in DDS.DataReader for the DDS.Topic.

    self: <<in>> Cannot be NULL

    handle: <<in>> Handle of the DDS.Topic to be ignored. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_OUT_OF_RESOURCES or DDS.RETCODE_NOT_ENABLED


    See also: DDS.TopicBuiltinTopicData
    See also: DDS.TOPIC_TOPIC_NAME
    See also: DDS.DomainParticipant.get_builtin_subscriber

    Ignore_Publication (abstract)

    procedure Ignore_Publication 
    (Self: not null access Ref;
    Handle: in DDS.InstanceHandle_T) is abstract;

    Summary: Instructs RTI Connext to locally ignore a publication.

    A publication is defined by the association of a topic name, user data, and partition set on the DDS.Publisher (see DDS.PublicationBuiltinTopicData). After this call, any data written by that publication's DDS.DataWriter will be ignored.

    This operation can be used to ignore local and remote DataWriters.

    The publication (DataWriter) to ignore is identified by the handle argument.

  • To ignore a remote DataWriter, the handle can be obtained from the DDS.SampleInfo retrieved when reading data samples from the built-in DDS.DataReader for the publication topic.

  • To ignore a local DataWriter, the handle can be obtained by calling DDS.Entity.get_instance_handle for the local DataWriter.

    There is no way to reverse this operation.

    self: <<in>> Cannot be NULL

    handle: <<in>> Handle of the DDS.DataWriter to be ignored. Cannot be NULL. Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_OUT_OF_RESOURCES or DDS.RETCODE_NOT_ENABLED


    See also: DDS.PublicationBuiltinTopicData
    See also: DDS.PUBLICATION_TOPIC_NAME
    See also: DDS.DomainParticipant.get_builtin_subscriber

  • Ignore_Subscription (abstract)

    procedure Ignore_Subscription 
    (Self: not null access Ref;
    Handle: in DDS.InstanceHandle_T) is abstract;

    Summary: Instructs RTI Connext to locally ignore a subscription.

    A subscription is defined by the association of a topic name, user data, and partition set on the DDS.Subscriber (see DDS.SubscriptionBuiltinTopicData). After this call, any data received related to that subscription's DDS.DataReader will be ignored.

    This operation can be used to ignore local and remote DataReaders.

    The subscription to ignore is identified by the handle argument.

  • To ignore a remote DataReader, the handle can be obtained from the DDS.SampleInfo retrieved when reading data samples from the built-in DDS.DataReader for the subscription topic.

  • To ignore a local DataReader, the handle can be obtained by calling DDS.Entity.get_instance_handle for the local DataReader.

    There is no way to reverse this operation.

    self: <<in>> Cannot be NULL

    handle: <<in>> Handle of the DDS.DataReader to be ignored. Cannot be NULL. Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_OUT_OF_RESOURCES or DDS.RETCODE_NOT_ENABLED


    See also: DDS.SubscriptionBuiltinTopicData
    See also: DDS.SUBSCRIPTION_TOPIC_NAME
    See also: DDS.DomainParticipant.get_builtin_subscriber

  • Get_Domain_Id (abstract)

    function Get_Domain_Id 
    (Self: not null access Ref) return DDS.DomainId_T is abstract;

    Summary: Get the unique domain identifier.

    This operation retrieves the domain id used to create the DDS.DomainParticipant. The domain id identifies the DDS domain to which the DDS.DomainParticipant belongs. Each DDS domain represents a separate data 'communication plane' isolated from other domains.

    self: <<in>> Cannot be NULL

    Returns: the unique domainId that was used to create the domain
    See also: DDS.DomainParticipantFactory.create_participant
    See also: DDS.DomainParticipantFactory.create_participant_with_profile

    This operation retrieves the domain id used to create the DDS.DomainParticipant. The domain id identifies the DDS domain to which the DDS.DomainParticipant belongs. Each DDS domain represents a separate data 'communication plane' isolated from other domains.

    Get_Factory (abstract)

    function Get_Factory 
    (Self: not null access Ref) return not null access DDS.DomainParticipantFactory.Ref is abstract;

    Assert_Liveliness (abstract)

    procedure Assert_Liveliness 
    (Self: not null access Ref) is abstract;

    Summary: Manually asserts the liveliness of this DDS.DomainParticipant.

    This is used in combination with the ef DDS.LivelinessQosPolicy to indicate to RTI Connext that the entity remains active.

    You need to use this operation if the DDS.DomainParticipant contains DDS.DataWriter entities with the DDS.LivelinessQosPolicy.kind set to DDS.MANUAL_BY_PARTICIPANT_LIVELINESS_QOS and it only affects the liveliness of those DDS.DataWriter entities. Otherwise, it has no effect.

    Note: writing data via the FooDataWriter.write or FooDataWriter.write_w_timestamp operation asserts liveliness on the DDS.DataWriter itself and its DDS.DomainParticipant. Consequently the use of assert_liveliness() is only needed if the application is not writing data regularly.

    self: <<in>> Cannot be NULL

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_NOT_ENABLED


    See also: DDS.LivelinessQosPolicy

    This is used in combination with the ef DDS.LivelinessQosPolicy to indicate to RTI Connext that the entity remains active.

    You need to use this operation if the DDS.DomainParticipant contains DDS.DataWriter entities with the DDS.LivelinessQosPolicy.kind set to DDS.MANUAL_BY_PARTICIPANT_LIVELINESS_QOS and it only affects the liveliness of those DDS.DataWriter entities. Otherwise, it has no effect.

    Note: writing data via the FooDataWriter.write or FooDataWriter.write_w_timestamp operation asserts liveliness on the DDS.DataWriter itself and its DDS.DomainParticipant. Consequently the use of assert_liveliness() is only needed if the application is not writing data regularly.

    Set_Default_DataReader_Qos (abstract)

    procedure Set_Default_DataReader_Qos 
    (Self: not null access Ref;
    Qos: in DDS.DataReaderQoS) is abstract;

    Summary: <<ext>> Set the default DDS.DataReaderQos values for this domain participant.

    This set of default values will be inherited for a newly created DDS.Subscriber.

    Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default DataReader QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datareader_qos or DDS.DomainParticipant.get_default_datareader_qos.

    self: <<in>> Cannot be NULL

    qos: <<in>> Default qos to be set. The special value DDS.DATAREADER_QOS_DEFAULT may be passed as qos to indicate that the default QoS should be reset back to the initial values the factory would used if DDS.DomainParticipant.set_default_datareader_qos had never been called. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY

    Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default DataReader QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datareader_qos or DDS.DomainParticipant.get_default_datareader_qos.

    Set_Default_DataReader_Qos_With_Profile (abstract)

    procedure Set_Default_DataReader_Qos_With_Profile 
    (Self: not null access Ref;
    libName: DDS.String;
    profName: DDS.String) is abstract;

    Set_Default_DataReader_Qos_With_Profile (abstract)

    procedure Set_Default_DataReader_Qos_With_Profile 
    (Self: not null access Ref;
    libName: Standard.String;
    profName: Standard.String) is abstract;

    Summary: <<ext>> Set the default DDS.DataReaderQos values for this DomainParticipant based on the input XML QoS profile.

    This set of default values will be inherited for a newly created DDS.Subscriber.

    Precondition: The DDS.DataReaderQos contained in the specified XML QoS profile must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default DataReader QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datareader_qos or DDS.DomainParticipant.get_default_datareader_qos.

    self: <<in>> Cannot be NULL

    library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

    profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

    If the input profile cannot be found, the procedure fails with DDS.RETCODE_ERROR.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY

    Set_Default_DataWriter_Qos (abstract)

    procedure Set_Default_DataWriter_Qos 
    (Self: not null access Ref;
    Qos: in DDS.DataWriterQoS) is abstract;

    Summary: <<ext>> Set the default DataWriterQos values for this DomainParticipant.

    This set of default values will be inherited for a newly created DDS.Publisher.

    Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default DataWriter QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datawriter_qos or DDS.DomainParticipant.get_default_datawriter_qos or calling DDS.DomainParticipant.create_datawriter with DDS.DATAWRITER_QOS_DEFAULT as the qos parameter.

    self: <<in>> Cannot be NULL

    qos: <<in>> Default qos to be set. The special value DDS.DATAWRITER_QOS_DEFAULT may be passed as qos to indicate that the default QoS should be reset back to the initial values the factory would used if DDS.DomainParticipant.set_default_datawriter_qos had never been called. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY

    Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default DataWriter QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datawriter_qos or DDS.DomainParticipant.get_default_datawriter_qos

    Set_Default_DataWriter_Qos_With_Profile (abstract)

    procedure Set_Default_DataWriter_Qos_With_Profile 
    (Self: not null access Ref;
    libName: DDS.String;
    profName: DDS.String) is abstract;

    Set_Default_DataWriter_Qos_With_Profile (abstract)

    procedure Set_Default_DataWriter_Qos_With_Profile 
    (Self: not null access Ref;
    libName: Standard.String;
    profName: Standard.String) is abstract;

    Summary: <<ext>> Set the default DDS.DataWriterQos values for this domain participant based on the input XML QoS profile.

    This set of default values will be inherited for a newly created DDS.Publisher.

    Precondition: The DDS.DataWriterQos contained in the specified XML QoS profile must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default DataWriter QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datawriter_qos or DDS.DomainParticipant.get_default_datawriter_qos

    self: <<in>> Cannot be NULL

    library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

    profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

    If the input profile cannot be found, the procedure fails with DDS.RETCODE_ERROR.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY

    Set_Default_Publisher_Qos (abstract)

    procedure Set_Default_Publisher_Qos 
    (Self: not null access Ref;
    Qos: in DDS.PublisherQos) is abstract;

    Summary: Set the default DDS.PublisherQos values for this DomainParticipant.

    This set of default values will be used for a newly created DDS.Publisher if DDS.PUBLISHER_QOS_DEFAULT is specified as the qos parameter when DDS.DomainParticipant.create_publisher is called.

    Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default publisher QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_publisher_qos, DDS.DomainParticipant.get_default_publisher_qos or calling DDS.DomainParticipant.create_publisher with DDS.PUBLISHER_QOS_DEFAULT as the qos parameter.

    self: <<in>> Cannot be NULL

    qos: <<in>> Default qos to be set. The special value DDS.PUBLISHER_QOS_DEFAULT may be passed as qos to indicate that the default QoS should be reset back to the initial values the factory would used if DDS.DomainParticipant.set_default_publisher_qos had never been called. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY


    See also: DDS.PUBLISHER_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_publisher

    Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default publisher QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_publisher_qos, DDS.DomainParticipant.get_default_publisher_qos

    Set_Default_Publisher_Qos_With_Profile (abstract)

    procedure Set_Default_Publisher_Qos_With_Profile 
    (Self: not null access Ref;
    libName: DDS.String;
    profName: DDS.String) is abstract;

    Set_Default_Publisher_Qos_With_Profile (abstract)

    procedure Set_Default_Publisher_Qos_With_Profile 
    (Self: not null access Ref;
    libName: Standard.String;
    profName: Standard.String) is abstract;

    Summary: <<ext>> Set the default DDS.PublisherQos values for this DomainParticipant based on the input XML QoS profile.

    This set of default values will be used for a newly created DDS.Publisher if DDS.PUBLISHER_QOS_DEFAULT is specified as the qos parameter when DDS.DomainParticipant.create_publisher is called.

    Precondition: The DDS.PublisherQos contained in the specified XML QoS profile must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default publisher QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_publisher_qos, DDS.DomainParticipant.get_default_publisher_qos or calling DDS.DomainParticipant.create_publisher with DDS.PUBLISHER_QOS_DEFAULT as the qos parameter.

    self: <<in>> Cannot be NULL

    library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

    profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

    If the input profile cannot be found, the procedure fails with DDS.RETCODE_ERROR.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY


    See also: DDS.PUBLISHER_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_publisher_with_profile

    Get_Default_Publisher_Qos (abstract)

    procedure Get_Default_Publisher_Qos 
    (Self: not null access Ref;
    Qos: in out DDS.PublisherQos) is abstract;

    Summary: Copy the default DDS.PublisherQos values into the provided DDS.PublisherQos instance.

    The retrieved qos will match the set of values specified on the last successful call to DDS.DomainParticipant.set_default_publisher_qos, or DDS.DomainParticipant.set_default_publisher_qos_with_profile, or else, if the call was never made, the default values listed in DDS.PublisherQos.

    This procedure may potentially allocate memory depending on the sequences contained in some QoS policies.

    If DDS.PUBLISHER_QOS_DEFAULT is specified as the qos parameter when DDS.DomainParticipant.create_topic is called, the default value of the QoS set in the factory, equivalent to the value obtained by calling DDS.DomainParticipant.get_default_publisher_qos, will be used to create the DDS.Publisher.

    MT Safety:
    UNSAFE. It is not safe to retrieve the default publisher QoS from a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_publisher_qos

    self: <<in>> Cannot be NULL

    qos: <<inout>> Qos to be filled up. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: DDS.PUBLISHER_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_publisher

    MT Safety:
    UNSAFE. It is not safe to retrieve the default publisher QoS from a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_publisher_qos

    Set_Default_Subscriber_Qos (abstract)

    procedure Set_Default_Subscriber_Qos 
    (Self: not null access Ref;
    Qos: in DDS.SubscriberQos) is abstract;

    Summary: Set the default DDS.SubscriberQos values for this DomainParticipant.

    This set of default values will be used for a newly created DDS.Subscriber if DDS.SUBSCRIBER_QOS_DEFAULT is specified as the qos parameter when DDS.DomainParticipant.create_subscriber is called.

    Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default Subscriber QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_subscriber_qos, DDS.DomainParticipant.get_default_subscriber_qos or calling DDS.DomainParticipant.create_subscriber with DDS.SUBSCRIBER_QOS_DEFAULT as the qos parameter.

    self: <<in>> Cannot be NULL

    qos: <<in>> Default qos to be set. The special value DDS.SUBSCRIBER_QOS_DEFAULT may be passed as qos to indicate that the default QoS should be reset back to the initial values the factory would used if DDS.DomainParticipant.set_default_subscriber_qos had never been called. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY

    Set_Default_Subscriber_Qos_With_Profile (abstract)

    procedure Set_Default_Subscriber_Qos_With_Profile 
    (Self: not null access Ref;
    libraryName: DDS.String;
    profileName: DDS.String) is abstract;

    Set_Default_Subscriber_Qos_With_Profile (abstract)

    procedure Set_Default_Subscriber_Qos_With_Profile 
    (Self: not null access Ref;
    libraryName: Standard.String;
    profileName: Standard.String) is abstract;

    Summary: <<ext>> Set the default DDS.SubscriberQos values for this DomainParticipant based on the input XML QoS profile.

    This set of default values will be used for a newly created DDS.Subscriber if DDS.SUBSCRIBER_QOS_DEFAULT is specified as the qos parameter when DDS.DomainParticipant.create_subscriber is called.

    Precondition: The DDS.SubscriberQos contained in the specified XML QoS profile must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default Subscriber QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_subscriber_qos, DDS.DomainParticipant.get_default_subscriber_qos or calling DDS.DomainParticipant.create_subscriber with DDS.SUBSCRIBER_QOS_DEFAULT as the qos parameter.

    self: <<in>> Cannot be NULL

    library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

    profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

    If the input profile cannot be found, the procedure fails with DDS.RETCODE_ERROR.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY


    See also: DDS.SUBSCRIBER_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_subscriber_with_profile

    Get_Default_Subscriber_Qos (abstract)

    procedure Get_Default_Subscriber_Qos 
    (Self: not null access Ref;
    Qos: in out DDS.SubscriberQos) is abstract;

    Summary: Copy the default DDS.SubscriberQos values into the provided DDS.SubscriberQos instance.

    The retrieved qos will match the set of values specified on the last successful call to DDS.DomainParticipant.set_default_subscriber_qos, or DDS.DomainParticipant.set_default_subscriber_qos_with_profile, or else, if the call was never made, the default values listed in DDS.SubscriberQos.

    This procedure may potentially allocate memory depending on the sequences contained in some QoS policies.

    If DDS.SUBSCRIBER_QOS_DEFAULT is specified as the qos parameter when DDS.DomainParticipant.create_subscriber is called, the default value of the QoS set in the factory, equivalent to the value obtained by calling DDS.DomainParticipant.get_default_subscriber_qos, will be used to create the DDS.Subscriber.

    MT Safety:
    UNSAFE. It is not safe to retrieve the default Subscriber QoS from a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_subscriber_qos.

    self: <<in>> Cannot be NULL

    qos: <<inout>> Qos to be filled up. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: DDS.SUBSCRIBER_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_subscriber

    Get_Default_DataReader_Qos (abstract)

    procedure Get_Default_DataReader_Qos 
    (Self: not null access Ref;
    Qos: in out DDS.DataReaderQoS) is abstract;

    Summary: <<ext>> Copy the default DDS.DataReaderQos values into the provided DDS.DataReaderQos instance.

    The retrieved qos will match the set of values specified on the last successful call to DDS.DomainParticipant.set_default_datareader_qos, or DDS.DomainParticipant.set_default_datareader_qos_with_profile, or else, if the call was never made, the default values listed in DDS.DataReaderQos.

    This procedure may potentially allocate memory depending on the sequences contained in some QoS policies.

    MT Safety:
    UNSAFE. It is not safe to retrieve the default DataReader QoS from a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datareader_qos.

    self: <<in>> Cannot be NULL

    qos: <<inout>> Qos to be filled up. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes

    MT Safety:
    UNSAFE. It is not safe to retrieve the default DataReader QoS from a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datareader_qos.

    Get_Default_DataWriter_Qos (abstract)

    procedure Get_Default_DataWriter_Qos 
    (Self: not null access Ref;
    Qos: in out DDS.DataWriterQos) is abstract;

    Summary: <<ext>> Copy the default DDS.DataWriterQos values into the provided DDS.DataWriterQos instance.

    The retrieved qos will match the set of values specified on the last successful call to DDS.DomainParticipant.set_default_datawriter_qos, or DDS.DomainParticipant.set_default_datawriter_qos_with_profile, or else, if the call was never made, the default values listed in DDS.DataWriterQos.

    This procedure may potentially allocate memory depending on the sequences contained in some QoS policies.

    MT Safety:
    UNSAFE. It is not safe to retrieve the default DataWriterQoS from a DomainPartipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datawriter_qos.

    self: <<in>> Cannot be NULL

    qos: <<inout>> Qos to be filled up. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes

    MT Safety:
    UNSAFE. It is not safe to retrieve the default DataWriterQoS from a DomainPartipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_datawriter_qos.

    Set_Default_Topic_Qos (abstract)

    procedure Set_Default_Topic_Qos 
    (Self: not null access Ref;
    Qos: in DDS.TopicQos) is abstract;

    Summary: Set the default DDS.TopicQos values for this domain participant.

    This default value will be used for newly created DDS.Topic if DDS.TOPIC_QOS_DEFAULT is specified as the qos parameter when DDS.DomainParticipant.create_topic is called.

    Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default topic QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_topic_qos, DDS.DomainParticipant.get_default_topic_qos or calling DDS.DomainParticipant.create_topic with DDS.TOPIC_QOS_DEFAULT as the qos parameter.

    self: <<in>> Cannot be NULL

    qos: <<in>> Default qos to be set. The special value DDS.TOPIC_QOS_DEFAULT may be passed as qos to indicate that the default QoS should be reset back to the initial values the factory would used if DDS.DomainParticipant.set_default_topic_qos had never been called. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY


    See also: DDS.TOPIC_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_topic

    Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default topic QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_topic_qos, DDS.DomainParticipant.get_default_topic_qos

    Set_Default_Topic_Qos_With_Profile (abstract)

    procedure Set_Default_Topic_Qos_With_Profile 
    (Self: not null access Ref;
    libraryName: DDS.String;
    profileName: DDS.String) is abstract;

    Set_Default_Topic_Qos_With_Profile (abstract)

    procedure Set_Default_Topic_Qos_With_Profile 
    (Self: not null access Ref;
    libraryName: Standard.String;
    profileName: Standard.String) is abstract;

    Summary: <<ext>> Set the default DDS.TopicQos values for this domain participant based on the input XML QoS profile.

    This default value will be used for newly created DDS.Topic if DDS.TOPIC_QOS_DEFAULT is specified as the qos parameter when DDS.DomainParticipant.create_topic is called.

    Precondition: The DDS.TopicQos contained in the specified XML QoS profile must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default topic QoS for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_topic_qos, DDS.DomainParticipant.get_default_topic_qos or calling DDS.DomainParticipant.create_topic with DDS.TOPIC_QOS_DEFAULT as the qos parameter.

    self: <<in>> Cannot be NULL

    library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.DomainParticipant.set_default_library).

    profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

    If the input profile cannot be found the procedure fails with DDS.RETCODE_ERROR.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY


    See also: DDS.TOPIC_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_topic_with_profile

    Get_Default_Topic_Qos (abstract)

    procedure Get_Default_Topic_Qos 
    (Self: not null access Ref;
    Qos: in out DDS.TopicQos) is abstract;

    Summary: Copies the default DDS.TopicQos values for this domain participant into the given DDS.TopicQos instance.

    The retrieved qos will match the set of values specified on the last successful call to DDS.DomainParticipant.set_default_topic_qos, or DDS.DomainParticipant.set_default_topic_qos_with_profile or else, if the call was never made, the default values listed in DDS.TopicQos.

    This procedure may potentially allocate memory depending on the sequences contained in some QoS policies.

    MT Safety:
    UNSAFE. It is not safe to retrieve the default Topic QoS from a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_topic_qos

    self: <<in>> Cannot be NULL

    qos: <<in>> Default qos to be retrieved. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: DDS.TOPIC_QOS_DEFAULT
    See also: DDS.DomainParticipant.create_topic

    MT Safety:
    UNSAFE. It is not safe to retrieve the default Topic QoS from a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_topic_qos

    Set_Default_Profile (abstract)

    procedure Set_Default_Profile 
    (Self: not null access Ref;
    library_name: DDS.String;
    profile_name: DDS.String) is abstract;

    Summary: <<ext>> Sets the default XML profile for a DDS.DomainParticipant.

    This procedure specifies the profile that will be used as the default the next time a default DomainParticipant profile is needed during a call to one of this DomainParticipant's operations. When calling a DDS.DomainParticipant procedure that requires a profile_name parameter, you can use NULL to refer to the default profile. (This same information applies to setting a default library.)

    If the default profile is not set, the DDS.DomainParticipant inherits the default from the DDS.DomainParticipantFactory (see DDS.DomainParticipantFactory.set_default_profile).

    This procedure does not set the default QoS for entities created by the DDS.DomainParticipant; for this functionality, use the procedures set_default_<entity>_qos_with_profile (you may pass in NULL after having called set_default_profile()).

    This procedure does not set the default QoS for newly created DomainParticipants; for this functionality, use DDS.DomainParticipantFactory.set_default_participant_qos_with_profile.

    self: <<in>> Cannot be NULL

    library_name: <<in>> The library name containing the profile.

    profile_name: <<in>> The profile name. If profile_name is null any previous default is unset.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: DDS.DomainParticipant.get_default_profile
    See also: DDS.DomainParticipant.get_default_profile_library

    Set_Default_Library (abstract)

    procedure Set_Default_Library 
    (Self: not null access Ref;
    library_name: DDS.String) is abstract;

    Summary: <<ext>> Sets the default XML library for a DDS.DomainParticipant.

    This procedure specifies the library that will be used as the default the next time a default library is needed during a call to one of this DomainParticipant's operations.

    Any API requiring a library_name as a parameter can use null to refer to the default library.

    If the default library is not set, the DDS.DomainParticipant inherits the default from the DDS.DomainParticipantFactory (see DDS.DomainParticipantFactory.set_default_library).

    self: <<in>> Cannot be NULL

    library_name: <<in>> Library name. If library_name is null any previous default is unset.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: DDS.DomainParticipant.get_default_library

    Get_Default_Library (abstract)

    function Get_Default_Library 
    (Self: not null access Ref) return DDS.String is abstract;

    Summary: <<ext>> Gets the default XML library associated with a DDS.DomainParticipant.

    self: <<in>> Cannot be NULL

    Returns: The default library or null if the default library was not set.


    See also: DDS.DomainParticipant.set_default_library

    Get_Default_Profile (abstract)

    function Get_Default_Profile 
    (Self: not null access Ref) return DDS.String is abstract;

    Summary: <<ext>> Gets the default XML profile associated with a DDS.DomainParticipant.

    self: <<in>> Cannot be NULL

    Returns: The default profile or null if the default profile was not set.


    See also: DDS.DomainParticipant.set_default_profile

    Get_Default_Profile_Library (abstract)

    function Get_Default_Profile_Library 
    (Self: not null access Ref) return DDS.String is abstract;

    Summary: <<ext>> Gets the library where the default XML QoS profile is contained for a DDS.DomainParticipant.

    The default profile library is automatically set when DDS.DomainParticipant.set_default_profile is called.

    This library can be different than the DDS.DomainParticipant default library (see DDS.DomainParticipant.get_default_library).

    self: <<in>> Cannot be NULL

    Returns: The default profile library or null if the default profile was not set.


    See also: DDS.DomainParticipant.set_default_profile

    Get_Default_Flowcontroller_Property (abstract)

    procedure Get_Default_Flowcontroller_Property 
    (Self: not null access Ref;
    Property: in out DDS.FlowControllerProperty_T) is abstract;

    Summary: <<ext>> Copies the default DDS.FlowControllerProperty_t values for this domain participant into the given DDS.FlowControllerProperty_t instance.

    The retrieved property will match the set of values specified on the last successful call to DDS.DomainParticipant.set_default_flowcontroller_property, or else, if the call was never made, the default values listed in DDS.FlowControllerProperty_t.

    MT Safety:
    UNSAFE. It is not safe to retrieve the default flow controller properties from a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_flowcontroller_property

    self: <<in>> Cannot be NULL

    prop: <<in>> Default property to be retrieved. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: DDS.FLOW_CONTROLLER_PROPERTY_DEFAULT
    See also: DDS.DomainParticipant.create_flowcontroller

    Set_Default_Flowcontroller_Property (abstract)

    procedure Set_Default_Flowcontroller_Property 
    (Self: not null access Ref;
    Property: in DDS.FlowControllerProperty_T) is abstract;

    Summary: <<ext>> Set the default DDS.FlowControllerProperty_t values for this domain participant.

    This default value will be used for newly created DDS.FlowController if DDS.FLOW_CONTROLLER_PROPERTY_DEFAULT is specified as the property parameter when DDS.DomainParticipant.create_flowcontroller is called.

    Precondition: The specified property values must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY

    MT Safety:
    UNSAFE. It is not safe to set the default flow controller properties for a DomainParticipant while another thread may be simultaneously calling DDS.DomainParticipant.set_default_flowcontroller_property , DDS.DomainParticipant.get_default_flowcontroller_property or calling DDS.DomainParticipant.create_flowcontroller with DDS.FLOW_CONTROLLER_PROPERTY_DEFAULT as the qos parameter.

    self: <<in>> Cannot be NULL

    prop: <<in>> Default property to be set. The special value DDS.FLOW_CONTROLLER_PROPERTY_DEFAULT may be passed as property to indicate that the default property should be reset to the default values the factory would use if DDS.DomainParticipant.set_default_flowcontroller_property had never been called. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY


    See also: DDS.FLOW_CONTROLLER_PROPERTY_DEFAULT
    See also: DDS.DomainParticipant.create_flowcontroller

    Get_Discovered_Participants (abstract)

    function Get_Discovered_Participants 
    (Self: access Ref) return DDS.InstanceHandle_Seq.Sequence is abstract;

    Summary: Returns a list of discovered DDS.DomainParticipant entities.

    This operation retrieves the list of DDS.DomainParticipant entities that have been discovered in the domain and that the application has not indicated should be "ignored" by means of the DDS.DomainParticipant.ignore_participant operation.

    self: <<in>> Cannot be NULL

    participant_handles: <<inout>> DDS_InstanceHandleSeq to be filled with handles of the discovered DDS.DomainParticipant entities.

    Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_NOT_ENABLED

    Get_Discovered_Participant_Data (abstract)

    function Get_Discovered_Participant_Data 
    (Self: not null access Ref;
    Participant_Handle: in DDS.InstanceHandle_T) return DDS.ParticipantBuiltinTopicData is abstract;

    Summary: Returns DDS.ParticipantBuiltinTopicData for the specified DDS.DomainParticipant.

    This operation retrieves information on a DDS.DomainParticipant that has been discovered on the network. The participant must be in the same domain as the participant on which this operation is invoked and must not have been "ignored" by means of the DDS.DomainParticipant.ignore_participant operation.

    The participant_handle must correspond to such a DomainParticipant. Otherwise, the operation will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

    Use the operation DDS.DomainParticipant.get_discovered_participants to find the DDS.DomainParticipant entities that are currently discovered.

    Note: This operation does not retrieve the DDS.ParticipantBuiltinTopicData.property. This information is available through DDS.DataReaderListener::on_data_available() (if a reader listener is installed on the DDS.ParticipantBuiltinTopicDataDataReader).

    MT Safety:
    Unsafe. It is not safe to call this operation from multiple threads at the same time.

    self: <<in>> Cannot be NULL

    participant_data: <<inout>> DDS.ParticipantBuiltinTopicData to be filled in with the data for the specified DDS.DomainParticipant.

    participant_handle: <<in>> DDS.InstanceHandle_t of DDS.DomainParticipant.

    Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_PRECONDITION_NOT_MET or DDS.RETCODE_NOT_ENABLED


    See also: DDS.ParticipantBuiltinTopicData
    See also: DDS.DomainParticipant.get_discovered_participants

    Get_Discovered_Topics (abstract)

    function Get_Discovered_Topics 
    (Self: access Ref) return DDS.InstanceHandle_Seq.Sequence is abstract;

    Summary: Returns list of discovered DDS.Topic objects.

    This operation retrieves the list of DDS.Topic s that have been discovered in the domain and that the application has not indicated should be "ignored" by means of the DDS.DomainParticipant.ignore_topic operation.

    self: <<in>> Cannot be NULL

    topic_handles: <<inout>> DDS_InstanceHandleSeq to be filled with handles of the discovered DDS.Topic objects

    Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_NOT_ENABLED

    Get_Discovered_Topic_Data (abstract)

    function Get_Discovered_Topic_Data 
    (Self: not null access Ref;
    Topic_Handle: in DDS.InstanceHandle_T) return DDS.TopicBuiltinTopicData is abstract;

    Summary: Returns DDS.TopicBuiltinTopicData for the specified DDS.Topic.

    This operation retrieves information on a DDS.Topic that has been discovered by the local Participant and must not have been "ignored" by means of the DDS.DomainParticipant.ignore_topic operation.

    The topic_handle must correspond to such a topic. Otherwise, the operation will fail with DDS.RETCODE_PRECONDITION_NOT_MET.

    This call is not supported for remote topics. If a remote topic_handle is used, the operation will fail with DDS.RETCODE_UNSUPPORTED.

    Use the operation DDS.DomainParticipant.get_discovered_topics to find the topics that are currently discovered.

    self: <<in>> Cannot be NULL

    topic_data: <<inout>> DDS.TopicBuiltinTopicData to be filled with the specified DDS.Topic's data.

    topic_handle: <<in>> DDS.InstanceHandle_t of DDS.Topic.

    Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_PRECONDITION_NOT_MET or DDS.RETCODE_NOT_ENABLED


    See also: DDS.TopicBuiltinTopicData
    See also: DDS.DomainParticipant.get_discovered_topics

    Contains_Entity (abstract)

    function Contains_Entity 
    (Self: not null access Ref;
    A_Handle: in DDS.InstanceHandle_T) return Boolean is abstract;

    Summary: Completes successfully with DDS.BOOLEAN_TRUE if the referenced DDS.Entity is contained by the DDS.DomainParticipant.

    This operation checks whether or not the given a_handle represents an DDS.Entity that was created from the DDS.DomainParticipant. The containment applies recursively. That is, it applies both to entities (DDS.TopicDescription, DDS.Publisher, or DDS.Subscriber) created directly using the DDS.DomainParticipant as well as entities created using a contained DDS.Publisher, or DDS.Subscriber as the factory, and so forth.

    The instance handle for an DDS.Entity may be obtained from built-in topic data, from various statuses, or from the operation DDS.Entity.get_instance_handle.

    self: <<in>> Cannot be NULL

    a_handle: <<in>> DDS.InstanceHandle_t of the DDS.Entity to be checked.

    Returns: DDS.BOOLEAN_TRUE if DDS.Entity is contained by the DDS.DomainParticipant, or DDS.BOOLEAN_FALSE otherwise.

    Get_Current_Time (abstract)

    function Get_Current_Time 
    (Self: not null access Ref) return DDS.Time_T is abstract;

    Summary: Returns the current value of the time.

    The current value of the time that RTI Connext uses to time-stamp DDS.DataWriter and to set the reception-timestamp for the data updates that it receives.

    self: <<in>> Cannot be NULL

    current_time: <<inout>> Current time to be filled up. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes

    Add_Peer (abstract)

    procedure Add_Peer 
    (Self: not null access Ref;
    peer_desc_string: DDS.String) is abstract;

    Summary: <<ext>> Attempt to contact one or more additional peer participants.

    Add the given peer description to the list of peers with which this DDS.DomainParticipant will try to communicate.

    This procedure may be called at any time after this DDS.DomainParticipant has been created (before or after it has been enabled).

    If this procedure is called after DDS.Entity.enable, an attempt will be made to contact the new peer(s) immediately.

    If this procedure is called before the DomainParticipant is enabled, the peer description will simply be added to the list that was populated by DDS.DiscoveryQosPolicy.initial_peers; the first attempted contact will take place after this DDS.DomainParticipant is enabled.

    Adding a peer description with this procedure does not guarantee that any peer(s) discovered as a result will exactly correspond to those described:

  • This DDS.DomainParticipant will attempt to discover peer participants at the given locations but may not succeed if no such participants are available. In this case, this procedure will not wait for contact attempt(s) to be made and it will not report an error.

  • If remote participants described by the given peer description are discovered, the distributed application is configured with asymmetric peer lists, and DDS.DiscoveryQosPolicy.accept_unknown_peers is set to DDS.BOOLEAN_TRUE. Thus, this DDS.DomainParticipant may actually discover more peers than are described in the given peer description.

    To be informed of the exact remote participants that are discovered, regardless of which peers this DDS.DomainParticipant attempts to discover, use the built-in participant topic: DDS.PARTICIPANT_TOPIC_NAME.

    To remove specific peer locators, you may use DDS.DomainParticipant.remove_peer. If a peer is removed, the add_peer operation will add it back to the list of peers.

    To stop communicating with a peer DDS.DomainParticipant that has been discovered, use DDS.DomainParticipant.ignore_participant.

    Adding a peer description with this procedure has no effect on the DDS.DiscoveryQosPolicy.initial_peers that may be subsequently retrieved with DDS.DomainParticipant.get_qos() (because DDS.DiscoveryQosPolicy is immutable).

    self: <<in>> Cannot be NULL

    peer_desc_string: <<in>> New peer descriptor to be added. The format is specified in NDDS_DISCOVERY_PEERS_format. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: NDDS_DISCOVERY_PEERS_format
    See also: DDS.DiscoveryQosPolicy.initial_peers
    See also: DDS.PARTICIPANT_TOPIC_NAME
    See also: DDS.DomainParticipant.get_builtin_subscriber

    Add the given peer description to the list of peers with which this DDS.DomainParticipant will try to communicate.

    This procedure may be called at any time after this DDS.DomainParticipant has been created (before or after it has been enabled).

    If this procedure is called after DDS.Entity.enable, an attempt will be made to contact the new peer(s) immediately.

    If this procedure is called before the DomainParticipant is enabled, the peer description will simply be added to the list that was populated by DDS.DiscoveryQosPolicy.initial_peers; the first attempted contact will take place after this DDS.DomainParticipant is enabled.

    Adding a peer description with this procedure does not guarantee that any peer(s) discovered as a result will exactly correspond to those described:

  • This DDS.DomainParticipant will attempt to discover peer participants at the given locations but may not succeed if no such participants are available. In this case, this procedure will not wait for contact attempt(s) to be made and it will not report an error.

  • If remote participants described by the given peer description are discovered, the distributed application is configured with asymmetric peer lists, and DDS.DiscoveryQosPolicy.accept_unknown_peers is set to DDS.BOOLEAN_TRUE. Thus, this DDS.DomainParticipant may actually discover more peers than are described in the given peer description.

    To be informed of the exact remote participants that are discovered, regardless of which peers this DDS.DomainParticipant attempts to discover, use the built-in participant topic: DDS.PARTICIPANT_TOPIC_NAME.

    To remove specific peer locators, you may use DDS.DomainParticipant.remove_peer. If a peer is removed, the add_peer operation will add it back to the list of peers.

    To stop communicating with a peer DDS.DomainParticipant that has been discovered, use DDS.DomainParticipant.ignore_participant.

    Adding a peer description with this procedure has no effect on the DDS.DiscoveryQosPolicy.initial_peers that may be subsequently retrieved with DDS.DomainParticipant.get_qos() (because DDS.DiscoveryQosPolicy is immutable).

  • Get_Publishers (abstract)

    procedure Get_Publishers 
    (Self: not null access Ref;
    publishers: access DDS.PublisherSeq.Sequence) is abstract;

    Summary: <<ext>> Allows the application to access all the publishers the participant has.

    If the sequence doesn't own its buffer, and its maximum is less than the total number of publishers, it will be filled up to its maximum, and fail with DDS.RETCODE_OUT_OF_RESOURCES.

    MT Safety:
    Safe.

    self: <<in>> Cannot be NULL

    publishers: <<inout>> a PublisherSeq object where the set or list of publishers will be returned

    Returns: One of the DDSReturnTypesModule_std_retcodes or DDS.RETCODE_OUT_OF_RESOURCES

    Get_Subscribers (abstract)

    procedure Get_Subscribers 
    (Self: not null access Ref;
    subscribers: access DDS.SubscriberSeq.Sequence) is abstract;

    Summary: <<ext>> Allows the application to access all the publishers the participant has.

    If the sequence doesn't own its buffer, and its maximum is less than the total number of publishers, it will be filled up to its maximum, and fail with DDS.RETCODE_OUT_OF_RESOURCES.

    MT Safety:
    Safe.

    self: <<in>> Cannot be NULL

    publishers: <<inout>> a PublisherSeq object where the set or list of publishers will be returned

    Returns: One of the DDSReturnTypesModule_std_retcodes or DDS.RETCODE_OUT_OF_RESOURCES