RTI Connext .Net APIs  Version 5.3.1
DDS::DomainParticipant Class Reference

<<interface>> Container for all DDS::DomainEntity objects. More...

#include <managed_domain.h>

Inheritance diagram for DDS::DomainParticipant:
DDS::Entity

Public Member Functions

void get_default_datawriter_qos (DataWriterQos^ qos)
 <<extension>> Copy the default DDS::DataWriterQos values into the provided DDS::DataWriterQos instance. More...
 
void set_default_datawriter_qos (DataWriterQos^ qos)
 <<extension>> Set the default DataWriterQos values for this DomainParticipant. More...
 
void set_default_datawriter_qos_with_profile (System::String^ library_name, System::String^ profile_name)
 <<extension>> Set the default DDS::DataWriterQos values for this domain participant based on the input XML QoS profile. More...
 
void get_default_datareader_qos (DataReaderQos^ qos)
 <<extension>> Copy the default DDS::DataReaderQos values into the provided DDS::DataReaderQos instance. More...
 
void set_default_datareader_qos (DataReaderQos^ qos)
 <<extension>> Set the default DDS::DataReaderQos values for this domain participant. More...
 
void set_default_datareader_qos_with_profile (System::String^ library_name, System::String^ profile_name)
 <<extension>> Set the default DDS::DataReaderQos values for this DomainParticipant based on the input XML QoS profile. More...
 
void get_default_flowcontroller_property (FlowControllerProperty_t^ prop)
 <<extension>> Copies the default DDS::FlowControllerProperty_t values for this domain participant into the given DDS::FlowControllerProperty_t instance. More...
 
void set_default_flowcontroller_property (FlowControllerProperty_t^ prop)
 <<extension>> Set the default DDS::FlowControllerProperty_t values for this domain participant. More...
 
void register_contentfilter (System::String^ filter_name, IContentFilter^ contentFilter)
 <<extension>> [Not supported.] Register a content filter which can be used to create a DDS::ContentFilteredTopic. More...
 
IContentFilterlookup_contentfilter (System::String^ filter_name)
 <<extension>> [Not supported.] Lookup a content filter previously registered with DDS::DomainParticipant::register_contentfilter. More...
 
void unregister_contentfilter (System::String^ filter_name)
 <<extension>> [Not supported.] Unregister a content filter previously registered with DDS::DomainParticipant::register_contentfilter. More...
 
System::String ^ get_default_library ()
 <<extension>> Gets the default XML library associated with a DDS::DomainParticipant. More...
 
System::String ^ get_default_profile ()
 <<extension>> Gets the default XML profile associated with a DDS::DomainParticipant. More...
 
System::String ^ get_default_profile_library ()
 <<extension>> Gets the library where the default XML QoS profile is contained for a DDS::DomainParticipant. More...
 
void set_default_library (System::String^ library_name)
 <<extension>> Sets the default XML library for a DDS::DomainParticipant. More...
 
void set_default_profile (System::String^ library_name, System::String^ profile_name)
 <<extension>> Sets the default XML profile for a DDS::DomainParticipant. More...
 
Publisherget_implicit_publisher ()
 <<extension>> Returns the implicit DDS::Publisher. If an implicit Publisher does not already exist, this creates one. More...
 
Subscriberget_implicit_subscriber ()
 <<extension>> Returns the implicit DDS::Subscriber. If an implicit Subscriber does not already exist, this creates one. More...
 
DataWritercreate_datawriter (Topic^ topic, DataWriterQos^ qos, DataWriterListener^ listener, StatusMask mask)
 <<extension>> Creates a DDS::DataWriter that will be attached and belong to the implicit DDS::Publisher. More...
 
DataWritercreate_datawriter_with_profile (Topic^ topic, System::String^ library_name, System::String^ profile_name, DataWriterListener^ listener, StatusMask mask)
 <<extension>> Creates a DDS::DataWriter using a XML QoS profile that will be attached and belong to the implicit DDS::Publisher. More...
 
void delete_datawriter (DataWriter^% a_datawriter)
 <<extension>> Deletes a DDS::DataWriter that belongs to the implicit DDS::Publisher. More...
 
DataReadercreate_datareader (ITopicDescription^ topic, DataReaderQos^ qos, DataReaderListener^ listener, StatusMask mask)
 <<extension>> Creates a DDS::DataReader that will be attached and belong to the implicit DDS::Subscriber. More...
 
DataReadercreate_datareader_with_profile (ITopicDescription^ topic, System::String^ library_name, System::String^ profile_name, DataReaderListener^ listener, StatusMask mask)
 <<extension>> Creates a DDS::DataReader using a XML QoS profile that will be attached and belong to the implicit DDS::Subscriber. More...
 
void delete_datareader (DataReader^% a_datareader)
 <<extension>> Deletes a DDS::DataReader that belongs to the implicit DDS::Subscriber. More...
 
void get_default_topic_qos (TopicQos^ qos)
 Copies the default DDS::TopicQos values for this domain participant into the given DDS::TopicQos instance. More...
 
void set_default_topic_qos (TopicQos^ qos)
 Set the default DDS::TopicQos values for this domain participant. More...
 
void set_default_topic_qos_with_profile (System::String^ library_name, System::String^ profile_name)
 <<extension>> Set the default DDS::TopicQos values for this domain participant based on the input XML QoS profile. More...
 
void get_default_publisher_qos (PublisherQos^ qos)
 Copy the default DDS::PublisherQos values into the provided DDS::PublisherQos instance. More...
 
void set_default_publisher_qos (PublisherQos^ qos)
 Set the default DDS::PublisherQos values for this DomainParticipant. More...
 
void set_default_publisher_qos_with_profile (System::String^ library_name, System::String^ profile_name)
 <<extension>> Set the default DDS::PublisherQos values for this DomainParticipant based on the input XML QoS profile. More...
 
void get_default_subscriber_qos (SubscriberQos^ qos)
 Copy the default DDS::SubscriberQos values into the provided DDS::SubscriberQos instance. More...
 
void set_default_subscriber_qos (SubscriberQos^ qos)
 Set the default DDS::SubscriberQos values for this DomainParticipant. More...
 
void set_default_subscriber_qos_with_profile (System::String^ library_name, System::String^ profile_name)
 <<extension>> Set the default DDS::SubscriberQos values for this DomainParticipant based on the input XML QoS profile. More...
 
Publishercreate_publisher (PublisherQos^ qos, PublisherListener^ listener, StatusMask mask)
 Creates a DDS::Publisher with the desired QoS policies and attaches to it the specified DDS::PublisherListener. More...
 
Publishercreate_publisher_with_profile (System::String^ library_name, System::String^ profile_name, PublisherListener^ listener, StatusMask mask)
 <<extension>> Creates a new DDS::Publisher object using the DDS::PublisherQos associated with the input XML QoS profile. More...
 
void delete_publisher (Publisher^% p)
 Deletes an existing DDS::Publisher. More...
 
Subscribercreate_subscriber (SubscriberQos^ qos, SubscriberListener^ listener, StatusMask mask)
 Creates a DDS::Subscriber with the desired QoS policies and attaches to it the specified DDS::SubscriberListener. More...
 
Subscribercreate_subscriber_with_profile (System::String^ library_name, System::String^ profile_name, SubscriberListener^ listener, StatusMask mask)
 <<extension>> Creates a new DDS::Subscriber object using the DDS::PublisherQos associated with the input XML QoS profile. More...
 
void delete_subscriber (Subscriber^% s)
 Deletes an existing DDS::Subscriber. More...
 
void get_publishers (PublisherSeq^ publishers)
 <<extension>> Allows the application to access all the publishers the participant has. More...
 
void get_subscribers (SubscriberSeq^ subscribers)
 <<extension>> Allows the application to access all the subscribers the participant has. More...
 
Topiccreate_topic (System::String^ topic_name, System::String^ type_name, TopicQos^ qos, TopicListener^ listener, StatusMask mask)
 Creates a DDS::Topic with the desired QoS policies and attaches to it the specified DDS::TopicListener. More...
 
Topiccreate_topic_with_profile (System::String^ topic_name, System::String^ type_name, System::String^ library_name, System::String^ profile_name, TopicListener^ listener, StatusMask mask)
 <<extension>> Creates a new DDS::Topic object using the DDS::PublisherQos associated with the input XML QoS profile. More...
 
void delete_topic (Topic^% topic)
 Deletes a DDS::Topic. More...
 
ContentFilteredTopiccreate_contentfilteredtopic (System::String^ name, Topic^ related_topic, System::String^ filter_expression, StringSeq^ expression_parameters)
 Creates a DDS::ContentFilteredTopic, that can be used to do content-based subscriptions. More...
 
ContentFilteredTopiccreate_contentfilteredtopic_with_filter (System::String^ name, Topic^ related_topic, System::String^ filter_expression, StringSeq^ expression_parameters, System::String^ filter_name)
 <<extension>> Creates a DDS::ContentFilteredTopic using the specified filter to do content-based subscriptions. More...
 
void delete_contentfilteredtopic (ContentFilteredTopic^% a_contentfilteredtopic)
 Deletes a DDS::ContentFilteredTopic. More...
 
MultiTopiccreate_multitopic (System::String^ name, System::String^ type_name, System::String^ subscription_expression, StringSeq^ expression_parameters)
 [Not supported (optional)] Creates a MultiTopic that can be used to subscribe to multiple topics and combine/filter the received data into a resulting type. More...
 
void delete_multitopic (MultiTopic^ a_multitopic)
 [Not supported (optional)] Deletes a DDS::MultiTopic. More...
 
Topicfind_topic (System::String^ topic_name, Duration_t % timeout)
 Finds an existing (or ready to exist) DDS::Topic, based on its name. More...
 
ITopicDescriptionlookup_topicdescription (System::String^ topic_name)
 Looks up an existing, locally created ITopicDescription, based on its name. More...
 
FlowControllercreate_flowcontroller (System::String^ name, FlowControllerProperty_t^ prop)
 <<extension>> Creates a DDS::FlowController with the desired property. More...
 
void delete_flowcontroller (FlowController^% fc)
 <<extension>> Deletes an existing DDS::FlowController. More...
 
FlowControllerlookup_flowcontroller (System::String^ name)
 <<extension>> Looks up an existing locally-created DDS::FlowController, based on its name. More...
 
Subscriberget_builtin_subscriber ()
 Accesses the built-in DDS::Subscriber. More...
 
void ignore_participant (InstanceHandle_t % handle)
 Instructs RTI Connext to locally ignore a remote DDS::DomainParticipant. More...
 
void ignore_topic (InstanceHandle_t % handle)
 Instructs RTI Connext to locally ignore a DDS::Topic. More...
 
void ignore_publication (InstanceHandle_t % handle)
 Instructs RTI Connext to locally ignore a publication. More...
 
void ignore_subscription (InstanceHandle_t % handle)
 Instructs RTI Connext to locally ignore a subscription. More...
 
System::Int32 get_domain_id ()
 Get the unique domain identifier. More...
 
void get_current_time (Time_t % current_time)
 Returns the current value of the time. More...
 
void assert_liveliness ()
 Manually asserts the liveliness of this DDS::DomainParticipant. More...
 
void resume_endpoint_discovery (InstanceHandle_t % remote_participant_handle)
 <<extension>> Initiates endpoint discovery with the specified remote DDS::DomainParticipant. More...
 
void delete_contained_entities ()
 Delete all the entities that were created by means of the "create" operations on the DDS::DomainParticipant. More...
 
void get_discovered_participants (InstanceHandleSeq^ participant_handles)
 Returns a list of discovered DDS::DomainParticipant entities. More...
 
void get_discovered_participant_data (ParticipantBuiltinTopicData^ participant_data, InstanceHandle_t % participant_handle)
 Returns DDS::ParticipantBuiltinTopicData for the specified DDS::DomainParticipant. More...
 
void get_discovered_topics (InstanceHandleSeq^ topic_handles)
 Returns list of discovered DDS::Topic objects. More...
 
void get_discovered_topic_data (TopicBuiltinTopicData^ topic_data, InstanceHandle_t % topic_handle)
 Returns DDS::TopicBuiltinTopicData for the specified DDS::Topic. More...
 
System::Boolean contains_entity (InstanceHandle_t % a_handle)
 Completes successfully with true if the referenced DDS::Entity is contained by the DDS::DomainParticipant. More...
 
virtual void get_participant_protocol_status (DomainParticipantProtocolStatus % status)
 <<extension>> Get the domain participant protocol status for this participant. More...
 
void set_qos (DomainParticipantQos^ qos)
 Change the QoS of this DomainParticipant. More...
 
void set_qos_with_profile (System::String^ library_name, System::String^ profile_name)
 <<extension>> Change the QoS of this domain participant using the input XML QoS profile. More...
 
void get_qos (DomainParticipantQos^ qos)
 Get the participant QoS. More...
 
void add_peer (System::String^ peer_desc_string)
 <<extension>> Attempt to contact one or more additional peer participants. More...
 
void remove_peer (System::String^ peer_desc_string)
 <<extension>> Remove one or more peer participants from the list of peers with which this DDS::DomainParticipant will try to communicate. More...
 
void set_listener (DomainParticipantListener^ l, StatusMask mask)
 Sets the participant listener. More...
 
DomainParticipantListenerget_listener ()
 Get the participant listener. More...
 
virtual void enable () override
 Enables the DDS::Entity. More...
 
virtual StatusConditionget_statuscondition () override
 Allows access to the DDS::StatusCondition associated with the DDS::Entity. More...
 
virtual StatusMask get_status_changes () override
 Retrieves the list of communication statuses in the DDS::Entity that are triggered. More...
 
virtual InstanceHandle_t get_instance_handle () override
 Allows access to the DDS::InstanceHandle_t associated with the DDS::Entity. More...
 
Publisherlookup_publisher_by_name (String^ publisher_name)
 <<extension>> Looks up a DDS::Publisher by its entity name within this DDS::DomainParticipant. More...
 
Subscriberlookup_subscriber_by_name (String^ subscriber_name)
 <<extension>> Retrieves a DDS::Subscriber by its entity name within this DDS::DomainParticipant. More...
 
DataWriterlookup_datawriter_by_name (String^ datawriter_full_name)
 <<extension>> Looks up a DDS::DataWriter by its entity name within this DDS::DomainParticipant. More...
 
DataReaderlookup_datareader_by_name (String^ datareader_full_name)
 <<extension>> Retrieves up a DDS::DataReader by its entity name in this DDS::DomainParticipant. More...
 

Properties

static PublisherQosPUBLISHER_QOS_DEFAULT [get]
 Special value for creating a DDS::Publisher with default QoS. More...
 
static SubscriberQosSUBSCRIBER_QOS_DEFAULT [get]
 Special value for creating a DDS::Subscriber with default QoS. More...
 
static TopicQosTOPIC_QOS_DEFAULT [get]
 Special value for creating a DDS::Topic with default QoS. More...
 
static FlowControllerProperty_tFLOW_CONTROLLER_PROPERTY_DEFAULT [get]
 <<extension>> Special value for creating a DDS::FlowController with default property. More...
 
static System::String^ SQLFILTER_NAME [get]
 <<extension>> The name of the built-in SQL filter that can be used with ContentFilteredTopics and MultiChannel DataWriters. More...
 
static System::String^ STRINGMATCHFILTER_NAME [get]
 <<extension>> The name of the built-in StringMatch filter that can be used with ContentFilteredTopics and MultiChannel DataWriters. More...
 

Detailed Description

<<interface>> Container for all DDS::DomainEntity objects.

The DomainParticipant object plays several roles:

  • It acts as a container for all other DDS::Entity objects.
  • It represents the participation of the application on a communication plane that isolates applications running on the same set of physical computers from each other. A domain establishes a virtual network linking all applications that share the same domainId and isolating them from applications running on different domains. In this way, several independent distributed applications can coexist in the same physical network without interfering, or even being aware of each other.

The following operations may be called even if the DDS::DomainParticipant is not enabled. Operations NOT in this list will fail with DDS::Retcode_NotEnabled \ if called on a disabled DomainParticipant.

QoS:
DDS::DomainParticipantQos
Status:
Status Kinds
Listener:
DDS::DomainParticipantListener
See also
Operations Allowed in Listener Callbacks
Other operations related to a DomainParticipant in other namespaces:
  • Related to dds::topic::Topic: dds::topic::find(), dds::topic::discover_any_topic, dds::topic::discover_topic_data, dds::topic::ignore() and similar operations
  • Related to dds::sub::Subscriber: rti::sub::find_subscribers(), dds::sub::builtin_subscriber(), rti::sub::implicit_subscriber()
  • Related to dds::sub::DataReader: dds::sub::ignore(), rti::sub::find_datareader_by_name()
  • Related to dds::pub::Publisher: rti::pub::find_publishers(), rti::pub::implicit_publisher()
  • Related to dds::pub::DataWriter: dds::pub::ignore(), rti::pub::find_datawriter_by_name()
  • Related to rti::pub::FlowController: rti::pub::find_flow_controller()
Examples:
HelloWorld_publisher.cpp, HelloWorld_subscriber.cpp, and HelloWorldSupport.cpp.

Member Function Documentation

◆ get_default_datawriter_qos()

void DDS::DomainParticipant::get_default_datawriter_qos ( DataWriterQos qos)

<<extension>> 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 method 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.
Parameters
qos<<inout>> Qos to be filled up. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes

◆ set_default_datawriter_qos()

void DDS::DomainParticipant::set_default_datawriter_qos ( DataWriterQos qos)

<<extension>> 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_InconsistentPolicy
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::Publisher::DATAWRITER_QOS_DEFAULT as the qos parameter.
Parameters
qos<<in>> Default qos to be set. The special value DDS::Publisher::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.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy

◆ set_default_datawriter_qos_with_profile()

void DDS::DomainParticipant::set_default_datawriter_qos_with_profile ( System::String^  library_name,
System::String^  profile_name 
)

<<extension>> 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_InconsistentPolicy
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
Parameters
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 method fails with DDS::Retcode_Error.

Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy

◆ get_default_datareader_qos()

void DDS::DomainParticipant::get_default_datareader_qos ( DataReaderQos qos)

<<extension>> 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 method 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.
Parameters
qos<<inout>> Qos to be filled up. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes

◆ set_default_datareader_qos()

void DDS::DomainParticipant::set_default_datareader_qos ( DataReaderQos qos)

<<extension>> 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_InconsistentPolicy
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.
Parameters
qos<<in>> Default qos to be set. The special value DDS::Subscriber::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.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy

◆ set_default_datareader_qos_with_profile()

void DDS::DomainParticipant::set_default_datareader_qos_with_profile ( System::String^  library_name,
System::String^  profile_name 
)

<<extension>> 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_InconsistentPolicy
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.
Parameters
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 method fails with DDS::Retcode_Error.

Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy

◆ get_default_flowcontroller_property()

void DDS::DomainParticipant::get_default_flowcontroller_property ( FlowControllerProperty_t prop)

<<extension>> 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
Parameters
prop<<in>> Default property to be retrieved. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes
See also
DDS::DomainParticipant::FLOW_CONTROLLER_PROPERTY_DEFAULT
DDS::DomainParticipant::create_flowcontroller

◆ set_default_flowcontroller_property()

void DDS::DomainParticipant::set_default_flowcontroller_property ( FlowControllerProperty_t prop)

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

This default value will be used for newly created DDS::FlowController if DDS::DomainParticipant::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_InconsistentPolicy
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::DomainParticipant::FLOW_CONTROLLER_PROPERTY_DEFAULT as the qos parameter.
Parameters
prop<<in>> Default property to be set. The special value DDS::DomainParticipant::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.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy
See also
DDS::DomainParticipant::FLOW_CONTROLLER_PROPERTY_DEFAULT
DDS::DomainParticipant::create_flowcontroller

◆ register_contentfilter()

void DDS::DomainParticipant::register_contentfilter ( System::String^  filter_name,
IContentFilter contentFilter 
)

<<extension>> [Not supported.] Register a content filter which can be used to create a DDS::ContentFilteredTopic.

DDS specifies a SQL-like content filter for use by content filtered topics. If this filter does not meet your filtering requirements, you can register a custom filter.

To use a custom filter, it must be registered in the following places:

  • In any application that uses the custom filter to create a DDS::ContentFilteredTopic and the corresponding DDS::DataReader.
  • In each application that writes the data to the applications mentioned above.

For example, suppose Application A on the subscription side creates a Topic named X and a ContentFilteredTopic named filteredX (and a corresponding DataReader), using a previously registered content filter, myFilter. With only that, you will have filtering at the subscription side. If you also want to perform filtering in any application that publishes Topic X, then you also need to register the same definition of the ContentFilter myFilter in that application.

Each filter_name can only be used to registered a content filter once with a DDS::DomainParticipant.

Parameters
filter_name<<in>> Name of the filter. The name must be unique within the DDS::DomainParticipant and must not exceed 255 characters. Cannot be NULL.
contentFilter<<in>> Content filter to be registered. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes
See also
DDS::DomainParticipant::unregister_contentfilter

◆ lookup_contentfilter()

IContentFilter ^ DDS::DomainParticipant::lookup_contentfilter ( System::String^  filter_name)

<<extension>> [Not supported.] Lookup a content filter previously registered with DDS::DomainParticipant::register_contentfilter.

Parameters
filter_name<<in>> Name of the filter. Cannot be NULL.
Returns
NULL if the given filter_name has not been previously registered to the DDS::DomainParticipant with DDS::DomainParticipant::register_contentfilter. Otherwise, return the DDS::IContentFilter that has been previosuly registered with the given filter_name.
See also
DDS::DomainParticipant::register_contentfilter

◆ unregister_contentfilter()

void DDS::DomainParticipant::unregister_contentfilter ( System::String^  filter_name)

<<extension>> [Not supported.] Unregister a content filter previously registered with DDS::DomainParticipant::register_contentfilter.

A filter_name can be unregistered only if it has been previously registered to the DDS::DomainParticipant with DDS::DomainParticipant::register_contentfilter.

The unregistration of filter is not allowed if there are any existing DDS::ContentFilteredTopic objects that are using the filter. If the operation is called on a filter with existing DDS::ContentFilteredTopic objects attached to it, this operation will fail with DDS::Retcode_PreconditionNotMet.

If there are still existing discovered DDS::DataReader s with the same filter_name and the filter's compile method of the filter have previously been called on the discovered DDS::DataReader s, finalize method of the filter will be called on those discovered DDS::DataReader s before the content filter is unregistered. This means filtering will now be performed on the application that is creating the DDS::DataReader.

Parameters
filter_name<<in>> Name of the filter. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes or DDS::Retcode_PreconditionNotMet
See also
DDS::DomainParticipant::register_contentfilter

◆ get_default_library()

System::String ^ DDS::DomainParticipant::get_default_library ( )

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

Returns
The default library or null if the default library was not set.
See also
DDS::DomainParticipant::set_default_library

◆ get_default_profile()

System::String ^ DDS::DomainParticipant::get_default_profile ( )

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

Returns
The default profile or null if the default profile was not set.
See also
DDS::DomainParticipant::set_default_profile

◆ get_default_profile_library()

System::String ^ DDS::DomainParticipant::get_default_profile_library ( )

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

Returns
The default profile library or null if the default profile was not set.
See also
DDS::DomainParticipant::set_default_profile

◆ set_default_library()

void DDS::DomainParticipant::set_default_library ( System::String^  library_name)

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

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

Parameters
library_name<<in>> Library name. If library_name is null any previous default is unset.
Exceptions
Oneof the Standard Return Codes
See also
DDS::DomainParticipant::get_default_library

◆ set_default_profile()

void DDS::DomainParticipant::set_default_profile ( System::String^  library_name,
System::String^  profile_name 
)

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

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

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

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

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

Parameters
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.
Exceptions
Oneof the Standard Return Codes
See also
DDS::DomainParticipant::get_default_profile
DDS::DomainParticipant::get_default_profile_library

◆ get_implicit_publisher()

Publisher ^ DDS::DomainParticipant::get_implicit_publisher ( )

<<extension>> 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::DomainParticipant::PUBLISHER_QOS_DEFAULT and no Listener.

This implicit Publisher will be deleted automatically when the following methods 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.

Returns
The implicit publisher
See also
DDS::DomainParticipant::PUBLISHER_QOS_DEFAULT
DDS::DomainParticipant::create_publisher

Referenced by RTI.Connext.Queuing.QueueProducer< TRep >::QueueProducer().

◆ get_implicit_subscriber()

Subscriber ^ DDS::DomainParticipant::get_implicit_subscriber ( )

<<extension>> 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::DomainParticipant::SUBSCRIBER_QOS_DEFAULT and no Listener.

This implicit Subscriber will be deleted automatically when the following methods 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.
Returns
The implicit subscriber
See also
DDS::DomainParticipant::SUBSCRIBER_QOS_DEFAULT
DDS::DomainParticipant::create_subscriber

Referenced by RTI.Connext.Queuing.QueueConsumer< TRep >::QueueConsumer().

◆ create_datawriter()

DataWriter ^ DDS::DomainParticipant::create_datawriter ( Topic topic,
DataWriterQos qos,
DataWriterListener listener,
StatusMask  mask 
)

<<extension>> 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 method will fail.

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

MT Safety:
UNSAFE. If DDS::Publisher::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.
Parameters
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::Publisher::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::Publisher.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
DDS::TypedDataWriter
Specifying QoS on entities for information on setting QoS before entity creation
DDS::DataWriterQos for rules on consistency among QoS
DDS::Publisher::DATAWRITER_QOS_DEFAULT
DDS::Publisher.DATAWRITER_QOS_USE_TOPIC_QOS
DDS::DomainParticipant::create_datawriter_with_profile
DDS::DomainParticipant::get_default_datawriter_qos
DDS::DomainParticipant::get_implicit_publisher
DDS::Topic::set_qos
DDS::DataWriter::set_listener

◆ create_datawriter_with_profile()

DataWriter ^ DDS::DomainParticipant::create_datawriter_with_profile ( Topic topic,
System::String^  library_name,
System::String^  profile_name,
DataWriterListener listener,
StatusMask  mask 
)

<<extension>> 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 method will return NULL.

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

Parameters
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
DDS::TypedDataWriter
Specifying QoS on entities for information on setting QoS before entity creation
DDS::DataWriterQos for rules on consistency among QoS
DDS::DomainParticipant::create_datawriter
DDS::DomainParticipant::get_default_datawriter_qos
DDS::DomainParticipant::get_implicit_publisher
DDS::Topic::set_qos
DDS::DataWriter::set_listener

◆ delete_datawriter()

void DDS::DomainParticipant::delete_datawriter ( DataWriter^%  a_datawriter)

<<extension>> 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 WRITER_DATA_LIFECYCLE 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::DestinationOrderQosPolicyKind::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:

Precondition
If the DDS::DataWriter does not belong to the implicit DDS::Publisher, the operation will fail with DDS::Retcode_PreconditionNotMet.
Postcondition
Listener installed on the DDS::DataWriter will not be called after this method completes successfully.
MT Safety:
UNSAFE. It is not safe to delete an entity while another thread may be simultaneously calling an API that uses the entity.
Parameters
a_datawriter<<in>> The DDS::DataWriter to be deleted.
Exceptions
Oneof the Standard Return Codes or DDS::Retcode_PreconditionNotMet.
See also
DDS::DomainParticipant::get_implicit_publisher

◆ create_datareader()

DataReader ^ DDS::DomainParticipant::create_datareader ( ITopicDescription topic,
DataReaderQos qos,
DataReaderListener listener,
StatusMask  mask 
)

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

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

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

MT Safety:
UNSAFE. If DDS::Subscriber::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.
Parameters
topic<<in>> The ITopicDescription that the DDS::DataReader will be associated with. Cannot be NULL.
qos<<in>> The qos of the DDS::DataReader. The special value DDS::Subscriber::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 ITopicDescription is of type DDS::Topic or DDS::ContentFilteredTopic, the special value DDS::Subscriber::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::Subscriber::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
DDS::TypedDataReader
Specifying QoS on entities for information on setting QoS before entity creation
DDS::DataReaderQos for rules on consistency among QoS
DDS::DomainParticipant::create_datareader_with_profile
DDS::DomainParticipant::get_default_datareader_qos
DDS::DomainParticipant::get_implicit_subscriber
DDS::Topic::set_qos
DDS::DataReader::set_listener

◆ create_datareader_with_profile()

DataReader ^ DDS::DomainParticipant::create_datareader_with_profile ( ITopicDescription topic,
System::String^  library_name,
System::String^  profile_name,
DataReaderListener listener,
StatusMask  mask 
)

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

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

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

Parameters
topic<<in>> The ITopicDescription 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
DDS::TypedDataReader
Specifying QoS on entities for information on setting QoS before entity creation
DDS::DataReaderQos for rules on consistency among QoS
DDS::DomainParticipant::create_datareader
DDS::DomainParticipant::get_default_datareader_qos
DDS::DomainParticipant::get_implicit_subscriber
DDS::Topic::set_qos
DDS::DataReader::set_listener

◆ delete_datareader()

void DDS::DomainParticipant::delete_datareader ( DataReader^%  a_datareader)

<<extension>> 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_PreconditionNotMet.
Postcondition
Listener installed on the DDS::DataReader will not be called after this method completes successfully.
MT Safety:
UNSAFE. It is not safe to delete an entity while another thread may be simultaneously calling an API that uses the entity.
Parameters
a_datareader<<in>> The DDS::DataReader to be deleted.
Exceptions
Oneof the Standard Return Codes or DDS::Retcode_PreconditionNotMet.
See also
DDS::DomainParticipant::get_implicit_subscriber

◆ get_default_topic_qos()

void DDS::DomainParticipant::get_default_topic_qos ( TopicQos qos)

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 method 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
Parameters
qos<<in>> Default qos to be retrieved. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes
See also
DDS::DomainParticipant::TOPIC_QOS_DEFAULT
DDS::DomainParticipant::create_topic

◆ set_default_topic_qos()

void DDS::DomainParticipant::set_default_topic_qos ( TopicQos qos)

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

This default value will be used for newly created DDS::Topic if DDS::DomainParticipant::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_InconsistentPolicy
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::DomainParticipant::TOPIC_QOS_DEFAULT as the qos parameter.
Parameters
qos<<in>> Default qos to be set. The special value DDS::DomainParticipant::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.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy
See also
DDS::DomainParticipant::TOPIC_QOS_DEFAULT
DDS::DomainParticipant::create_topic

◆ set_default_topic_qos_with_profile()

void DDS::DomainParticipant::set_default_topic_qos_with_profile ( System::String^  library_name,
System::String^  profile_name 
)

<<extension>> 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::DomainParticipant::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_InconsistentPolicy
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::DomainParticipant::TOPIC_QOS_DEFAULT as the qos parameter.
Parameters
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 method fails with DDS::Retcode_Error.

Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy
See also
DDS::DomainParticipant::TOPIC_QOS_DEFAULT
DDS::DomainParticipant::create_topic_with_profile

◆ get_default_publisher_qos()

void DDS::DomainParticipant::get_default_publisher_qos ( PublisherQos qos)

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 method may potentially allocate memory depending on the sequences contained in some QoS policies.

If DDS::DomainParticipant::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
Parameters
qos<<inout>> Qos to be filled up. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes
See also
DDS::DomainParticipant::PUBLISHER_QOS_DEFAULT
DDS::DomainParticipant::create_publisher

◆ set_default_publisher_qos()

void DDS::DomainParticipant::set_default_publisher_qos ( PublisherQos qos)

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::DomainParticipant::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_InconsistentPolicy
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::DomainParticipant::PUBLISHER_QOS_DEFAULT as the qos parameter.
Parameters
qos<<in>> Default qos to be set. The special value DDS::DomainParticipant::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.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy
See also
DDS::DomainParticipant::PUBLISHER_QOS_DEFAULT
DDS::DomainParticipant::create_publisher

◆ set_default_publisher_qos_with_profile()

void DDS::DomainParticipant::set_default_publisher_qos_with_profile ( System::String^  library_name,
System::String^  profile_name 
)

<<extension>> 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::DomainParticipant::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_InconsistentPolicy
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::DomainParticipant::PUBLISHER_QOS_DEFAULT as the qos parameter.
Parameters
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 method fails with DDS::Retcode_Error.

Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy
See also
DDS::DomainParticipant::PUBLISHER_QOS_DEFAULT
DDS::DomainParticipant::create_publisher_with_profile

◆ get_default_subscriber_qos()

void DDS::DomainParticipant::get_default_subscriber_qos ( SubscriberQos qos)

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 method may potentially allocate memory depending on the sequences contained in some QoS policies.

If DDS::DomainParticipant::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.
Parameters
qos<<inout>> Qos to be filled up. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes
See also
DDS::DomainParticipant::SUBSCRIBER_QOS_DEFAULT
DDS::DomainParticipant::create_subscriber

◆ set_default_subscriber_qos()

void DDS::DomainParticipant::set_default_subscriber_qos ( SubscriberQos qos)

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::DomainParticipant::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_InconsistentPolicy
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::DomainParticipant::SUBSCRIBER_QOS_DEFAULT as the qos parameter.
Parameters
qos<<in>> Default qos to be set. The special value DDS::DomainParticipant::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.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy

◆ set_default_subscriber_qos_with_profile()

void DDS::DomainParticipant::set_default_subscriber_qos_with_profile ( System::String^  library_name,
System::String^  profile_name 
)

<<extension>> 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::DomainParticipant::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_InconsistentPolicy
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::DomainParticipant::SUBSCRIBER_QOS_DEFAULT as the qos parameter.
Parameters
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 method fails with DDS::Retcode_Error.

Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_InconsistentPolicy
See also
DDS::DomainParticipant::SUBSCRIBER_QOS_DEFAULT
DDS::DomainParticipant::create_subscriber_with_profile

◆ create_publisher()

Publisher ^ DDS::DomainParticipant::create_publisher ( PublisherQos qos,
PublisherListener listener,
StatusMask  mask 
)

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::DomainParticipant::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.
Parameters
qos<<in>> QoS to be used for creating the new DDS::Publisher. The special value DDS::DomainParticipant::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
Specifying QoS on entities for information on setting QoS before entity creation
DDS::PublisherQos for rules on consistency among QoS
DDS::DomainParticipant::PUBLISHER_QOS_DEFAULT
DDS::DomainParticipant::create_publisher_with_profile
DDS::DomainParticipant::get_default_publisher_qos
DDS::Publisher::set_listener
Examples:
HelloWorld_publisher.cpp.

◆ create_publisher_with_profile()

Publisher ^ DDS::DomainParticipant::create_publisher_with_profile ( System::String^  library_name,
System::String^  profile_name,
PublisherListener listener,
StatusMask  mask 
)

<<extension>> 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.
Parameters
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
Specifying QoS on entities for information on setting QoS before entity creation
DDS::PublisherQos for rules on consistency among QoS
DDS::DomainParticipant::create_publisher
DDS::DomainParticipant::get_default_publisher_qos
DDS::Publisher::set_listener

◆ delete_publisher()

void DDS::DomainParticipant::delete_publisher ( Publisher^%  p)

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_PreconditionNotMet.
DDS::Publisher must have been created by this DDS::DomainParticipant, or else it will fail with DDS::Retcode_PreconditionNotMet.
Postcondition
Listener installed on the DDS::Publisher will not be called after this method completes successfully.
MT Safety:
UNSAFE. It is not safe to delete an entity while another thread may be simultaneously calling an API that uses the entity.
Parameters
p<<in>> DDS::Publisher to be deleted.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_PreconditionNotMet.

◆ create_subscriber()

Subscriber ^ DDS::DomainParticipant::create_subscriber ( SubscriberQos qos,
SubscriberListener listener,
StatusMask  mask 
)

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::DomainParticipant::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.
Parameters
qos<<in>> QoS to be used for creating the new DDS::Subscriber. The special value DDS::DomainParticipant::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
Specifying QoS on entities for information on setting QoS before entity creation
DDS::SubscriberQos for rules on consistency among QoS
DDS::DomainParticipant::SUBSCRIBER_QOS_DEFAULT
DDS::DomainParticipant::create_subscriber_with_profile
DDS::DomainParticipant::get_default_subscriber_qos
DDS::Subscriber::set_listener
Examples:
HelloWorld_subscriber.cpp.

◆ create_subscriber_with_profile()

Subscriber ^ DDS::DomainParticipant::create_subscriber_with_profile ( System::String^  library_name,
System::String^  profile_name,
SubscriberListener listener,
StatusMask  mask 
)

<<extension>> 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.
Parameters
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
Specifying QoS on entities for information on setting QoS before entity creation
DDS::SubscriberQos for rules on consistency among QoS
DDS::DomainParticipant::create_subscriber
DDS::DomainParticipant::get_default_subscriber_qos
DDS::Subscriber::set_listener

◆ delete_subscriber()

void DDS::DomainParticipant::delete_subscriber ( Subscriber^%  s)

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_PreconditionNotMet
The DDS::Subscriber must have been created by this DDS::DomainParticipant, or else it will fail with DDS::Retcode_PreconditionNotMet.
Postcondition
A Listener installed on the DDS::Subscriber will not be called after this method completes successfully.
MT Safety:
UNSAFE. It is not safe to delete an entity while another thread may be simultaneously calling an API that uses the entity.
Parameters
s<<in>> DDS::Subscriber to be deleted.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_PreconditionNotMet.

◆ get_publishers()

void DDS::DomainParticipant::get_publishers ( PublisherSeq publishers)

<<extension>> 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_OutOfResources.

MT Safety:
Safe.
Parameters
publishers<<inout>> a PublisherSeq object where the set or list of publishers will be returned
Returns
One of the Standard Return Codes or DDS::Retcode_OutOfResources

◆ get_subscribers()

void DDS::DomainParticipant::get_subscribers ( SubscriberSeq subscribers)

<<extension>> Allows the application to access all the subscribers the participant has.

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

MT Safety:
Safe.
Parameters
subscribers<<inout>> a SubscriberSeq object where the set or list of subscribers will be returned
Returns
One of the Standard Return Codes or DDS::Retcode_OutOfResources

◆ create_topic()

Topic ^ DDS::DomainParticipant::create_topic ( System::String^  topic_name,
System::String^  type_name,
TopicQos qos,
TopicListener listener,
StatusMask  mask 
)

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 method will fail and return a NULL topic.
The specified QoS policies must be consistent, or the operation will fail and no DDS::Topic will be created.
Prior to creating a DDS::Topic, the type must have been registered with RTI Connext. 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::DomainParticipant::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.
Parameters
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::DomainParticipant::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
Specifying QoS on entities for information on setting QoS before entity creation
DDS::TopicQos for rules on consistency among QoS
DDS::DomainParticipant::TOPIC_QOS_DEFAULT
DDS::DomainParticipant::create_topic_with_profile
DDS::DomainParticipant::get_default_topic_qos
DDS::Topic::set_listener
Examples:
HelloWorld_publisher.cpp, and HelloWorld_subscriber.cpp.

◆ create_topic_with_profile()

Topic ^ DDS::DomainParticipant::create_topic_with_profile ( System::String^  topic_name,
System::String^  type_name,
System::String^  library_name,
System::String^  profile_name,
TopicListener listener,
StatusMask  mask 
)

<<extension>> 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 ITopicDescription objects with the same topic_name attached to the same DDS::DomainParticipant. If the application attempts this, this method will fail and return a NULL topic.
The DDS::TopicQos in the input profile must be consistent, or the operation will fail and no DDS::Topic will be created.
Prior to creating a DDS::Topic, the type must have been registered with RTI Connext. 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.
Parameters
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
Specifying QoS on entities for information on setting QoS before entity creation
DDS::TopicQos for rules on consistency among QoS
DDS::DomainParticipant::create_topic
DDS::DomainParticipant::get_default_topic_qos
DDS::Topic::set_listener

◆ delete_topic()

void DDS::DomainParticipant::delete_topic ( Topic^%  topic)

Deletes a DDS::Topic.

Precondition
If the DDS::Topic does not belong to the application's DDS::DomainParticipant, this operation fails with DDS::Retcode_PreconditionNotMet.
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_PreconditionNotMet.
Postcondition
Listener installed on the DDS::Topic will not be called after this method completes successfully.
MT Safety:
UNSAFE. It is not safe to delete an entity while another thread may be simultaneously calling an API that uses the entity.
Parameters
topic<<in>> DDS::Topic to be deleted.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_PreconditionNotMet

◆ create_contentfilteredtopic()

ContentFilteredTopic ^ DDS::DomainParticipant::create_contentfilteredtopic ( System::String^  name,
Topic related_topic,
System::String^  filter_expression,
StringSeq expression_parameters 
)

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.

Queries and Filters Syntax 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 method will fail and returns NULL.
If related_topic does not belong to this DDS::DomainParticipant, this operation returns NULL.
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. Do not use rtiddsgen's -notypecode option if you want to use the builtin SQL filter.
Parameters
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

◆ create_contentfilteredtopic_with_filter()

ContentFilteredTopic ^ DDS::DomainParticipant::create_contentfilteredtopic_with_filter ( System::String^  name,
Topic related_topic,
System::String^  filter_expression,
StringSeq expression_parameters,
System::String^  filter_name 
)

<<extension>> Creates a DDS::ContentFilteredTopic using the specified filter to do content-based subscriptions.

Parameters
name<<in>> Name for the new content filtered topic. Cannot 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 the sequence cannot be greater than 100.
filter_name<<in>> Name of content filter to use. Must previously have been registered with DDS::DomainParticipant::register_contentfilter on the same DDS::DomainParticipant. Cannot be NULL. Builtin filter names are DDS::DomainParticipant::SQLFILTER_NAME and DDS::DomainParticipant::STRINGMATCHFILTER_NAME
Returns
newly created DDS::ContentFilteredTopic, or NULL on failure

◆ delete_contentfilteredtopic()

void DDS::DomainParticipant::delete_contentfilteredtopic ( ContentFilteredTopic^%  a_contentfilteredtopic)

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_PreconditionNotMet.
The DDS::ContentFilteredTopic must be created by this DDS::DomainParticipant, or else this operation will fail with DDS::Retcode_PreconditionNotMet.
MT Safety:
UNSAFE. It is not safe to delete an entity while another thread may be simultaneously calling an API that uses the entity.
Parameters
a_contentfilteredtopic<<in>>
Exceptions
Oneof the Standard Return Codes or DDS::Retcode_PreconditionNotMet

◆ create_multitopic()

MultiTopic ^ DDS::DomainParticipant::create_multitopic ( System::String^  name,
System::String^  type_name,
System::String^  subscription_expression,
StringSeq expression_parameters 
)
inline

[Not supported (optional)] 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.

Queries and Filters Syntax describes the syntax of subscription_expression and expression_parameters.

Precondition
The application is not allowed to create two ITopicDescription objects with the same name attached to the same DDS::DomainParticipant. If the application attempts this, this method will fail and return NULL.
Prior to creating a DDS::MultiTopic, the type must have been registered with RTI Connext. This is done using the FooTypeSupport::register_type operation on a derived class of the DDS::TypeSupport interface. Otherwise, this method will return NULL.
Parameters
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()

void DDS::DomainParticipant::delete_multitopic ( MultiTopic a_multitopic)
inline

[Not supported (optional)] 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_PreconditionNotMet.
The DDS::MultiTopic must be created by this DDS::DomainParticipant, or else this operation will fail with DDS::Retcode_PreconditionNotMet.
MT Safety:
UNSAFE. It is not safe to delete an entity while another thread may be simultaneously calling an API that uses the entity.
Parameters
a_multitopic<<in>>
Exceptions
DDS::Retcode_Unsupported

◆ find_topic()

Topic ^ DDS::DomainParticipant::find_topic ( System::String^  topic_name,
Duration_t timeout 
)

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.

Parameters
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()

ITopicDescription ^ DDS::DomainParticipant::lookup_topicdescription ( System::String^  topic_name)

Looks up an existing, locally created ITopicDescription, based on its name.

ITopicDescription is the base class for DDS::Topic, DDS::MultiTopic and DDS::ContentFilteredTopic. So you can narrow the ITopicDescription 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.
Parameters
topic_name<<in>> Name of ITopicDescription 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_flowcontroller()

FlowController ^ DDS::DomainParticipant::create_flowcontroller ( System::String^  name,
FlowControllerProperty_t prop 
)

<<extension>> Creates a DDS::FlowController with the desired property.

The created DDS::FlowController is associated with a DDS::DataWriter via DDS::PublishModeQosPolicy::flow_controller_name. A single FlowController may service multiple DataWriters instances, even if they belong to a different DDS::Publisher. The property determines how the FlowController shapes the network traffic.

Precondition
The specified property must be consistent, or the operation will fail and no DDS::FlowController will be created.
MT Safety:
UNSAFE. If DDS::DomainParticipant::FLOW_CONTROLLER_PROPERTY_DEFAULT is used for property, it is not safe to create the flow controller while another thread may be simultaneously calling DDS::DomainParticipant::set_default_flowcontroller_property or trying to lookup that flow controller with DDS::DomainParticipant::lookup_flowcontroller.
Parameters
name<<in>> name of the DDS::FlowController to create. A DDS::DataWriter is associated with a DDS::FlowController by name. Limited to 255 characters.
prop<<in>> property to be used for creating the new DDS::FlowController. The special value DDS::DomainParticipant::FLOW_CONTROLLER_PROPERTY_DEFAULT can be used to indicate that the DDS::FlowController should be created with the default DDS::FlowControllerProperty_t set in the DDS::DomainParticipant. Cannot be NULL.
Returns
Newly created flow controller object or NULL on failure.
See also
DDS::FlowControllerProperty_t for rules on consistency among property
DDS::DomainParticipant::FLOW_CONTROLLER_PROPERTY_DEFAULT
DDS::DomainParticipant::get_default_flowcontroller_property

◆ delete_flowcontroller()

void DDS::DomainParticipant::delete_flowcontroller ( FlowController^%  fc)

<<extension>> Deletes an existing DDS::FlowController.

Precondition
The DDS::FlowController must not have any attached DDS::DataWriter objects. If there are any attached DDS::DataWriter objects, it will fail with DDS::Retcode_PreconditionNotMet.
The DDS::FlowController must have been created by this DDS::DomainParticipant, or else it will fail with DDS::Retcode_PreconditionNotMet.
Postcondition
The DDS::FlowController is deleted if this method completes successfully.
MT Safety:
UNSAFE. It is not safe to delete an entity while another thread may be simultaneously calling an API that uses the entity.
Parameters
fc<<in>> The DDS::FlowController to be deleted.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_PreconditionNotMet.

◆ lookup_flowcontroller()

FlowController ^ DDS::DomainParticipant::lookup_flowcontroller ( System::String^  name)

<<extension>> Looks up an existing locally-created DDS::FlowController, based on its name.

Looks up a previously created DDS::FlowController, including the built-in ones. Once a DDS::FlowController has been deleted, subsequent lookups will fail.

MT Safety:
UNSAFE. It is not safe to lookup a flow controller description while another thread is creating that flow controller.
Parameters
name<<in>> Name of DDS::FlowController to search for. Limited to 255 characters. Cannot be NULL.
Returns
The flow controller if it has already been created locally, or NULL otherwise.

◆ get_builtin_subscriber()

Subscriber ^ DDS::DomainParticipant::get_builtin_subscriber ( )

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.

Returns
The built-in DDS::Subscriber singleton.
See also
DDS::SubscriptionBuiltinTopicData
DDS::PublicationBuiltinTopicData
DDS::ParticipantBuiltinTopicData
DDS::TopicBuiltinTopicData

◆ ignore_participant()

void DDS::DomainParticipant::ignore_participant ( InstanceHandle_t handle)

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 USER_DATA 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 DDS::TypedDataReader::read and DDS::TypedDataReader::take operations used for any DDS::DataReader.

Parameters
handle<<in>> DDS::InstanceHandle_t of the DDS::DomainParticipant to be ignored. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes, DDS::Retcode_OutOfResources, DDS::Retcode_NotEnabled
See also
DDS::ParticipantBuiltinTopicData
DDS::ParticipantBuiltinTopicDataTypeSupport::PARTICIPANT_TOPIC_NAME
DDS::DomainParticipant::get_builtin_subscriber

◆ ignore_topic()

void DDS::DomainParticipant::ignore_topic ( InstanceHandle_t handle)

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.

Parameters
handle<<in>> Handle of the DDS::Topic to be ignored. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes, DDS::Retcode_OutOfResources or DDS::Retcode_NotEnabled
See also
DDS::TopicBuiltinTopicData
DDS::TopicBuiltinTopicDataTypeSupport::TOPIC_TOPIC_NAME
DDS::DomainParticipant::get_builtin_subscriber

◆ ignore_publication()

void DDS::DomainParticipant::ignore_publication ( InstanceHandle_t handle)

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.

There is no way to reverse this operation.

Parameters
handle<<in>> Handle of the DDS::DataWriter to be ignored. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes, DDS::Retcode_OutOfResources or DDS::Retcode_NotEnabled
See also
DDS::PublicationBuiltinTopicData
DDS::PublicationBuiltinTopicDataTypeSupport::PUBLICATION_TOPIC_NAME
DDS::DomainParticipant::get_builtin_subscriber

◆ ignore_subscription()

void DDS::DomainParticipant::ignore_subscription ( InstanceHandle_t handle)

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.

There is no way to reverse this operation.

Parameters
handle<<in>> Handle of the DDS::DataReader to be ignored. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes, DDS::Retcode_OutOfResources or DDS::Retcode_NotEnabled
See also
DDS::SubscriptionBuiltinTopicData
DDS::SubscriptionBuiltinTopicDataTypeSupport::SUBSCRIPTION_TOPIC_NAME
DDS::DomainParticipant::get_builtin_subscriber

◆ get_domain_id()

System::Int32 DDS::DomainParticipant::get_domain_id ( )

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.

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

◆ get_current_time()

void DDS::DomainParticipant::get_current_time ( Time_t current_time)

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.

Parameters
current_time<<inout>> Current time to be filled up. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes

◆ assert_liveliness()

void DDS::DomainParticipant::assert_liveliness ( )

Manually asserts the liveliness of this DDS::DomainParticipant.

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

You need to use this operation if the DDS::DomainParticipant conatins DDS::DataWriter entities with the DDS::LivelinessQosPolicy::kind set to DDS::LivelinessQosPolicyKind::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 DDS::TypedDataWriter::write or DDS::TypedDataWriter::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.

Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_NotEnabled
See also
DDS::LivelinessQosPolicy

◆ resume_endpoint_discovery()

void DDS::DomainParticipant::resume_endpoint_discovery ( InstanceHandle_t remote_participant_handle)

<<extension>> Initiates endpoint discovery with the specified remote DDS::DomainParticipant.

If the operation returns DDS::Exception::RETCODE_OK, the DDS::DomainParticipant will initiate endpoint discovery with the remote DDS::DomainParticipant provided as a parameter.

When DDS::DiscoveryQosPolicy::enable_endpoint_discovery is set to false, this operation allows the RTI Connext application to select for which remote DomainParticipants endpoint discovery is performed. By disabling endpoint discovery, the DomainParticipant will not store any state about remote endpoints and will not send local endpoint information to remote DomainParticipants.

If DDS::DiscoveryQosPolicy::enable_endpoint_discovery is set to true, endpoint discovery will automatically occur for every discovered DDS::DomainParticipant. In this case, invoking this operation will have no effect and will return DDS::Exception::RETCODE_OK.

When DDS::DiscoveryQosPolicy::enable_endpoint_discovery is set to false, you have two options after a remote DDS::DomainParticipant is discovered:

Setting DDS::DiscoveryQosPolicy::enable_endpoint_discovery to false enables application-level authentication use cases, in which a DDS::DomainParticipant will initiate endpoint discovery with a remote DDS::DomainParticipant after successful authentication at the application level.

The remote_participant_handle paremeter is the one that appears in the DDS::SampleInfo retrieved when reading the data samples available for the built-in DDS::ParticipantBuiltinTopicDataDataReader.

If the specified remote DDS::DomainParticipant is not in the database of discovered DomainParticipants or has been previously ignored, this operation will fail with DDS::Retcode_Error.

This operation can be called multiple times on the same remote participant. If endpoint discovery has already been resumed, successive calls will have no effect and will return DDS::Exception::RETCODE_OK.

Parameters
remote_participant_handle<<in>> Handle of a discovered DDS::DomainParticipant for which endpoint discovery is to be resumed. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes,or DDS::Retcode_NotEnabled
See also
DDS::DiscoveryQosPolicy

◆ delete_contained_entities()

void DDS::DomainParticipant::delete_contained_entities ( )

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

MT Safety:
UNSAFE. It is not safe to delete an entity while another thread may be simultaneously calling an API that uses the entity.
Exceptions
Oneof the Standard Return Codes, or DDS::Retcode_PreconditionNotMet.
Examples:
HelloWorld_publisher.cpp, and HelloWorld_subscriber.cpp.

◆ get_discovered_participants()

void DDS::DomainParticipant::get_discovered_participants ( InstanceHandleSeq participant_handles)

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.

Parameters
participant_handles<<inout>> DDS::InstanceHandleSeq to be filled with handles of the discovered DDS::DomainParticipant entities.
Exceptions
Oneof the Standard Return Codes or DDS::Retcode_NotEnabled

◆ get_discovered_participant_data()

void DDS::DomainParticipant::get_discovered_participant_data ( ParticipantBuiltinTopicData participant_data,
InstanceHandle_t participant_handle 
)

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

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 property_qos. 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.
Parameters
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.
Exceptions
Oneof the Standard Return Codes, DDS::Retcode_PreconditionNotMet or DDS::Retcode_NotEnabled
See also
DDS::ParticipantBuiltinTopicData
DDS::DomainParticipant::get_discovered_participants

◆ get_discovered_topics()

void DDS::DomainParticipant::get_discovered_topics ( InstanceHandleSeq topic_handles)

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.

Parameters
topic_handles<<inout>> DDS::InstanceHandleSeq to be filled with handles of the discovered DDS::Topic objects
Exceptions
Oneof the Standard Return Codes or DDS::Retcode_NotEnabled

◆ get_discovered_topic_data()

void DDS::DomainParticipant::get_discovered_topic_data ( TopicBuiltinTopicData topic_data,
InstanceHandle_t topic_handle 
)

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

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.

Parameters
topic_data<<inout>> DDS::TopicBuiltinTopicData to be filled with the specified DDS::Topic's data.
topic_handle<<in>> DDS::InstanceHandle_t of DDS::Topic.
Exceptions
Oneof the Standard Return Codes, DDS::Retcode_PreconditionNotMet or DDS::Retcode_NotEnabled
See also
DDS::TopicBuiltinTopicData
DDS::DomainParticipant::get_discovered_topics

◆ contains_entity()

System::Boolean DDS::DomainParticipant::contains_entity ( InstanceHandle_t a_handle)

Completes successfully with 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 (ITopicDescription, 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.

Parameters
a_handle<<in>> DDS::InstanceHandle_t of the DDS::Entity to be checked.
Returns
true if DDS::Entity is contained by the DDS::DomainParticipant, or false otherwise.

◆ get_participant_protocol_status()

virtual void DDS::DomainParticipant::get_participant_protocol_status ( DomainParticipantProtocolStatus status)
virtual

<<extension>> Get the domain participant protocol status for this participant.

This also resets the status so that it is no longer considered changed.

Parameters
status<<inout>> DDS::DomainParticipantProtocolStatus to be filled in.Cannot be NULL.
Exceptions
Oneof the Standard Return Codes or DDS::Retcode_NotEnabled.

◆ set_qos()

void DDS::DomainParticipant::set_qos ( DomainParticipantQos qos)

Change the QoS of this DomainParticipant.

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

Parameters
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::DomainParticipantFactory::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.
Exceptions
Oneof the Standard Return Codes, DDS::Retcode_ImmutablePolicy if an immutable policy is changed, or DDS::Retcode_InconsistentPolicy if policies are inconsistent
See also
DDS::DomainParticipantQos for rules on consistency among QoS policies
set_qos (abstract)

◆ set_qos_with_profile()

void DDS::DomainParticipant::set_qos_with_profile ( System::String^  library_name,
System::String^  profile_name 
)

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

Parameters
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).
Exceptions
Oneof the Standard Return Codes, DDS::Retcode_ImmutablePolicy if immutable policy is changed, or DDS::Retcode_InconsistentPolicy if policies are inconsistent
See also
DDS::DomainParticipantQos for rules on consistency among QoS

◆ get_qos()

void DDS::DomainParticipant::get_qos ( DomainParticipantQos qos)

Get the participant QoS.

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

Parameters
qos<<inout>> QoS to be filled up. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes
See also
get_qos (abstract)

◆ add_peer()

void DDS::DomainParticipant::add_peer ( System::String^  peer_desc_string)

<<extension>> 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 method may be called at any time after this DDS::DomainParticipant has been created (before or after it has been enabled).

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

If this method 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 method 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 method will not wait for contact attempt(s) to be made and it will not report an error.

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::ParticipantBuiltinTopicDataTypeSupport::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 method has no effect on the DDS::DiscoveryQosPolicy::initial_peers that may be subsequently retrieved with DDS::DomainParticipant::get_qos() (because DDS::DiscoveryQosPolicy is immutable).

Parameters
peer_desc_string<<in>> New peer descriptor to be added. The format is specified in Peer Descriptor Format. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes
See also
Peer Descriptor Format
DDS::DiscoveryQosPolicy::initial_peers
DDS::ParticipantBuiltinTopicDataTypeSupport::PARTICIPANT_TOPIC_NAME
DDS::DomainParticipant::get_builtin_subscriber

◆ remove_peer()

void DDS::DomainParticipant::remove_peer ( System::String^  peer_desc_string)

<<extension>> Remove one or more peer participants from the list of peers with which this DDS::DomainParticipant will try to communicate.

This method may be called any time after this DDS::DomainParticipant has been enabled

Calling this method has the following effects:

  • If a DDS::DomainParticipant was already discovered, it will be locally removed along with all its entities.
  • Any further requests coming from a DDS::DomainParticipant located on any of the removed peers will be ignored.
  • All the locators contained in the peer description will be removed from the peer list. The local DDS::DomainParticipant will stop sending announcement to those locators.

If remote participants located on a peer that was previously removed are discovered, they will be ignored untill the related peer is added back by using DDS::DomainParticipant::add_peer.

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

Parameters
peer_desc_string<<in>> Peer descriptor to be removed. The format is specified in Peer Descriptor Format. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes
See also
Peer Descriptor Format
DDS::DiscoveryQosPolicy::initial_peers
DDS::DomainParticipant::add_peer

◆ set_listener()

void DDS::DomainParticipant::set_listener ( DomainParticipantListener l,
StatusMask  mask 
)

Sets the participant listener.

Parameters
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 method 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.
Exceptions
Oneof the Standard Return Codes
See also
set_listener (abstract)

◆ get_listener()

DomainParticipantListener ^ DDS::DomainParticipant::get_listener ( )

Get the participant listener.

Returns
Existing listener attached to the DDS::DomainParticipant.
See also
get_listener (abstract)

◆ enable()

virtual void DDS::DomainParticipant::enable ( )
overridevirtual

Enables the DDS::Entity.

This operation enables the Entity. Entity objects can be created either enabled or disabled. This is controlled by the value of the ENTITY_FACTORY QoS policy on the corresponding factory for the DDS::Entity.

By default, ENTITY_FACTORY is set so that it is not necessary to explicitly call DDS::Entity::enable on newly created entities.

The DDS::Entity::enable operation is idempotent. Calling enable on an already enabled Entity returns OK and has no effect.

If a DDS::Entity has not yet been enabled, the following kinds of operations may be invoked on it:

Other operations may explicitly state that they may be called on disabled entities; those that do not will return the error DDS::Retcode_NotEnabled.

It is legal to delete an DDS::Entity that has not been enabled by calling the proper operation on its factory.

Entities created from a factory Entity that is disabled are created disabled, regardless of the setting of the DDS::EntityFactoryQosPolicy.

Calling enable on an Entity whose factory Entity is not enabled will fail and return DDS::Retcode_PreconditionNotMet.

If DDS::EntityFactoryQosPolicy::autoenable_created_entities is TRUE, the enable operation on a factory will automatically enable all entities created from that factory (for example, enabling a DDS::Publisher will enable all its contained DDS::DataWriter objects)

Listeners associated with an entity are not called until the entity is enabled.

Conditions associated with a disabled entity are "inactive," that is, they have a trigger_value == FALSE.

Exceptions
Oneof the Standard Return Codes, Standard Return Codes or DDS::Retcode_PreconditionNotMet.

Implements DDS::Entity.

◆ get_statuscondition()

virtual StatusCondition ^ DDS::DomainParticipant::get_statuscondition ( )
overridevirtual

Allows access to the DDS::StatusCondition associated with the DDS::Entity.

The returned condition can then be added to a DDS::WaitSet so that the application can wait for specific status changes that affect the DDS::Entity.

Returns
the status condition associated with this entity.

Implements DDS::Entity.

◆ get_status_changes()

virtual StatusMask DDS::DomainParticipant::get_status_changes ( )
overridevirtual

Retrieves the list of communication statuses in the DDS::Entity that are triggered.

That is, the list of statuses whose value has changed since the last time the application read the status using the get_*_status() method.

When the entity is first created or if the entity is not enabled, all communication statuses are in the "untriggered" state so the list returned by the get_status_changes operation will be empty.

The list of statuses returned by the get_status_changes operation refers to the status that are triggered on the Entity itself and does not include statuses that apply to contained entities.

Returns
list of communication statuses in the DDS::Entity that are triggered.
See also
Status Kinds

Implements DDS::Entity.

◆ get_instance_handle()

virtual InstanceHandle_t DDS::DomainParticipant::get_instance_handle ( )
overridevirtual

Allows access to the DDS::InstanceHandle_t associated with the DDS::Entity.

This operation returns the DDS::InstanceHandle_t that represents the DDS::Entity.

Returns
the instance handle associated with this entity.

Implements DDS::Entity.

◆ lookup_publisher_by_name()

Publisher ^ DDS::DomainParticipant::lookup_publisher_by_name ( String^  publisher_name)

<<extension>> Looks up a DDS::Publisher by its entity name within this DDS::DomainParticipant.

Every DDS::Publisher in the system has an entity name which is configured and stored in the EntityName policy, ENTITY_NAME.

This operation retrieves a DDS::Publisher within the DDS::DomainParticipant given the entity's name. If there are several DDS::Publisher with the same name within the DDS::DomainParticipant, this function returns the first matching occurrence.

Parameters
publisher_name<<in>> Entity name of the DDS::Publisher.
Returns
The first DDS::Publisher found with the specified name or NULL if it is not found.
See also
DDS::DomainParticipant::lookup_datawriter_by_name

◆ lookup_subscriber_by_name()

Subscriber ^ DDS::DomainParticipant::lookup_subscriber_by_name ( String^  subscriber_name)

<<extension>> Retrieves a DDS::Subscriber by its entity name within this DDS::DomainParticipant.

Every DDS::Subscriber in the system has an entity name which is configured and stored in the EntityName policy, ENTITY_NAME.

This operation retrieves a DDS::Subscriber within the DDS::DomainParticipant given the entity's name. If there are several DDS::Subscriber with the same name within the DDS::DomainParticipant, this function returns the first matching occurrence.

Parameters
subscriber_name<<in>> Entity name of the DDS::Subscriber.
Returns
The first DDS::Subscriber found with the specified name or NULL if it is not found.
See also
DDS::DomainParticipant::lookup_datareader_by_name

◆ lookup_datawriter_by_name()

DataWriter ^ DDS::DomainParticipant::lookup_datawriter_by_name ( String^  datawriter_full_name)

<<extension>> Looks up a DDS::DataWriter by its entity name within this DDS::DomainParticipant.

Every DDS::DataWriter in the system has an entity name which is configured and stored in the EntityName policy, ENTITY_NAME.

Every DDS::Publisher in the system has an entity name which is also configured and stored in the EntityName policy.

This operation retrieves a DDS::DataWriter within a DDS::Publisher given the specified name which encodes both to the DDS::DataWriter and the DDS::Publisher name.

If there are several DDS::DataWriter with the same name within the corresponding DDS::Publisher this function returns the first matching occurrence.

The specified name might be given as a fully-qualified entity name or as a plain name.

The fully qualified entity name is a concatenation of the DDS::Publisher to which the DDS::DataWriter belongs and the entity name of of the DDS::DataWriter itself, separated by a double colon "::". For example: MyPublisherName::MyDataWriterName

The plain name contains the DDS::DataWriter name only. In this situation it is implied that the DDS::DataWriter belongs to the implicit DDS::Publisher so the use of a plain name is equivalent to specifying a fully qualified name with the DDS::Publisher name part being "implicit". For example: the plain name "MyDataWriterName" is equivalent to specifiying the fully qualified name "implicit::MyDataWriterName"

The DDS::DataWriter is only looked up within the DDS::Publisher specified in the fully qualified name, or within the implicit DDS::Publisher if the name was not fully qualified.

Parameters
datawriter_full_name<<in>> Entity name or fully-qualified entity name of the DDS::DataWriter.
Returns
The first DDS::DataWriter found with the specified name or NULL if it is not found.
See also
DDS::Publisher::lookup_datawriter_by_name
DDS::DomainParticipant::lookup_publisher_by_name

◆ lookup_datareader_by_name()

DataReader ^ DDS::DomainParticipant::lookup_datareader_by_name ( String^  datareader_full_name)

<<extension>> Retrieves up a DDS::DataReader by its entity name in this DDS::DomainParticipant.

Every DDS::DataReader in the system has an entity name which is configured and stored in the EntityName policy, ENTITY_NAME.

Every DDS::Subscriber in the system has an entity name which is also configured and stored in the EntityName policy, ENTITY_NAME.

This operation retrieves a DDS::DataReader within a DDS::Subscriber given the specified name which encodes both to the DDS::DataReader and the DDS::Subscriber name.

If there are several DDS::DataReader with the same name within the corresponding DDS::Subscriber this function returns the first matching occurrence.

The specified name might be given as a fully-qualified entity name or as a plain name.

The fully qualified entity name is a concatenation of the DDS::Subscriber to which the DDS::DataReader belongs and the entity name of of the DDS::DataReader itself, separated by a double colon "::". For example: MySubscriberName::MyDataReaderName

The plain name contains the DDS::DataReader name only. In this situation it is implied that the DDS::DataReader belongs to the implicit DDS::Subscriber so the use of a plain name is equivalent to specifying a fully qualified name with the DDS::Subscriber name part being "implicit". For example: the plain name "MyDataReaderName" is equivalent to specifiying the fully qualified name "implicit::MyDataReaderName"

The DDS::DataReader is only looked up within the DDS::Subscriber specified in the fully qualified name, or within the implicit DDS::Subscriber if the name was not fully qualified.

Parameters
datareader_full_name<<in>> Full entity name of the DDS::DataReader.
Returns
The first DDS::DataReader found with the specified name or NULL if it is not found.
See also
DDS::Subscriber::lookup_datareader_by_name
DDS::DomainParticipant::lookup_subscriber_by_name

RTI Connext .Net APIs Version 5.3.1 Copyright © Mon Feb 19 2018 Real-Time Innovations, Inc