Index

Package: DDS.DomainParticipantFactory

Description

package DDS.DomainParticipantFactory is

Summary: <<singleton>> <<interface>> Allows creation and destruction of DDS.DomainParticipant objects.

The sole purpose of this class is to allow the creation and destruction of DDS.DomainParticipant objects. This class itself is a <<singleton>>, and accessed via the get_instance() procedure, and destroyed with finalize_instance() procedure.

A single application can participate in multiple domains by instantiating multiple DDS.DomainParticipant objects.

An application may even instantiate multiple participants in the same domain. Participants in the same domain exchange data in the same way regardless of whether they are in the same application or different applications or on the same node or different nodes; their location is transparent.

There are two important caveats:

  • When there are multiple participants on the same node (in the same application or different applications) in the same domain, the application(s) must make sure that the participants do not try to bind to the same port numbers. You must disambiguate between the participants by setting a participant ID for each participant (DDS.WireProtocolQosPolicy.participant_id). The port numbers used by a participant are calculated based on both the participant index and the domain ID, so if all participants on the same node have different participant indexes, they can coexist in the same domain.
  • You cannot mix entities from different participants. For example, you cannot delete a topic on a different participant than you created it from, and you cannot ask a subscriber to create a reader for a topic created from a participant different than the subscriber's own participant. (Note that it is permissable for an application built on top of RTI Connext to know about entities from different participants. For example, an application could keep references to a reader from one domain and a writer from another and then bridge the domains by writing the data received in the reader callback.)


See also: DDS.DomainParticipant

Classes

Ref

type Ref is new RTIDDS.Obj_Impl.Ref with private;

Primitive operations:

Create_Participant
Create_Participant_With_Profile
Create_Participant_With_Profile
Delete_Participant
Finalize_Instance
get_datareader_qos_from_profile
get_datareader_qos_from_profile_w_topic_name
get_datawriter_qos_from_profile
get_datawriter_qos_from_profile_w_topic_name
get_default_library
Get_Default_Participant_Qos
get_default_Profile
get_default_profile_library
get_participant_qos_from_profile
get_publisher_qos_from_profile
get_qos_profile_libraries
get_qos_profile_libraries
get_qos_profiles
get_qos_profiles
get_subscriber_qos_from_profile
get_topic_qos_from_profile
get_topic_qos_from_profile_w_topic_name
Load_Profiles
Lookup_Participant
Reload_Profiles
set_default_library
Set_Default_Participant_Qos
Set_Default_Participant_Qos_with_Profile
Set_Default_Profile
Unload_Profiles
Unregister_Thread

Types

Ref_Access

type Ref_Access is access all Ref'Class;

Constants & Global variables

PARTICIPANT_QOS_DEFAULT

PARTICIPANT_QOS_DEFAULT : aliased DDS.DomainParticipantQos;

Summary: Special value for creating a DomainParticipant with default QoS.

When used in DDS.DomainParticipantFactory.create_participant, this special value is used to indicate that the DDS.DomainParticipant should be created with the default DDS.DomainParticipant QoS by means of the operation DDS.DomainParticipantFactory.get_default_participant_qos() and using the resulting QoS to create the DDS.DomainParticipant.

When used in DDS.DomainParticipantFactory.set_default_participant_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.DomainParticipantFactory.set_default_participant_qos operation had never been called.

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

RTI Connext treats this special value as a constant.

Note: You cannot use this value to get the default QoS values from the DomainParticipant factory; for this purpose, use DDS.DomainParticipantFactory.get_default_participant_qos.


See also: NDDS_DISCOVERY_PEERS
See also: DDS.DomainParticipantFactory.create_participant()
See also: DDS.DomainParticipantFactory.set_default_participant_qos()
See also: DDS.DomainParticipant.set_qos()

Subprograms & Entries

Get_Instance

function Get_Instance return Ref_Access;

Summary: Gets the singleton instance of this class.

MT Safety:
On non-Linux systems: UNSAFE for multiple threads to simultaneously make the FIRST call to either DDS.DomainParticipantFactory.get_instance() or DDS.DomainParticipantFactory.finalize_instance(). Subsequent calls are thread safe. (On Linux systems, these calls are thread safe.)

DDSTheParticipantFactory can be used as an alias for the singleton factory returned by this operation.

Returns: The singleton DDS.DomainParticipantFactory instance.


See also: DDSTheParticipantFactory

Create_Participant

function Create_Participant 
(Self: not null access Ref;
Domain_Id: in DDS.DomainId_T := Default_Domain;
Qos: in DDS.DomainParticipantQos := PARTICIPANT_QOS_DEFAULT;
A_Listener: in DDS.DomainParticipantListener.Ref_Access := null;
Mask: in DDS.StatusMask := DDS.STATUS_MASK_NONE) return DDS.DomainParticipant.Ref_Access;

Summary: Creates a new DDS.DomainParticipant object.

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

If you want to create multiple participants on a given host in the same domain, make sure each one has a different participant index (set in the DDS.WireProtocolQosPolicy). This in turn will ensure each participant uses a different port number (since the unicast port numbers are calculated from the participant index and the domain ID).

Note that if there is a single participant per host in a given domain, the participant index can be left at the default value (-1).


See also: dds::core::QosProvider
See also: DDS.DomainParticipantFactory.get_default_participant_qos
See also: DDS.DomainParticipant.set_listener

Create_Participant_With_Profile

function Create_Participant_With_Profile 
(Self: not null access Ref;
Domain_Id: in DDS.DomainId_T := Default_Domain;
library_name: in DDS.String;
profile_name: in DDS.String;
A_Listener: in DDS.DomainParticipantListener.Ref_Access := null;
Mask: in DDS.StatusMask := DDS.STATUS_MASK_NONE) return DDS.DomainParticipant.Ref_Access;

Create_Participant_With_Profile

function Create_Participant_With_Profile 
(Self: not null access Ref;
Domain_Id: in DDS.DomainId_T := Default_Domain;
library_name: in Standard.String;
profile_name: in Standard.String;
A_Listener: in DDS.DomainParticipantListener.Ref_Access := null;
Mask: in DDS.StatusMask := DDS.STATUS_MASK_NONE) return DDS.DomainParticipant.Ref_Access;

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

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

If you want to create multiple participants on a given host in the same domain, make sure each one has a different participant index (set in the DDS.WireProtocolQosPolicy). This in turn will ensure each participant uses a different port number (since the unicast port numbers are calculated from the participant index and the domain ID).

Note that if there is a single participant per host in a given domain, the participant index can be left at the default value (-1).

@mtsafety_create_participant

self: <<in>> Cannot be NULL

domainId: <<in>> ID of the domain that the application intends to join. [range] [>=0], and does not violate guidelines stated in DDS.RtpsWellKnownPorts_t.

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).

listener: <<in>> the DomainParticipant's listener.

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

Returns: domain participant or NULL on failure


See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.DomainParticipantQos for rules on consistency among QoS
See also: DDS.PARTICIPANT_QOS_DEFAULT
See also: NDDS_DISCOVERY_PEERS
See also: DDS.DomainParticipantFactory.create_participant()
See also: DDS.DomainParticipantFactory.get_default_participant_qos()
See also: DDS.DomainParticipant.set_listener()

Delete_Participant

procedure Delete_Participant 
(Self: not null access Ref;
A_Participant: in out DDS.DomainParticipant.Ref_Access);

Summary: Deletes an existing DDS.DomainParticipant.

Precondition: All domain entities belonging to the participant must have already been deleted. Otherwise it fails with the error DDS.RETCODE_PRECONDITION_NOT_MET.

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

@mtsafety_delete

self: <<in>> Cannot be NULL

a_participant: <<in>> DDS.DomainParticipant to be deleted.

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

Lookup_Participant

function Lookup_Participant 
(Self: not null access Ref;
Domain_Id: in DDS.DomainId_T) return DDS.DomainParticipant.Ref_Access;

Summary: Locates an existing DDS.DomainParticipant.

If no such DDS.DomainParticipant exists, the operation will return NULL value.

If multiple DDS.DomainParticipant entities belonging to that domainId exist, then the operation will return one of them. It is not specified which one.

self: <<in>> Cannot be NULL

domainId: <<in>> ID of the domain participant to lookup.

Returns: domain participant if it exists, or NULL

Set_Default_Participant_Qos

procedure Set_Default_Participant_Qos 
(Self: not null access Ref;
Qos: in DDS.DomainParticipantQos);

Summary: Sets the default DDS.DomainParticipantQos values for this domain participant factory.

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 QoS value from a domain participant factory while another thread may be simultaneously calling DDS.DomainParticipantFactory.set_default_participant_qos

self: <<in>> Cannot be NULL

qos: <<inout>> Qos to be filled up. The special value DDS.PARTICIPANT_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.DomainParticipantFactory.set_default_participant_qos had never been called. Cannot be NULL.

Raises: One of the DDSReturnTypesModules_std_retcodes


See also: DDS.PARTICIPANT_QOS_DEFAULT
See also: DDS.DomainParticipantFactory.create_participant

Set_Default_Participant_Qos_with_Profile

procedure Set_Default_Participant_Qos_with_Profile 
(Self: not null access Ref;
libraryName: in DDS.String;
profile_name: in DDS.String);

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

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

This default value will be used for newly created DDS.DomainParticipant if DDS.PARTICIPANT_QOS_DEFAULT is specified as the qos parameter when DDS.DomainParticipantFactory.create_participant is called.

Precondition: The DDS.DomainParticipantQos 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 retrieve the default QoS value from a domain participant factory while another thread may be simultaneously calling DDS.DomainParticipantFactory.set_default_participant_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.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).

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.PARTICIPANT_QOS_DEFAULT
See also: DDS.DomainParticipantFactory.create_participant_with_profile

Get_Default_Participant_Qos

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

Summary: Initializes the DDS.DomainParticipantQos instance with default values.

The retrieved qos will match the set of values specified on the last successful call to DDS.DomainParticipantFactory.set_default_participant_qos, or DDS.DomainParticipantFactory.set_default_participant_qos_with_profile, or else, if the call was never made, the default values listed in DDS.DomainParticipantQos.

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

self: <<in>> Cannot be NULL

qos: <<out>> the domain participant's QoS Cannot be NULL.

MT Safety:
UNSAFE. It is not safe to retrieve the default QoS value from a domain participant factory while another thread may be simultaneously calling DDS.DomainParticipantFactory.set_default_participant_qos

Raises: One of the DDSReturnTypesModules_std_retcodes


See also: DDS.PARTICIPANT_QOS_DEFAULT
See also: DDS.DomainParticipantFactory.create_participant

Set_Qos

procedure Set_Qos 
(Self: not null access Ref;
Qos: in DDS.DomainParticipantFactoryQos);

Summary: Sets the value for a participant factory QoS.

The DDS.DomainParticipantFactoryQos.entity_factory can be changed. The other policies are immutable.

Note that despite having QoS, the DDS.DomainParticipantFactory is not an DDS.Entity.

self: <<in>> Cannot be NULL

qos: <<in>> Set of policies to be applied to DDS.DomainParticipantFactory. Policies must be consistent. Immutable policies can only be changed before calling any other RTI Connext procedures except for DDS.DomainParticipantFactory.get_qos Cannot be NULL.

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.DomainParticipantFactoryQos for rules on consistency among QoS

Load_Profiles

procedure Load_Profiles 
(Self: not null access Ref);

Summary: <<ext>> Loads the XML QoS profiles.

The XML QoS profiles are loaded implicitly after the first DDS.DomainParticipant is created or explicitly, after a call to this procedure.

This has the same effect as DDS.DomainParticipantFactory.reload_profiles().

self: <<in>> Cannot be NULL

Raises: One of the DDSReturnTypesModules_std_retcodes


See also: DDS.ProfileQosPolicy

Reload_Profiles

procedure Reload_Profiles 
(Self: not null access Ref);

Summary: <<ext>> Reloads the XML QoS profiles.

The XML QoS profiles are loaded implicitly after the first DDS.DomainParticipant is created or explicitly, after a call to this procedure.

This has the same effect as DDS.DomainParticipantFactory.load_profiles().

self: <<in>> Cannot be NULL

Raises: One of the DDSReturnTypesModules_std_retcodes


See also: DDS.ProfileQosPolicy

Unload_Profiles

procedure Unload_Profiles 
(Self: not null access Ref);

Summary: <<ext>> Unloads the XML QoS profiles.

The resources associated with the XML QoS profiles are freed. Any reference to the profiles after calling this procedure will fail with an error.

self: <<in>> Cannot be NULL

Raises: One of the DDSReturnTypesModules_std_retcodes


See also: DDS.ProfileQosPolicy

Set_Default_Profile

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

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

This procedure specifies the profile that will be used as the default the next time a default DomainParticipantFactory profile is needed during a call to a DomainParticipantFactory procedure. When calling a DDS.DomainParticipantFactory 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.)

This procedure does not set the default QoS for newly created DomainParticipants; for this functionality, use DDS.DomainParticipantFactory.set_default_participant_qos_with_profile (you may pass in NULL after having called set_default_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.DomainParticipantFactory.get_default_profile
See also: DDS.DomainParticipantFactory.get_default_profile_library

set_default_library

procedure set_default_library 
(Self: not null access Ref;
library_name: DDS.String);

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

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


See also: DDS.DomainParticipantFactory.set_default_profile for more information.

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.DomainParticipantFactory.get_default_library

get_default_library

function get_default_library 
(Self: not null access Ref) return DDS.String;

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

self: <<in>> Cannot be NULL

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


See also: DDS.DomainParticipantFactory.set_default_library

get_default_Profile

function get_default_Profile 
(Self: not null access Ref) return DDS.String;

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

self: <<in>> Cannot be NULL

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


See also: DDS.DomainParticipantFactory.set_default_profile

get_default_profile_library

function get_default_profile_library 
(Self: not null access Ref) return DDS.String;

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

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

This library can be different than the DDS.DomainParticipantFactory default library (see DDS.DomainParticipantFactory.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.DomainParticipantFactory.set_default_profile

get_qos_profile_libraries

procedure get_qos_profile_libraries 
(Self: not null access Ref;
libSeq: not null access DDS.String_Seq.Sequence);

get_qos_profile_libraries

function get_qos_profile_libraries 
(Self: not null access Ref) return DDS.String_Seq.Sequence;

Summary: <<ext>> Gets the names of all XML QoS profile libraries associated with the DDS.DomainParticipantFactory

self: <<in>> Cannot be NULL

library_names: <<out>> DDS.StringSeq to be filled with names of XML QoS profile libraries. Cannot be NULL.

get_qos_profiles

procedure get_qos_profiles 
(Self: not null access Ref;
profSeq: not null access DDS.String_Seq.Sequence;
libName: in DDS.String);

get_qos_profiles

function get_qos_profiles 
(Self: not null access Ref;
libName: in DDS.String) return DDS.String_Seq.Sequence;

Summary: <<ext>> Gets the names of all XML QoS profiles associated with the input XML QoS profile library.

self: <<in>> Cannot be NULL

profile_names: <<out>> DDS.StringSeq to be filled with names of XML QoS profiles. 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).

get_participant_qos_from_profile

procedure get_participant_qos_from_profile 
(Self: not null access Ref;
QoS: in out DDS.DomainParticipantQos;
library_name: DDS.String;
profile_name: DDS.String);

Summary: <<ext>> Gets the DDS.DomainParticipantQos values associated with the input XML QoS profile.

self: <<in>> Cannot be NULL

qos: <<out>> Qos to be filled up. 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).

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

Raises: One of the DDSReturnTypesModules_std_retcodes

get_publisher_qos_from_profile

procedure get_publisher_qos_from_profile 
(Self: not null access Ref;
QoS: in out DDS.PublisherQos;
library_name: DDS.String;
profile_name: DDS.String);

Summary: <<ext>> Gets the DDS.PublisherQos values associated with the input XML QoS profile.

self: <<in>> Cannot be NULL

qos: <<out>> Qos to be filled up. 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).

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

Raises: One of the DDSReturnTypesModules_std_retcodes

get_subscriber_qos_from_profile

procedure get_subscriber_qos_from_profile 
(Self: not null access Ref;
QoS: in out DDS.SubscriberQos;
library_name: DDS.String;
profile_name: DDS.String);

Summary: <<ext>> Gets the DDS.SubscriberQos values associated with the input XML QoS profile.

self: <<in>> Cannot be NULL

qos: <<out>> Qos to be filled up. 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).

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

Raises: One of the DDSReturnTypesModules_std_retcodes

get_datareader_qos_from_profile

procedure get_datareader_qos_from_profile 
(Self: not null access Ref;
QoS: in out DDS.DataReaderQos;
library_name: DDS.String;
profile_name: DDS.String);

Summary: <<ext>> Gets the DDS.DataReaderQos values associated with the input XML QoS profile.

self: <<in>> Cannot be NULL

qos: <<out>> Qos to be filled up. 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).

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

Raises: One of the DDSReturnTypesModules_std_retcodes

get_datareader_qos_from_profile_w_topic_name

procedure get_datareader_qos_from_profile_w_topic_name 
(Self: not null access Ref;
QoS: in out DDS.DataReaderQos;
library_name: DDS.String;
profile_name: DDS.String;
topic_name: DDS.String);

Summary: <<ext>> Gets the DDS.DataReaderQos values associated with the input XML QoS profile while applying topic filters to the input topic name.

self: <<in>> Cannot be NULL

qos: <<out>> Qos to be filled up. 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).

topic_name: <<in>> Topic name that will be evaluated against the topic_filter attribute in the XML QoS profile. If topic_name is null, RTI Connext will match only QoSs without explicit topic_filter expressions.

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

Raises: One of the DDSReturnTypesModules_std_retcodes

get_datawriter_qos_from_profile

procedure get_datawriter_qos_from_profile 
(Self: not null access Ref;
QoS: in out DDS.DataWriterQos;
library_name: DDS.String;
profile_name: DDS.String);

Summary: <<ext>> Gets the DDS.DataWriterQos values associated with the input XML QoS profile.

self: <<in>> Cannot be NULL

qos: <<out>> Qos to be filled up. 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).

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

Raises: One of the DDSReturnTypesModules_std_retcodes

get_datawriter_qos_from_profile_w_topic_name

procedure get_datawriter_qos_from_profile_w_topic_name 
(Self: not null access Ref;
QoS: in out DDS.DataWriterQos;
library_name: DDS.String;
profile_name: DDS.String;
topic_name: DDS.String);

Summary: <<ext>> Gets the DDS.DataWriterQos values associated with the input XML QoS profile while applying topic filters to the input topic name.

self: <<in>> Cannot be NULL

qos: <<out>> Qos to be filled up. 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).

topic_name: <<in>> Topic name that will be evaluated against the topic_filter attribute in the XML QoS profile. If topic_name is null, RTI Connext will match only QoSs without explicit topic_filter expressions.

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

Raises: One of the DDSReturnTypesModules_std_retcodes

get_topic_qos_from_profile

procedure get_topic_qos_from_profile 
(Self: not null access Ref;
QoS: in out DDS.TopicQos;
library_name: DDS.String;
profile_name: DDS.String);

Summary: <<ext>> Gets the DDS.TopicQos values associated with the input XML QoS profile.

self: <<in>> Cannot be NULL

qos: <<out>> Qos to be filled up. 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).

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

Raises: One of the DDSReturnTypesModules_std_retcodes

get_topic_qos_from_profile_w_topic_name

procedure get_topic_qos_from_profile_w_topic_name 
(Self: not null access Ref;
QoS: in out DDS.TopicQos;
library_name: DDS.String;
profile_name: DDS.String;
topic_name: DDS.String);

Summary: <<ext>> Gets the DDS.TopicQos values associated with the input XML QoS profile while applying topic filters to the input topic name.

self: <<in>> Cannot be NULL

qos: <<out>> Qos to be filled up. 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).

topic_name: <<in>> Topic name that will be evaluated against the topic_filter attribute in the XML QoS profile. If topic_name is null, RTI Connext will match only QoSs without explicit topic_filter expressions.

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

Raises: One of the DDSReturnTypesModules_std_retcodes

Get_Qos

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

Summary: Gets the value for participant factory QoS.

self: <<in>> Cannot be NULL

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

Raises: One of the DDSReturnTypesModules_std_retcodes

Finalize_Instance

procedure Finalize_Instance 
(Self: not null access Ref);

Summary: <<ext>> Destroys the singleton instance of this class.

Only necessary to explicitly reclaim resources used by the participant factory singleton. Note that on many OSs, these resources are automatically reclaimed by the OS when the program terminates. However, some memory-check tools still flag these as unreclaimed. So this procedure provides a way to clean up memory used by the participant factory.

Precondition: All participants created from the factory have been deleted.

Postcondition: All resources belonging to the factory have been reclaimed. Another call to DDS.DomainParticipantFactory.get_instance will return a new lifecycle of the singleton.

MT Safety:
On non-Linux systems: UNSAFE for multiple threads to simultaneously make the FIRST call to either DDS.DomainParticipantFactory.get_instance() or DDS.DomainParticipantFactory.finalize_instance(). Subsequent calls are thread safe. (On Linux systems, these calls are thread safe.)

Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_PRECONDITION_NOT_MET

Unregister_Thread

procedure Unregister_Thread 
(Self: not null access Ref);

Summary: <<ext>> Allows the user to release thread specific resources kept by the middleware.

This function should be called by the user right before exiting a thread where DDS API were used. In this way the middleware will be able to free all the resources related to this specific thread. The best approach is to call the function during the thread deletion after all the DDS related API have have been called.

self: <<in>> Cannot be NULL

Raises: One of the DDSReturnTypesModules_std_retcodes