#include <managed_domain.h>
Public Member Functions | |
void | set_default_participant_qos (DomainParticipantQos^ qos) |
Sets the default DDS::DomainParticipantQos values for this domain participant factory. | |
void | set_default_participant_qos_with_profile (System::String^ library_name, System::String^ profile_name) |
<<eXtension>> Sets the default DDS::DomainParticipantQos values for this domain participant factory based on the input XML QoS profile. | |
void | get_default_participant_qos (DomainParticipantQos^ qos) |
Initializes the DDS::DomainParticipantQos instance with default values. | |
void | set_default_library (System::String^ library_name) |
<<eXtension>> Sets the default XML library for a DDS::DomainParticipantFactory. | |
System::String^ | get_default_library () |
<<eXtension>> Gets the default XML library associated with a DDS::DomainParticipantFactory. | |
void | set_default_profile (System::String^ library_name, System::String^ profile_name) |
<<eXtension>> Sets the default XML profile for a DDS::DomainParticipantFactory. | |
System::String^ | get_default_profile () |
<<eXtension>> Gets the default XML profile associated with a DDS::DomainParticipantFactory. | |
System::String^ | get_default_profile_library () |
<<eXtension>> Gets the library where the default XML profile is contained for a DDS::DomainParticipantFactory. | |
void | get_participant_qos_from_profile (DomainParticipantQos^ qos, System::String^ library_name, System::String^ profile_name) |
<<eXtension>> Gets the DDS::DomainParticipantQos values associated with the input XML QoS profile. | |
void | get_publisher_qos_from_profile (PublisherQos^ qos, System::String^ library_name, System::String^ profile_name) |
<<eXtension>> Gets the DDS::PublisherQos values associated with the input XML QoS profile. | |
void | get_subscriber_qos_from_profile (SubscriberQos^ qos, System::String^ library_name, System::String^ profile_name) |
<<eXtension>> Gets the DDS::SubscriberQos values associated with the input XML QoS profile. | |
void | get_datawriter_qos_from_profile (DataWriterQos^ qos, System::String^ library_name, System::String^ profile_name) |
<<eXtension>> Gets the DDS::DataWriterQos values associated with the input XML QoS profile. | |
void | get_datawriter_qos_from_profile_w_topic_name (DataWriterQos^ qos, System::String^ library_name, System::String^ profile_name, System::String^ topic_name) |
<<eXtension>> Gets the DDS::DataWriterQos values associated with the input XML QoS profile while applying topic filters to the input topic name. | |
void | get_datareader_qos_from_profile (DataReaderQos^ qos, System::String^ library_name, System::String^ profile_name) |
<<eXtension>> Gets the DDS::DataReaderQos values associated with the input XML QoS profile. | |
void | get_datareader_qos_from_profile_w_topic_name (DataReaderQos^ qos, System::String^ library_name, System::String^ profile_name, System::String^ topic_name) |
<<eXtension>> Gets the DDS::DataReaderQos values associated with the input XML QoS profile while applying topic filters to the input topic name. | |
void | get_topic_qos_from_profile (TopicQos^ qos, System::String^ library_name, System::String^ profile_name) |
<<eXtension>> Gets the DDS::TopicQos values associated with the input XML QoS profile. | |
void | get_topic_qos_from_profile_w_topic_name (TopicQos^ qos, System::String^ library_name, System::String^ profile_name, System::String^ topic_name) |
<<eXtension>> Gets the DDS::TopicQos values associated with the input XML QoS profile while applying topic filters to the input topic name. | |
void | get_qos_profile_libraries (StringSeq^ library_names) |
<<eXtension>> Gets the names of all XML QoS profile libraries associated with the DDS::DomainParticipantFactory | |
void | get_qos_profiles (StringSeq^ profile_names, System::String^ library_name) |
<<eXtension>> Gets the names of all XML QoS profiles associated with the input XML QoS profile library. | |
DomainParticipant^ | create_participant (System::Int32 domainId, DomainParticipantQos^ qos, DomainParticipantListener^ listener, StatusMask mask) |
Creates a new DDS::DomainParticipant object. | |
DomainParticipant^ | create_participant_with_profile (System::Int32 domainId, System::String^ library_name, System::String^ profile_name, DomainParticipantListener^ listener, StatusMask mask) |
<<eXtension>> Creates a new DDS::DomainParticipant object using the DDS::DomainParticipantQos associated with the input XML QoS profile. | |
void | delete_participant (DomainParticipant^ %a_participant) |
Deletes an existing DDS::DomainParticipant. | |
DomainParticipant^ | lookup_participant (Int32 domainId) |
Locates an existing DDS::DomainParticipant. | |
void | set_qos (DomainParticipantFactoryQos^ qos) |
Sets the value for a participant factory QoS. | |
void | get_qos (DomainParticipantFactoryQos^ qos) |
Gets the value for participant factory QoS. | |
void | load_profiles () |
<<eXtension>> Loads the XML QoS profiles. | |
void | reload_profiles () |
<<eXtension>> Reloads the XML QoS profiles. | |
void | unload_profiles () |
<<eXtension>> Unloads the XML QoS profiles. | |
void | unregister_thread () |
<<eXtension>> Allows the user to release thread specific resources kept by the middleware. | |
Static Public Member Functions | |
static DomainParticipantFactory^ | get_instance () |
Gets the singleton instance of this class. | |
static void | finalize_instance () |
<<eXtension>> Destroys the singleton instance of this class. | |
Properties | |
static DomainParticipantQos^ | PARTICIPANT_QOS_DEFAULT [get] |
Special value for creating a DomainParticipant with default QoS. |
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() method, and destroyed with finalize_instance() method.
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:
static DomainParticipantFactory ^ DDS::DomainParticipantFactory::get_instance | ( | ) | [static] |
Gets the singleton instance of this class.
static void DDS::DomainParticipantFactory::finalize_instance | ( | ) | [static] |
<<eXtension>> 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 method provides a way to clean up memory used by the participant factory.
One | of the Standard Return Codes, or DDS::Retcode_PreconditionNotMet |
void DDS::DomainParticipantFactory::set_default_participant_qos | ( | DomainParticipantQos^ | qos | ) |
Sets the default DDS::DomainParticipantQos values for this domain participant factory.
This method may potentially allocate memory depending on the sequences contained in some QoS policies.
qos | <<inout>> Qos to be filled up. The special value DDS::DomainParticipantFactory::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. |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::set_default_participant_qos_with_profile | ( | System::String^ | library_name, | |
System::String^ | profile_name | |||
) |
<<eXtension>> Sets the default DDS::DomainParticipantQos values for this domain participant factory based on the input XML QoS profile.
This method 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::DomainParticipantFactory::PARTICIPANT_QOS_DEFAULT is specified as the qos
parameter when DDS::DomainParticipantFactory::create_participant is called.
library_name | <<in>> Library name containing the XML QoS profile. If library_name is null RTI Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service will use the default profile (see DDS::DomainParticipantFactory::set_default_profile). |
One | of the Standard Return Codes, or DDS::Retcode_InconsistentPolicy |
void DDS::DomainParticipantFactory::get_default_participant_qos | ( | DomainParticipantQos^ | qos | ) |
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 method may potentially allocate memory depending on the sequences contained in some QoS policies.
qos | <<out>> the domain participant's QoS Cannot be NULL. |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::set_default_library | ( | System::String^ | library_name | ) |
<<eXtension>> 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.
library_name | <<in>> Library name. If library_name is null any previous default is unset. |
One | of the Standard Return Codes |
System::String ^ DDS::DomainParticipantFactory::get_default_library | ( | ) |
<<eXtension>> Gets the default XML library associated with a DDS::DomainParticipantFactory.
void DDS::DomainParticipantFactory::set_default_profile | ( | System::String^ | library_name, | |
System::String^ | profile_name | |||
) |
<<eXtension>> Sets the default XML profile for a DDS::DomainParticipantFactory.
This method 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 method. When calling a DDS::DomainParticipantFactory method 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 method 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()).
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. |
One | of the Standard Return Codes |
System::String ^ DDS::DomainParticipantFactory::get_default_profile | ( | ) |
<<eXtension>> Gets the default XML profile associated with a DDS::DomainParticipantFactory.
System::String ^ DDS::DomainParticipantFactory::get_default_profile_library | ( | ) |
<<eXtension>> 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).
void DDS::DomainParticipantFactory::get_participant_qos_from_profile | ( | DomainParticipantQos^ | qos, | |
System::String^ | library_name, | |||
System::String^ | profile_name | |||
) |
<<eXtension>> Gets the DDS::DomainParticipantQos values associated with the input XML QoS profile.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service will use the default profile (see DDS::DomainParticipantFactory::set_default_profile). |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::get_publisher_qos_from_profile | ( | PublisherQos^ | qos, | |
System::String^ | library_name, | |||
System::String^ | profile_name | |||
) |
<<eXtension>> Gets the DDS::PublisherQos values associated with the input XML QoS profile.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service will use the default profile (see DDS::DomainParticipantFactory::set_default_profile). |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::get_subscriber_qos_from_profile | ( | SubscriberQos^ | qos, | |
System::String^ | library_name, | |||
System::String^ | profile_name | |||
) |
<<eXtension>> Gets the DDS::SubscriberQos values associated with the input XML QoS profile.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service will use the default profile (see DDS::DomainParticipantFactory::set_default_profile). |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::get_datawriter_qos_from_profile | ( | DataWriterQos^ | qos, | |
System::String^ | library_name, | |||
System::String^ | profile_name | |||
) |
<<eXtension>> Gets the DDS::DataWriterQos values associated with the input XML QoS profile.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service will use the default profile (see DDS::DomainParticipantFactory::set_default_profile). |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::get_datawriter_qos_from_profile_w_topic_name | ( | DataWriterQos^ | qos, | |
System::String^ | library_name, | |||
System::String^ | profile_name, | |||
System::String^ | topic_name | |||
) |
<<eXtension>> Gets the DDS::DataWriterQos values associated with the input XML QoS profile while applying topic filters to the input topic name.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service 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 Data Distribution Service will match only QoSs without explicit topic_filter expressions. |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::get_datareader_qos_from_profile | ( | DataReaderQos^ | qos, | |
System::String^ | library_name, | |||
System::String^ | profile_name | |||
) |
<<eXtension>> Gets the DDS::DataReaderQos values associated with the input XML QoS profile.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service will use the default profile (see DDS::DomainParticipantFactory::set_default_profile). |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::get_datareader_qos_from_profile_w_topic_name | ( | DataReaderQos^ | qos, | |
System::String^ | library_name, | |||
System::String^ | profile_name, | |||
System::String^ | topic_name | |||
) |
<<eXtension>> Gets the DDS::DataReaderQos values associated with the input XML QoS profile while applying topic filters to the input topic name.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service 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 Data Distribution Service will match only QoSs without explicit topic_filter expressions. |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::get_topic_qos_from_profile | ( | TopicQos^ | qos, | |
System::String^ | library_name, | |||
System::String^ | profile_name | |||
) |
<<eXtension>> Gets the DDS::TopicQos values associated with the input XML QoS profile.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service will use the default profile (see DDS::DomainParticipantFactory::set_default_profile). |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::get_topic_qos_from_profile_w_topic_name | ( | TopicQos^ | qos, | |
System::String^ | library_name, | |||
System::String^ | profile_name, | |||
System::String^ | topic_name | |||
) |
<<eXtension>> Gets the DDS::TopicQos values associated with the input XML QoS profile while applying topic filters to the input topic name.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service 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 Data Distribution Service will match only QoSs without explicit topic_filter expressions. |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::get_qos_profile_libraries | ( | StringSeq^ | library_names | ) |
<<eXtension>> Gets the names of all XML QoS profile libraries associated with the DDS::DomainParticipantFactory
library_names | <<out>> DDS::StringSeq to be filled with names of XML QoS profile libraries. Cannot be NULL. |
void DDS::DomainParticipantFactory::get_qos_profiles | ( | StringSeq^ | profile_names, | |
System::String^ | library_name | |||
) |
<<eXtension>> Gets the names of all XML QoS profiles associated with the input XML QoS profile library.
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). |
DomainParticipant ^ DDS::DomainParticipantFactory::create_participant | ( | System::Int32 | domainId, | |
DomainParticipantQos^ | qos, | |||
DomainParticipantListener^ | listener, | |||
StatusMask | mask | |||
) |
Creates a new DDS::DomainParticipant object.
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).
domainId | <<in>> ID of the domain that the application intends to join. [range] [>=0], and does not violate guidelines stated in DDS::RtpsWellKnownPorts_t. | |
qos | <<in>> the DomainParticipant's QoS. The special value DDS::DomainParticipantFactory::PARTICIPANT_QOS_DEFAULT can be used to indicate that the DDS::DomainParticipant should be created with the default DDS::DomainParticipantQos set in the DDS::DomainParticipantFactory. Cannot be NULL. | |
listener | <<in>> the domain participant's listener. | |
mask | <<in>>. Changes of communication status to be invoked on the listener. |
DDS::DomainParticipantQos for rules on consistency among QoS
DDS::DomainParticipantFactory::PARTICIPANT_QOS_DEFAULT
DDS::DomainParticipantFactory::create_participant_with_profile()
DDS::DomainParticipantFactory::get_default_participant_qos()
DomainParticipant ^ DDS::DomainParticipantFactory::create_participant_with_profile | ( | System::Int32 | domainId, | |
System::String^ | library_name, | |||
System::String^ | profile_name, | |||
DomainParticipantListener^ | listener, | |||
StatusMask | mask | |||
) |
<<eXtension>> Creates a new DDS::DomainParticipant object using the DDS::DomainParticipantQos associated with the input XML QoS profile.
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).
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 Data Distribution Service will use the default library (see DDS::DomainParticipantFactory::set_default_library). | |
profile_name | <<in>> XML QoS Profile name. If profile_name is null RTI Data Distribution Service 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. |
DDS::DomainParticipantQos for rules on consistency among QoS
DDS::DomainParticipantFactory::PARTICIPANT_QOS_DEFAULT
DDS::DomainParticipantFactory::create_participant()
DDS::DomainParticipantFactory::get_default_participant_qos()
void DDS::DomainParticipantFactory::delete_participant | ( | DomainParticipant^ % | a_participant | ) |
Deletes an existing DDS::DomainParticipant.
a_participant | <<in>> DDS::DomainParticipant to be deleted. |
One | of the Standard Return Codes, or DDS::Retcode_PreconditionNotMet. |
DomainParticipant ^ DDS::DomainParticipantFactory::lookup_participant | ( | Int32 | domainId | ) |
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.
domainId | <<in>> ID of the domain participant to lookup. |
void DDS::DomainParticipantFactory::set_qos | ( | DomainParticipantFactoryQos^ | qos | ) |
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.
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 Data Distribution Service methods except for DDS::DomainParticipantFactory::get_qos Cannot be NULL. |
One | of the Standard Return Codes, DDS::Retcode_ImmutablePolicy if immutable policy is changed, or DDS::Retcode_InconsistentPolicy if policies are inconsistent |
void DDS::DomainParticipantFactory::get_qos | ( | DomainParticipantFactoryQos^ | qos | ) |
Gets the value for participant factory QoS.
qos | <<inout>> QoS to be filled up. Cannot be NULL. |
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::load_profiles | ( | ) |
<<eXtension>> 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 method.
This has the same effect as DDS::DomainParticipantFactory::reload_profiles().
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::reload_profiles | ( | ) |
<<eXtension>> 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 method.
This has the same effect as DDS::DomainParticipantFactory::load_profiles().
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::unload_profiles | ( | ) |
<<eXtension>> Unloads the XML QoS profiles.
The resources associated with the XML QoS profiles are freed. Any reference to the profiles after calling this method will fail with an error.
One | of the Standard Return Codes |
void DDS::DomainParticipantFactory::unregister_thread | ( | ) |
<<eXtension>> 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.
One | of the Standard Return Codes |