OpenSplice C# API  v6.x
OpenSplice C# Data Distribution Service Data-Centric Publish-Subscribe API
DDS.IDomainParticipant Interface Reference

All the DCPS IEntity objects are attached to a IDomainParticipant. A IDomainParticipant represents the local membership of the application in a Domain. More...

Inheritance diagram for DDS.IDomainParticipant:
Inheritance graph
Collaboration diagram for DDS.IDomainParticipant:
Collaboration graph

Public Member Functions

ReturnCode AssertLiveliness ()
 This operation asserts the liveliness for the IDomainParticipant. More...
 
bool ContainsEntity (InstanceHandle handle)
 This operation checks whether or not the given IEntity represented by handle is created by the IDomainParticipant or any of its contained entities. More...
 
IContentFilteredTopic CreateContentFilteredTopic (string name, ITopic relatedTopic, string filterExpression, params string[] expressionParameters)
 This operation creates a IContentFilteredTopic for a IDomainParticipant in order to allow DataReaders to subscribe to a subset of the topic content. More...
 
IMultiTopic CreateMultiTopic (string name, string typeName, string subscriptionExpression, params string[] expressionParameters)
 This operation creates a IMultiTopic for a IDomainParticipant in order to allow DataReaders to subscribe to a filtered/re-arranged combination and/or subset of the content of several topics. More...
 
IPublisher CreatePublisher ()
 This method creates a IPublisher with default values. More...
 
IPublisher CreatePublisher (IPublisherListener listener, StatusKind mask)
 This method creates a IPublisher and if applicable, attaches the optionally specified IPublisherListener to it. More...
 
IPublisher CreatePublisher (PublisherQos qos)
 This method creates a IPublisher with the desired QosPolicy settings, but without an IPublisherListener. More...
 
IPublisher CreatePublisher (PublisherQos qos, IPublisherListener listener, StatusKind mask)
 This operation creates a IPublisher with the desired QosPolicy settings and if applicable, attaches the optionally specified IPublisherListener to it. More...
 
ISubscriber CreateSubscriber ()
 This method creates a ISubscriber with default values. More...
 
ISubscriber CreateSubscriber (ISubscriberListener listener, StatusKind mask)
 This method creates a ISubscriber and if applicable, attaches the optionally specified ISubscriberListener to it. More...
 
ISubscriber CreateSubscriber (SubscriberQos qos)
 This method creates a ISubscriber with the desired QosPolicy settings, but without an ISubscriberListener. More...
 
ISubscriber CreateSubscriber (SubscriberQos qos, ISubscriberListener listener, StatusKind mask)
 This operation creates a ISubscriber with the desired QosPolicy settings and if applicable, attaches the optionally specified ISubscriberListener to it. More...
 
ITopic CreateTopic (string topicName, string typeName)
 This operation creates a reference to a new or existing ITopic under the given name, for a specific type and uses default values for QoS and Listener. More...
 
ITopic CreateTopic (string topicName, string typeName, ITopicListener listener, StatusKind mask)
 This operation returns a new or existing ITopic for the given name for a specific type, with the default QosPolicy settings and if applicable, attaches the optionally specified TopicListener to it. More...
 
ITopic CreateTopic (string topicName, string typeName, TopicQos qos)
 This operation returns a new or existing ITopic for the given name for a specific type, with the desired QosPolicy settings and no Listener. More...
 
ITopic CreateTopic (string topicName, string typeName, TopicQos qos, ITopicListener listener, StatusKind mask)
 This operation returns a new or existing ITopic for the given name for a specific type, with the desired QosPolicy settings and if applicable, attaches the optionally specified TopicListener to it. More...
 
ReturnCode DeleteContainedEntities ()
 This operation deletes all the IEntity objects that were created on the IDomainParticipant. More...
 
ReturnCode DeleteContentFilteredTopic (IContentFilteredTopic aContentFilteredTopic)
 This operation deletes a IContentFilteredTopic. More...
 
ReturnCode DeleteMultiTopic (IMultiTopic multiTopic)
 This operation deletes a IMultiTopic. More...
 
ReturnCode DeletePublisher (IPublisher p)
 This operation deletes a IPublisher. More...
 
ReturnCode DeleteSubscriber (ISubscriber s)
 This operation deletes a ISubscriber. More...
 
ReturnCode DeleteTopic (ITopic topic)
 This operation deletes a ITopic More...
 
ITopic FindTopic (string topicName, Duration timeout)
 This operation gives access to an existing (or ready to exist) enabled ITopic, based on its topicName. More...
 
ReturnCode GetCurrentTime (out Time currentTime)
 This operation returns the value of the current time that the Data Distribution Service uses to time-stamp written data as well as received data in current_time. More...
 
ReturnCode GetDefaultPublisherQos (ref PublisherQos qos)
 This operation gets the struct with the default IPublisher QosPolicy settings of the IDomainParticipant. More...
 
ReturnCode GetDefaultSubscriberQos (ref SubscriberQos qos)
 This operation gets the struct with the default ISubscriber QosPolicy settings of the IDomainParticipant. More...
 
ReturnCode GetDefaultTopicQos (ref TopicQos qos)
 This operation gets the struct with the default ITopic QosPolicy settings of the IDomainParticipant. More...
 
ReturnCode GetDiscoveredParticipantData (ref ParticipantBuiltinTopicData data, InstanceHandle handle)
 This operation retrieves information on a IDomainParticipant that has been discovered on the network. More...
 
ReturnCode GetDiscoveredParticipants (ref InstanceHandle[] participantHandles)
 This operation retrieves the list of DomainParticipants that have been discovered in the domain. More...
 
ReturnCode GetDiscoveredTopicData (ref TopicBuiltinTopicData data, InstanceHandle handle)
 This operation retrieves information on a ITopic that has been discovered on the network. More...
 
ReturnCode GetDiscoveredTopics (ref InstanceHandle[] topicHandles)
 This operation retrieves the list of Topics that have been discovered in the domain More...
 
ReturnCode GetProperty (ref Property property)
 This operation looks up the property for a given key in the DomainParticipant. More...
 
ReturnCode GetQos (ref DomainParticipantQos qos)
 This operation allows access to the existing set of QoS policies for a IDomainParticipant. More...
 
ReturnCode IgnoreParticipant (InstanceHandle handle)
 
ReturnCode IgnorePublication (InstanceHandle handle)
 
ReturnCode IgnoreSubscription (InstanceHandle handle)
 
ReturnCode IgnoreTopic (InstanceHandle handle)
 
ITopicDescription LookupTopicDescription (string name)
 This operation gives access to a locally-created ITopicDescription, with a matching name. More...
 
ReturnCode SetDefaultPublisherQos (PublisherQos qos)
 This operation sets the default PublisherQos of the IDomainParticipant. More...
 
ReturnCode SetDefaultSubscriberQos (SubscriberQos qos)
 This operation sets the default SubscriberQos of the IDomainParticipant. More...
 
ReturnCode SetDefaultTopicQos (TopicQos qos)
 This operation sets the default TopicQos of the IDomainParticipant. More...
 
ReturnCode SetListener (IDomainParticipantListener listener, StatusKind mask)
 This operation attaches a IDomainParticipantListener to the IDomainParticipant. More...
 
ReturnCode SetProperty (Property property)
 This operation sets the property specified by a key value pair. More...
 
ReturnCode SetQos (DomainParticipantQos qos)
 This operation replaces the existing set of QosPolicy settings for a IDomainParticipant. More...
 
- Public Member Functions inherited from DDS.IEntity
ReturnCode Enable ()
 This operation enables the IEntity on which it is being called when the IEntity was created with the EntityFactoryQosPolicy set to false. More...
 

Properties

ISubscriber BuiltInSubscriber [get]
 This property returns the built-in ISubscriber associated with the IDomainParticipant. More...
 
DomainId DomainId [get]
 This property returns the DomainId of the Domain to which this IDomainParticipant is attached. More...
 
IDomainParticipantListener Listener [get]
 This property returns the IDomainParticipantListener currently attached to the IDomainParticipant. More...
 
- Properties inherited from DDS.IEntity
InstanceHandle InstanceHandle [get]
 This operation returns the InstanceHandle of the builtin topic sample that represents the specified IEntity. More...
 
StatusKind StatusChanges [get]
 This operation returns a mask with the communication statuses in the IEntity that are triggered. More...
 
IStatusCondition StatusCondition [get]
 This property allows access to the IStatusCondition associated with the IEntity. More...
 

Detailed Description

All the DCPS IEntity objects are attached to a IDomainParticipant. A IDomainParticipant represents the local membership of the application in a Domain.

A Domain is a distributed concept that links all the applications that must be able to communicate with each other. It represents a communication plane: only the Publishers and the Subscribers attached to the same Domain can interact. This class implements several functions:

  • it acts as a container for all other IEntity objects
  • it acts as a factory for the IPublisher, ISubscriber, ITopic,IContentFilteredTopic and IMultiTopic objects
  • it provides access to the built-in ITopic objects
  • it provides information about ITopic objects
  • It isolates applications within the same Domain (sharing the same domainId) from other applications in a different Domain on the same set of computers. In this way, several independent distributed applications can coexist in the same physical network without interfering, or even being aware of each other.
  • It provides administration services in the Domain, offering operations, which allow the application to ignore locally any information about a given Participant, Publication, Subscription or Topic.

Definition at line 826 of file DdsDcpsInterfaces.cs.

Member Function Documentation

◆ AssertLiveliness()

ReturnCode DDS.IDomainParticipant.AssertLiveliness ( )

This operation asserts the liveliness for the IDomainParticipant.

This operation will manually assert the liveliness for the IDomainParticipant. This way, the Data Distribution Service is informed that the IDomainParticipant is still alive. This operation only needs to be used when the IDomainParticipant contains DataWriters with the LivelinessQosPolicy set to MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, and it will only affect the liveliness of those DataWriters.

Writing data via the write operation of a IDataWriter will assert the liveliness on the IDataWriter itself and its IDomainParticipant. Therefore, AssertLiveliness is only needed when not writing regularly.

The liveliness should be asserted by the application, depending on the LivelinessQosPolicy.

Returns
Return values are:

◆ ContainsEntity()

bool DDS.IDomainParticipant.ContainsEntity ( InstanceHandle  handle)

This operation checks whether or not the given IEntity represented by handle is created by the IDomainParticipant or any of its contained entities.

This operation checks whether or not the given IEntity represented by handle is created by the IDomainParticipant itself (ITopicDescription, IPublisher or ISubscriber) or created by any of its contained entities (IDataReader, IReadCondition, IQueryCondition, IDataWriter, etc.).

Return value is true if a_handle represents an IEntity that is created by the IDomainParticipant or any of its contained Entities. Otherwise the return value is false

Parameters
handleAn IEntity in the Data Distribution Service.
Returns
true if handle represents an IEntity that is created by the IDomainParticipant or any of its contained Entities. Otherwise the return value is false.

◆ CreateContentFilteredTopic()

IContentFilteredTopic DDS.IDomainParticipant.CreateContentFilteredTopic ( string  name,
ITopic  relatedTopic,
string  filterExpression,
params string []  expressionParameters 
)

This operation creates a IContentFilteredTopic for a IDomainParticipant in order to allow DataReaders to subscribe to a subset of the topic content.

This operation creates a IContentFilteredTopic for a IDomainParticipant in order to allow DataReaders to subscribe to a subset of the topic content. The base topic, which is being filtered is defined by the parameter relatedTopic. The resulting IContentFilteredTopic only relates to the samples published under the relatedTopic, which have been filtered according to their content. The resulting IContentFilteredTopic only exists at the IDataReader side and will never be published. The samples of the related topic are filtered according to the SQL expression (which is a subset of SQL) as defined in the parameter filterExpression.

The filterExpression may also contain parameters, which appear as n tokens in the expression which must be set by the sequence of strings defined by the parameter expressionParameters. The number of values in expressionParameters must be equal or greater than the highest referenced n token in the filterExpression (e.g. if %1 and %8 are used as parameter in the filterExpression, the expressionParameters should at least contain n+1 = 9 values).

The filterExpression is a string that specifies the criteria to select the data samples of interest. In other words, it identifies the selection of data from the associated Topics. It is an SQL expression where the WHERE clause gives the content filter.

Parameters
nameThe name of the IContentFilteredTopic.
relatedTopicThe base topic on which the filtering will be applied. Therefore, a filtered topic is based onn an existing ITopic.
filterExpressionThe SQL expression (subset of SQL), which defines the filtering.
expressionParametersA sequence of strings with the parameter value used in the SQL expression (i.e., the number of n tokens in the expression).The number of values in expressionParameters must be equal or greater than the highest referenced n token in the filterExpression (e.g. if %1 and %8 are used as parameter in the filterExpression, the expressionParameters should at least contain n+1 = 9 values)
Returns
The newly created IContentFilteredTopic. In case of an error a IContentFilteredTopic with a null value is returned.

◆ CreateMultiTopic()

IMultiTopic DDS.IDomainParticipant.CreateMultiTopic ( string  name,
string  typeName,
string  subscriptionExpression,
params string []  expressionParameters 
)

This operation creates a IMultiTopic for a IDomainParticipant in order to allow DataReaders to subscribe to a filtered/re-arranged combination and/or subset of the content of several topics.

Note
This operation is not yet implemented. It is scheduled for a future release.

This operation creates a IMultiTopic for a IDomainParticipant in order to allow DataReaders to subscribe to a filtered/re-arranged combination and/or subset of the content of several topics. Before the IMultiTopic can be created, the typeName of the IMultiTopic must have been registered prior to calling this operation. Registering is done, using the register_type operation from TypeSupport. The list of topics and the logic, which defines the selection, filtering, combining and re-arranging of the sample data, is defined by the SQL expression (subset of SQL) defined in subscription_expression. The subscription_expression may also contain parameters, which appear as n tokens in the expression. These parameters are defined in expressionParameters. The number of values in expressionParameters must be equal or greater than the highest referenced n token in the subscription_expression (e.g. if %1 and %8 are used as parameter in the subscription_expression, the expressionParameters should at least contain n+1 = 9 values).

The subscription_expression is a string that specifies the criteria to select the data samples of interest. In other words, it identifies the selection and rearrangement of data from the associated Topics. It is an SQL expression where the SELECT clause provides the fields to be kept, the FROM part provides the names of the Topics that are searched for those fields, and the WHERE clause gives the content filter. The Topics combined may have different types but they are restricted in that the type of the fields used for the NATURAL JOIN operation must be the same.

The IDataReader, which is associated with a IMultiTopic only accesses information which exist locally in the IDataReader, based on the Topics used in the subscription_expression. The actual IMultiTopic will never be produced, only the individual Topics.

Parameters
namethe name of the multi topic.
typeNamethe name of the type of the IMultiTopic. This typeName must have been registered using register_type prior to calling this operation.
subscriptionExpressionthe SQL expression (subset of SQL), which defines the selection, filtering, combining and re-arranging of the sample data.
expressionParametersthe handle to a sequence of strings with the parameter value used in the SQL expression (i.e., the number of n tokens in the expression). The number of values in expressionParameters must be equal or greater than the highest referenced n token in the subscription_expression (e.g. if %1 and %8 are used as parameter in the subscription_expression, the expressionParameters should at least contain n+1 = 9 values).
Returns
The newly created IMultiTopic. In case of an error, null is returned.

◆ CreatePublisher() [1/4]

IPublisher DDS.IDomainParticipant.CreatePublisher ( )

This method creates a IPublisher with default values.

This operation creates a IPublisher with the default PublisherQos, a null IPublisherListener and 0 StatusKind mask.

If the SetDefaultPublisherQos() method is called, then the default PublisherQos will be the QoS given to that method. Otherwise it will equal a new PublisherQos.

To delete the IPublisher the operation DeletePublisher() or DeleteContainedEntities() must be used.

See CreatePublisher for:

  • Communication Status
  • Status Propagation
Returns
The newly created IPublisher. In case of an error, a null IPublisher is returned.

◆ CreatePublisher() [2/4]

IPublisher DDS.IDomainParticipant.CreatePublisher ( IPublisherListener  listener,
StatusKind  mask 
)

This method creates a IPublisher and if applicable, attaches the optionally specified IPublisherListener to it.

This operation creates a IPublisher with the default PublisherQos, the given IPublisherListener and StatusKind mask. The IPublisherListener may be null and the mask may be 0.

If the SetDefaultPublisherQos() method is called, then the default PublisherQos will be the QoS given to that method. Otherwise it will equal a new PublisherQos.

To delete the IPublisher the operation DeletePublisher() or DeleteContainedEntities() must be used.

See CreatePublisher for:

  • Communication Status
  • Status Propagation
Parameters
listenerThe IPublisherListener instance which will be attached to the new IPublisher. It is permitted to use null as the value of the listener: this behaves as a PublisherListener whose operations perform no action.
maskA bit-mask in which each bit enables the invocation of the PublisherListener for a certain status.
Returns
The newly created IPublisher. In case of an error, a null IPublisher is returned.

◆ CreatePublisher() [3/4]

IPublisher DDS.IDomainParticipant.CreatePublisher ( PublisherQos  qos)

This method creates a IPublisher with the desired QosPolicy settings, but without an IPublisherListener.

This operation creates a IPublisher with the given PublisherQos, a null IPublisherListener and 0 StatusKind mask.

In case the specified QosPolicy settings are not consistent, no IPublisher is created and null is returned. Null can also be returned when insufficient access rights exist for the partition(s) listed in the provided QoS

To delete the IPublisher the operation DeletePublisher() or DeleteContainedEntities() must be used.

See CreatePublisher for:

  • Communication Status
  • Status Propagation
Parameters
qosA collection of QosPolicy settings for the new IPublisher. In case these settings are not self consistent, no IPublisher is created.
Returns
The newly created IPublisher. In case of an error, a null IPublisher is returned.

◆ CreatePublisher() [4/4]

IPublisher DDS.IDomainParticipant.CreatePublisher ( PublisherQos  qos,
IPublisherListener  listener,
StatusKind  mask 
)

This operation creates a IPublisher with the desired QosPolicy settings and if applicable, attaches the optionally specified IPublisherListener to it.

This operation creates a IPublisher with the desired QosPolicy settings and if applicable, attaches the optionally specified IPublisherListener to it. When the PublisherListener is not applicable, null must be supplied instead.

In case the specified QosPolicy settings are not consistent, no IPublisher is created and null is returned. Null can also be returned when insufficient access rights exist for the partition(s) listed in the provided QoS

To delete the IPublisher the operation DeletePublisher() or DeleteContainedEntities() must be used.

Communication Status
For each communication status, the StatusChangedFlag flag is initially set to false. It becomes true whenever that communication status changes. For each communication status activated in the mask, the associated IPublisherListener operation is invoked and the communication status is reset to false, as the listener implicitly accesses the status which is passed as a parameter to that operation. The fact that the status is reset prior to calling the listener means that if the application calls the Get<status_name>Status from inside the listener it will see the status already reset.

The following statuses are applicable to the IPublisher

Be aware that the PublicationMatched status are not applicable when the infrastructure does not have the information available to determine connectivity. This is the case when OpenSplice is configured not to maintain discovery information in the Networking Service. (See the description for the NetworkingService/Discovery/enabled property in the Deployment Manual for more information about this subject.) In this case the operation will return null.

Status bits are declared as a constant and can be used by the application in an OR operation to create a tailored mask. The special constant 0 can be used to indicate that the created entity should not respond to any of its available statuses. The DDS will therefore attempt to propagate these statuses to its factory.

Status Propagation
The Data Distribution Service will trigger the most specific and relevant Listener.
In other words, in case a communication status is also activated on the IDataWriterListener of a contained IDataWriter, the IDataWriterListener on that contained IDataWriter is invoked instead of the IPublisherListener. This means that a status change on a contained IDataWriter only invokes the IPublisherListener if the contained IDataWriter itself does not handle the trigger event generated by the status change.

In case a communication status is not activated in the mask of the IPublisherListener, the IDomainParticipantListener of the containing IDomainParticipant is invoked (if attached and activated for the status that occurred). This allows the application to set a default behaviour in the IDomainParticipantListener of the containing IDomainParticipant and a IPublisher specific behaviour when needed. In case the IDomainParticipantListener is also not attached or the communication status is not activated in its mask, the application is not notified of the change.

Parameters
qosA collection of QosPolicy settings for the new IPublisher. In case these settings are not self consistent, no IPublisher is created.
listenerThe IPublisherListener instance which will be attached to the new IPublisher. It is permitted to use null as the value of the listener: this behaves as a PublisherListener whose operations perform no action.
maskA bit-mask in which each bit enables the invocation of the PublisherListener for a certain status.
Returns
The newly created IPublisher. In case of an error, a null IPublisher is returned.

◆ CreateSubscriber() [1/4]

ISubscriber DDS.IDomainParticipant.CreateSubscriber ( )

This method creates a ISubscriber with default values.

This operation creates a ISubscriber with the default SubscriberQos, a null ISubscriberListener and 0 StatusKind mask.

If the SetDefaultSubscriberQos() method is called, then the default SubscriberQos will be the QoS given to that method. Otherwise it will equal a new SubscriberQos.

To delete the ISubscriber the operation DeleteSubscriber() or DeleteContainedEntities() must be used.

See CreateSubscriber for:

  • Communication Status
  • Status Propagation
Returns
The newly created ISubscriber. In case of an error, a null ISubscriber is returned.

◆ CreateSubscriber() [2/4]

ISubscriber DDS.IDomainParticipant.CreateSubscriber ( ISubscriberListener  listener,
StatusKind  mask 
)

This method creates a ISubscriber and if applicable, attaches the optionally specified ISubscriberListener to it.

This operation creates a ISubscriber with the default SubscriberQos, the given ISubscriberListener and StatusKind mask. The ISubscriberListener may be null and the mask may be 0.

If the SetDefaultSubscriberQos() method is called, then the default SubscriberQos will be the QoS given to that method. Otherwise it will equal a new SubscriberQos.

To delete the ISubscriber the operation DeleteSubscriber() or DeleteContainedEntities() must be used.

See CreateSubscriber for:

  • Communication Status
  • Status Propagation
Parameters
listenerThe ISubscriberListener instance which will be attached to the new ISubscriber. It is permitted to use null as the value of the listener: this behaves as a ISubscriberListener whose operations perform no action.
maskA bit-mask in which each bit enables the invocation of the ISubscriberListener for a certain status.
Returns
The newly created ISubscriber. In case of an error, a null ISubscriber is returned.

◆ CreateSubscriber() [3/4]

ISubscriber DDS.IDomainParticipant.CreateSubscriber ( SubscriberQos  qos)

This method creates a ISubscriber with the desired QosPolicy settings, but without an ISubscriberListener.

This operation creates a ISubscriber with the given SubscriberQos, a null ISubscriberListener and 0 StatusKind mask.

In case the specified QosPolicy settings are not consistent, no ISubscriber is created and null is returned. Null can also be returned when insufficient access rights exist for the partition(s) listed in the provided QoS

To delete the ISubscriber the operation DeleteSubscriber() or DeleteContainedEntities() must be used.

See CreateSubscriber for:

  • Communication Status
  • Status Propagation
Parameters
qosA collection of QosPolicy settings for the new ISubscriber. In case these settings are not self consistent, no ISubscriber is created.
Returns
The newly created ISubscriber. In case of an error, a null ISubscriber is returned.

◆ CreateSubscriber() [4/4]

ISubscriber DDS.IDomainParticipant.CreateSubscriber ( SubscriberQos  qos,
ISubscriberListener  listener,
StatusKind  mask 
)

This operation creates a ISubscriber with the desired QosPolicy settings and if applicable, attaches the optionally specified ISubscriberListener to it.

This operation creates a ISubscriber with the desired QosPolicy settings and if applicable, attaches the optionally specified ISubscriberListener to it. When the ISubscriberListener is not applicable, null must be supplied instead.

In case the specified QosPolicy settings are not consistent, no ISubscriber is created and null is returned. Null can also be returned when insufficient access rights exist for the partition(s) listed in the provided QoS

To delete the ISubscriber the operation DeleteSubscriber() or DeleteContainedEntities() must be used.

Communication Status
For each communication status, the StatusChangedFlag flag is initially set to false. It becomes true whenever that communication status changes. For each communication status activated in the mask, the associated ISubscriberListener operation is invoked and the communication status is reset to false, as the listener implicitly accesses the status which is passed as a parameter to that operation. The fact that the status is reset prior to calling the listener means that if the application calls the Get<status_name>Status from inside the listener it will see the status already reset.

The following statuses are applicable to the ISubscriber

Be aware that the SubscriptionMatched status are not applicable when the infrastructure does not have the information available to determine connectivity. This is the case when OpenSplice is configured not to maintain discovery information in the Networking Service. (See the description for the NetworkingService/Discovery/enabled property in the Deployment Manual for more information about this subject.) In this case the operation will return null.

Status bits are declared as a constant and can be used by the application in an OR operation to create a tailored mask. The special constant 0 can be used to indicate that the created entity should not respond to any of its available statuses. The DDS will therefore attempt to propagate these statuses to its factory.

Status Propagation
The Data Distribution Service will trigger the most specific and relevant Listener.
In other words, in case a communication status is also activated on the IDataWriterListener of a contained IDataWriter, the IDataWriterListener on that contained IDataWriter is invoked instead of the ISubscriberListener. This means that a status change on a contained IDataWriter only invokes the ISubscriberListener if the contained IDataWriter itself does not handle the trigger event generated by the status change.

In case a communication status is not activated in the mask of the ISubscriberListener, the IDomainParticipantListener of the containing IDomainParticipant is invoked (if attached and activated for the status that occurred). This allows the application to set a default behaviour in the IDomainParticipantListener of the containing IDomainParticipant and a ISubscriber specific behaviour when needed. In case the IDomainParticipantListener is also not attached or the communication status is not activated in its mask, the application is not notified of the change.

This operation creates a ISubscriber with the desired QosPolicy settings and if applicable, attaches the optionally specified ISubscriberListener to it. When the ISubscriberListener is not applicable, a null ISubscriberListener must be supplied instead. To delete the ISubscriber the operation DeleteSubscriber() or DeleteContainedEntities() must be used. In case the specified QosPolicy settings are not consistent, no ISubscriber is created and a null ISubscriber is returned.

Parameters
qosa collection of QosPolicy settings for the new ISubscriber. In case these settings are not self consistent, no ISubscriber is created.
listenera pointer to the ISubscriberListener instance which will be attached to the new ISubscriber. It is permitted to use null as the value of the listener: this behaves as a ISubscriberListener whose operations perform no action.
maska bit-mask in which each bit enables the invocation of the ISubscriberListener for a certain status.
Returns
The newly created ISubscriber. In case of an error a null ISubscriber is returned.

◆ CreateTopic() [1/4]

ITopic DDS.IDomainParticipant.CreateTopic ( string  topicName,
string  typeName 
)

This operation creates a reference to a new or existing ITopic under the given name, for a specific type and uses default values for QoS and Listener.

This operation creates a ITopic with the default TopicQos, a null ITopicListener and 0 StatusKind mask.

If the SetDefaultTopicQos() method is called, then the default TopicQos will be the QoS given to that method. Otherwise it will equal a new TopicQos.

To delete the ITopic the operation DeleteTopic() or DeleteContainedEntities() must be used.

See CreateTopic for:

  • Type Support
  • Existing ITopic Name
  • Local Proxy
  • Communication Status
  • Status Propagation
Parameters
topicNamethe name of the ITopic to be created. A new ITopic will only be created, when no ITopic, with the same name, is found within the IDomainParticipant.
typeNamea local alias of the data type, which must have been registered before creating the ITopic.
Returns
The new or existing ITopic. In case of an error, null is returned.

◆ CreateTopic() [2/4]

ITopic DDS.IDomainParticipant.CreateTopic ( string  topicName,
string  typeName,
ITopicListener  listener,
StatusKind  mask 
)

This operation returns a new or existing ITopic for the given name for a specific type, with the default QosPolicy settings and if applicable, attaches the optionally specified TopicListener to it.

This operation creates a ITopic with the default TopicQos, the given ITopicListener and StatusKind mask. The ITopicListener may be null and the mask may be 0.

If the SetDefaultTopicQos() method is called, then the default TopicQos will be the QoS given to that method. Otherwise it will equal a new TopicQos.

To delete the ITopic the operation DeleteTopic() or DeleteContainedEntities() must be used.

See CreateTopic for:

  • Type Support
  • Existing ITopic Name
  • Local Proxy
  • Communication Status
  • Status Propagation
Parameters
topicNamethe name of the ITopic to be created. A new ITopic will only be created, when no ITopic, with the same name, is found within the IDomainParticipant.
typeNamea local alias of the data type, which must have been registered before creating the ITopic.
listenerthe TopicListener instance which will be attached to the new ITopic. It is permitted to use null as the value of the listener: this behaves as a TopicListener whose operations perform no action.
maska bit-mask in which each bit enables the invocation of the TopicListener for a certain status.
Returns
The new or existing ITopic. In case of an error, null is returned.

◆ CreateTopic() [3/4]

ITopic DDS.IDomainParticipant.CreateTopic ( string  topicName,
string  typeName,
TopicQos  qos 
)

This operation returns a new or existing ITopic for the given name for a specific type, with the desired QosPolicy settings and no Listener.

This operation creates a ITopic with the given TopicQos, a null ITopicListener and 0 StatusKind mask.

To delete the ITopic the operation DeleteTopic() or DeleteContainedEntities() must be used.

See CreateTopic for:

  • Type Support
  • Existing ITopic Name
  • Local Proxy
  • Communication Status
  • Status Propagation
Parameters
topicNamethe name of the ITopic to be created. A new ITopic will only be created, when no ITopic, with the same name, is found within the IDomainParticipant.
typeNamea local alias of the data type, which must have been registered before creating the ITopic.
qosa collection of QosPolicy settings for the new ITopic. In case these settings are not self consistent, no ITopic is created.
Returns
The new or existing ITopic. In case of an error, null is returned.

◆ CreateTopic() [4/4]

ITopic DDS.IDomainParticipant.CreateTopic ( string  topicName,
string  typeName,
TopicQos  qos,
ITopicListener  listener,
StatusKind  mask 
)

This operation returns a new or existing ITopic for the given name for a specific type, with the desired QosPolicy settings and if applicable, attaches the optionally specified TopicListener to it.

This operation creates a reference to a new or existing ITopic under the given name, for a specific type, with the desired QosPolicy settings and if applicable, attaches the optionally specified TopicListener to it. When the TopicListener is not applicable, a null listener must be supplied instead. In case the specified QosPolicy settings are not consistent, no ITopic is created and a null ITopic is returned.

To delete the ITopic the operation DeleteTopic() or DeleteContainedEntities() must be used.

Type Support
The ITopic is bound to the type typeName. Prior to creating the ITopic, the typeName must have been registered with the Data Distribution Service. Registering the typeName is done using the data type specific RegisterType operation (the simplest ITopic creation is used in this example).

DDS.IDomainParticipant participant = factory.CreateParticipant(DDS.DomainId.Default);
DDS.ReturnCode retcode = typesupport.RegisterType(participant, "Space.Foo");
DDS.ITopic topic = participant.CreateTopic("FoFoo", "Space.Foo");

Existing ITopic Name
Before creating a new ITopic, this operation performs a LookupTopicDescription() for the specified topicName. When a ITopic is found with the same name in the current domain, the QoS and typeName of the found ITopic are matched against the parameters qos and typeName. When they are the same, no ITopic is created but a new proxy of the existing ITopic is returned.
When they are not exactly the same, no ITopic is created and null is returned.

When a ITopic is obtained multiple times, it must also be deleted that same number of times using DeleteTopic() or calling DeleteContainedEntities() once to delete all the proxies.

Local Proxy
Since a Topic is a global concept in the system, access is provided through a local proxy. In other words, the reference returned is actually not a reference to a ITopic but to a locally created proxy. The Data Distribution Service propagates Topics and makes remotely created Topics locally available through this proxy. For each create, a new proxy is created. Therefore the Topic must be deleted the same number of times, as the Topic was created with the same topicName per Domain. In other words, each reference (local proxy) must be deleted separately.

Communication Status
For each communication status, the StatusChangedFlag flag is initially set to false. It becomes true whenever that communication status changes. For each communication status activated in the mask, the associated ITopicListener operation is invoked and the communication status is reset to false, as the listener implicitly accesses the status which is passed as a parameter to that operation. The fact that the status is reset prior to calling the listener means that if the application calls the Get<status_name>Status from inside the listener it will see the status already reset.

The following statuses are applicable to the ITopic

Status bits are declared as a constant and can be used by the application in an OR operation to create a tailored mask. The special constant 0 can be used to indicate that the created entity should not respond to any of its available statuses. The DDS will therefore attempt to propagate these statuses to its factory.

Status Propagation
In case a communication status is not activated in the mask of the ITopicListener, the IDomainParticipantListener of the containing IDomainParticipant is invoked (if attached and activated for the status that occurred). This allows the application to set a default behaviour in the IDomainParticipantListener of the containing IDomainParticipant and a ITopic specific behaviour when needed. In case the IDomainParticipantListener is also not attached or the communication status is not activated in its mask, the application is not notified of the change.

Parameters
topicNamethe name of the ITopic to be created. A new ITopic will only be created, when no ITopic, with the same name, is found within the IDomainParticipant.
typeNamea local alias of the data type, which must have been registered before creating the ITopic.
qosa collection of QosPolicy settings for the new ITopic. In case these settings are not self consistent, no ITopic is created.
listenerthe TopicListener instance which will be attached to the new ITopic. It is permitted to use null as the value of the listener: this behaves as a TopicListener whose operations perform no action.
maska bit-mask in which each bit enables the invocation of the TopicListener for a certain status.
Returns
The new or existing ITopic. In case of an error, null is returned.

◆ DeleteContainedEntities()

ReturnCode DDS.IDomainParticipant.DeleteContainedEntities ( )

This operation deletes all the IEntity objects that were created on the IDomainParticipant.

This operation deletes all the IEntity objects that were created on the IDomainParticipant. In other words, it deletes all IPublisher, ISubscriber, ITopic, IContentFilteredTopic and IMultiTopic objects. Prior to deleting each contained IEntity, this operation regressively calls the corresponding DeleteContainedEntities operation on each IEntity (if applicable). In other words, all IEntity objects in the IPublisher and ISubscriber are deleted, including the IDataWriter and IDataReader. Also the IQueryCondition and IReadCondition objects contained by the IDataReader are deleted.

Note
The operation will return PreconditionNotMet if the any of the contained entities is in a state where it cannot be deleted. This will occur, for example, if a contained IDataReader cannot be deleted because the application has called a read or take operation and has not called the corresponding ReturnLoan operation to return the loaned samples. In such cases, the operation does not roll back any entity deletions performed prior to the detection of the problem.

Topic
Since a Topic is a global concept in the system, access is provided through a local proxy. The Data Distribution Service propagates Topics and makes remotely created Topics locally available through this proxy. Such a proxy is created by the create_topic or FindTopic operation. When a reference to the same Topic was created multiple times (either by CreateTopic or FindTopic), all references (local proxies) are deleted. With the last proxy, the Topic itself is also removed from the system.

Returns
Return values are:

◆ DeleteContentFilteredTopic()

ReturnCode DDS.IDomainParticipant.DeleteContentFilteredTopic ( IContentFilteredTopic  aContentFilteredTopic)

This operation deletes a IContentFilteredTopic.

This operation deletes a IContentFilteredTopic. The deletion of a IContentFilteredTopic is not allowed if there are any existing IDataReader objects that are using the IContentFilteredTopic. If the DeleteContentFilteredTopic operation is called on a IContentFilteredTopic with existing IDataReader objects attached to it, it will return PreconditionNotMet.

The DeleteContentFilteredTopic operation must be called on the same IDomainParticipant object used to create the IContentFilteredTopic. If DeleteContentFilteredTopic is called on a different IDomainParticipant the operation will have no effect and it will return PreconditionNotMet.

Parameters
aContentFilteredTopicThe IContentFilteredTopic to be deleted.
Returns
Return values are:

◆ DeleteMultiTopic()

ReturnCode DDS.IDomainParticipant.DeleteMultiTopic ( IMultiTopic  multiTopic)

This operation deletes a IMultiTopic.

Note
This operation is not yet implemented. It is scheduled for a future release.

The deletion of a IMultiTopic is not allowed if there are any existing IDataReader objects that are using the IMultiTopic. If the DeleteMultiTopic operation is called on a IMultiTopic with existing IDataReader objects attached to it, it will return PreconditionNotMet.

The DeleteMultiTopic operation must be called on the same IDomainParticipant object used to create the IMultiTopic. If DeleteMultiTopic is called on a different IDomainParticipant the operation will have no effect and it will return PreconditionNotMet.

Parameters
multiTopicThe IMultiTopic, which is to be deleted.
Returns
Return values are:

◆ DeletePublisher()

ReturnCode DDS.IDomainParticipant.DeletePublisher ( IPublisher  p)

This operation deletes a IPublisher.

This operation deletes a IPublisher. A IPublisher cannot be deleted when it has any attached IDataWriter objects. When the operation is called on a IPublisher with IDataWriter objects, the operation returns PreconditionNotMet. When the operation is called on a different IDomainParticipant, as used when the IPublisher was created, the operation has no effect and returns PreconditionNotMet.

Parameters
pThe IPublisher to be deleted.
Returns
Return values are:

◆ DeleteSubscriber()

ReturnCode DDS.IDomainParticipant.DeleteSubscriber ( ISubscriber  s)

This operation deletes a ISubscriber.

This operation deletes a ISubscriber. A ISubscriber cannot be deleted when it has any attached IDataReader objects. When the operation is called on a ISubscriber with IDataReader objects, the operation returns PreconditionNotMet. When the operation is called on a different IDomainParticipant, as used when the ISubscriber was created, the operation has no effect and returns PreconditionNotMet.

Parameters
sThe subscriber to be deleted.
Returns
Return values are:

◆ DeleteTopic()

ReturnCode DDS.IDomainParticipant.DeleteTopic ( ITopic  topic)

This operation deletes a ITopic

This operation deletes a ITopic. A ITopic cannot be deleted when there are any IDataReader, IDataWriter, IContentFilteredTopic or IMultiTopic objects, which are using the ITopic. When the operation is called on a ITopic referenced by any of these objects, the operation returns PreconditionNotMet. When the operation is called on a different IDomainParticipant, as used when the ITopic was created, the operation has no effect and returns PreconditionNotMet.

Local proxy
Since a Topic is a global concept in the system, access is provided through a local proxy. In other words, the reference is actually not a reference to a Topic but to the local proxy. The Data Distribution Service propagates Topics and makes remotely created Topics locally available through this proxy. Such a proxy is created by the CreateTopic or FindTopic operation. This operation will delete the local proxy. When a reference to the same Topic was created multiple times (either by CreateTopic or FindTopic), each reference (local proxy) must be deleted separately. When this proxy is the last proxy for this Topic, the Topic itself is also removed from the system. As mentioned, a proxy may only be deleted when there are no other entities attached to it. However, it is possible to delete a proxy while there are entities attached to a different proxy.

Parameters
topicThe ITopic which is to be deleted.
Returns
Return values are:

◆ FindTopic()

ITopic DDS.IDomainParticipant.FindTopic ( string  topicName,
Duration  timeout 
)

This operation gives access to an existing (or ready to exist) enabled ITopic, based on its topicName.

This operation gives access to an existing ITopic, based on its topicName. The operation takes as arguments the topicName of the ITopic and a timeout.

If a ITopic of the same topicName already exists, it gives access to this ITopic. Otherwise it waits (blocks the caller) until another mechanism creates it. This other mechanism can be another thread, a configuration tool, or some other Data Distribution Service utility. If after the specified timeout the ITopic can still not be found, the caller gets unblocked and null is returned.

A ITopic obtained by means of FindTopic, must also be deleted by means of DeleteTopic so that the local resources can be released. If a ITopic is obtained multiple times it must also be deleted that same number of times using DeleteTopic or calling DeleteContainedEntities once to delete all the proxies.

A ITopic that is obtained by means of FindTopic in a specific IDomainParticipant can only be used to create DataReaders and DataWriters in that IDomainParticipant if its corresponding TypeSupport has been registered to that same IDomainParticipant.

Local Proxy
Since a Topic is a global concept in the system, access is provided through a local proxy. In other words, the reference returned is actually not a reference to a Topic but to a locally created proxy. The Data Distribution Service propagates Topics and makes remotely created Topics locally available through this proxy. For each create, a new proxy is created. Therefore the Topic must be deleted the same number of times, as the ITopic was created with the same topicName per Domain. In other words, each reference (local proxy) must be deleted separately.

Parameters
topicNameThe name of te ITopic that the application wants access to.
timeoutThe maximum duration to block for the IDomainParticipant FindTopic, after which the application thread is unblocked. The special constant Duration Infinite can be used when the maximum waiting time does not need to be bounded.
Returns
The ITopic that has been found. If an error occurs the operation returns a ITopic with a null value.

◆ GetCurrentTime()

ReturnCode DDS.IDomainParticipant.GetCurrentTime ( out Time  currentTime)

This operation returns the value of the current time that the Data Distribution Service uses to time-stamp written data as well as received data in current_time.

This operation returns the value of the current time that the Data Distribution Service uses to time-stamp written data as well as received data in current_time. The input value of current_time is ignored by the operation.

Parameters
currentTimestores the value of currentTime as used by the Data Distribution Service. The input value of currentTime is ignored.
Returns
Return codes are:

◆ GetDefaultPublisherQos()

ReturnCode DDS.IDomainParticipant.GetDefaultPublisherQos ( ref PublisherQos  qos)

This operation gets the struct with the default IPublisher QosPolicy settings of the IDomainParticipant.

This operation gets the struct with the default IPublisher QosPolicy settings of the IDomainParticipant (that is the PublisherQos) which is used for newly created IPublisher objects, in case no QoS is provided. The default PublisherQos is only used when the constant is supplied as parameter qos to specify the PublisherQos in the CreatePublisher operation. The application must provide the PublisherQos struct in which the QosPolicy settings can be stored and pass the qos reference to the operation. The operation writes the default QosPolicy settings to the struct referenced to by qos. Any settings in the struct are overwritten.

The values retrieved by this operation match the set of values specified on the last successful call to SetDefaultPublisherQos, or, if the call was never made, the default values as specified for each QosPolicy setting.

Parameters
qosA reference to the PublisherQos struct (provided by the application) in which the default QosPolicy settings for the IPublisher are written.
Returns
Return codes are:

◆ GetDefaultSubscriberQos()

ReturnCode DDS.IDomainParticipant.GetDefaultSubscriberQos ( ref SubscriberQos  qos)

This operation gets the struct with the default ISubscriber QosPolicy settings of the IDomainParticipant.

This operation gets the struct with the default ISubscriber QosPolicy settings of the IDomainParticipant (that is the SubscriberQos) which is used for newly created ISubscriber objects, in case the constant SUBSCRIBER_QOS_DEFAULT is used. The default SubscriberQos is only used when the constant is supplied as parameter qos to specify the SubscriberQos in the create_subscriber operation. The application must provide the QoS struct in which the policy can be stored and pass the qos reference to the operation. The operation writes the default QosPolicy to the struct referenced to by qos. Any settings in the struct are overwritten.

The values retrieved by this operation match the set of values specified on the last successful call to set_default_subscriber_qos, or, if the call was never made, the default values as specified for each QosPolicy.

Parameters
qosa reference to the QosPolicy struct (provided by the application) in which the default QosPolicy settings for the ISubscriber is written
Returns
Return values are:

◆ GetDefaultTopicQos()

ReturnCode DDS.IDomainParticipant.GetDefaultTopicQos ( ref TopicQos  qos)

This operation gets the struct with the default ITopic QosPolicy settings of the IDomainParticipant.

This operation gets the struct with the default ITopic QosPolicy settings of the IDomainParticipant (that is the TopicQos) which is used for newly created ITopic objects, in case the constant TOPIC_QOS_DEFAULT is used. The default TopicQos is only used when the constant is supplied as parameter qos to specify the TopicQos in the CreateTopic operation. The application must provide the QoS struct in which the policy can be stored and pass the qos reference to the operation. The operation writes the default QosPolicy to the struct referenced to by qos. Any settings in the struct are overwritten.

The values retrieved by this operation match the set of values specified on the last successful call to SetDefaultTopicQos, or, if the call was never made, the default values as specified for each QosPolicy.

Parameters
qosA reference to the QosPolicy struct (provided by the application) in which the default QosPolicy settings for the ITopic is written.
Returns
Return codes are:

◆ GetDiscoveredParticipantData()

ReturnCode DDS.IDomainParticipant.GetDiscoveredParticipantData ( ref ParticipantBuiltinTopicData  data,
InstanceHandle  handle 
)

This operation retrieves information on a IDomainParticipant that has been discovered on the network.

This operation retrieves information on a IDomainParticipant 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 IDomainParticipant IgnoreParticipant operation.

The instance handle must correspond to a partition currently associated with the IDomainParticipant, otherwise the operation will fail and return Error. The operation GetDiscoveredParticipantData can be used to find more detailed information about a particular participant that is found with the GetDiscoveredParticipants operation.

Parameters
dataThe sample in which the information about the specified participant is to be stored.
handleThe handle to the participant whose information needs to be retrieved.
Returns
Return values are:

◆ GetDiscoveredParticipants()

ReturnCode DDS.IDomainParticipant.GetDiscoveredParticipants ( ref InstanceHandle []  participantHandles)

This operation retrieves the list of DomainParticipants that have been discovered in the domain.

This operation retrieves the list of DomainParticipants that have been discovered in the domain and that the application has not indicated should be ignored by means of the IDomainParticipant IgnoreParticipant operation.

The participant_handles sequence and its buffer may be pre-allocated by the application and therefore must either be re-used in a subsequent invocation of the GetDiscoveredParticipants operation or be released by calling free on the returned participant_handles. If the pre-allocated sequence is not big enough to hold the number of associated participants, the sequence will automatically be (re-)allocated to fit the required size. The handles returned in the participant_handles sequence are the ones that are used by the DDS implementation to locally identify the corresponding matched Participant entities. You can access more detailed information about a particular participant by passing its participantHandle to the GetDiscoveredParticipantData operation.

Parameters
participantHandlesAn array which is used to pass the list of all associated participants.
Returns
Return values are:

◆ GetDiscoveredTopicData()

ReturnCode DDS.IDomainParticipant.GetDiscoveredTopicData ( ref TopicBuiltinTopicData  data,
InstanceHandle  handle 
)

This operation retrieves information on a ITopic that has been discovered on the network.

This operation retrieves information on a ITopic that has been discovered on the network. The topic must have been created by a participant in the same domain as the participant on which this operation is invoked and must not have been ignored by means of the IDomainParticipant ignore_topic operation.

The topic_handle must correspond to a topic currently associated with the IDomainParticipant, otherwise the operation will fail and return Error. The operation GetDiscoveredTopicData can be used to find more detailed information about a particular topic that is found with the GetDiscoveredTopics operation.

Parameters
dataThe sample in which the information about the specified topic is to be stored.
handleThe handle to the topic whose information needs to be retrieved.
Returns
Return values are:

◆ GetDiscoveredTopics()

ReturnCode DDS.IDomainParticipant.GetDiscoveredTopics ( ref InstanceHandle []  topicHandles)

This operation retrieves the list of Topics that have been discovered in the domain

This operation retrieves the list of Topics that have been discovered in the domain and that the application has not indicated should be ignored by means of the IDomainParticipant ignore_topic operation.

The topic_handles sequence and its buffer may be pre-allocated by the application and therefore must either be re-used in a subsequent invocation of the GetDiscoveredTopics operation or be released by calling free on the returned topic_handles. If the pre-allocated sequence is not big enough to hold the number of associated participants, the sequence will automatically be (re-)allocated to fit the required size. The handles returned in the topic_handles sequence are the ones that are used by the DDS implementation to locally identify the corresponding matched ITopic entities. You can access more detailed information about a particular topic by passing its topic_handle to the GetDiscoveredTopicData operation.

Parameters
topicHandlesAn array which is used to pass the list of all associated topics.
Returns
Return values are:

◆ GetProperty()

ReturnCode DDS.IDomainParticipant.GetProperty ( ref Property  property)

This operation looks up the property for a given key in the DomainParticipant.

This operation looks up the property for a given key in the DomainParticipant, returning the value belonging to this key If the property has not been set using setProperty, the default value of the property is returned.

Parameters
nameThe name of the property to request the value from
valueThe value of the requested property.
Returns
Return values are:

◆ GetQos()

ReturnCode DDS.IDomainParticipant.GetQos ( ref DomainParticipantQos  qos)

This operation allows access to the existing set of QoS policies for a IDomainParticipant.

This operation allows access to the existing set of QoS policies of a IDomainParticipant on which this operation is used. This DomainparticipantQos is stored at the location pointed to by the qos parameter.

Parameters
qosA reference to the destination DomainParticipantQos struct in which the QosPolicy settings will be copied.
Returns

◆ IgnoreParticipant()

ReturnCode DDS.IDomainParticipant.IgnoreParticipant ( InstanceHandle  handle)

Note
This operation is not yet implemented. It is scheduled for a future release.

◆ IgnorePublication()

ReturnCode DDS.IDomainParticipant.IgnorePublication ( InstanceHandle  handle)

Note
This operation is not yet implemented. It is scheduled for a future release.

◆ IgnoreSubscription()

ReturnCode DDS.IDomainParticipant.IgnoreSubscription ( InstanceHandle  handle)

Note
This operation is not yet implemented. It is scheduled for a future release.

◆ IgnoreTopic()

ReturnCode DDS.IDomainParticipant.IgnoreTopic ( InstanceHandle  handle)

Note
This operation is not yet implemented. It is scheduled for a future release.

◆ LookupTopicDescription()

ITopicDescription DDS.IDomainParticipant.LookupTopicDescription ( string  name)

This operation gives access to a locally-created ITopicDescription, with a matching name.

The operation LookupTopicDescription gives access to a locally-created ITopicDescription, based on its name. The operation takes as argument the name of the ITopicDescription.

If one or more local ITopicDescription proxies of the same name already exist, a pointer to one of the already existing local proxies is returned: LookupTopicDescription will never create a new local proxy. That means that the proxy that is returned does not need to be deleted separately from its original. When no local proxy exists, it returns null.

The operation never blocks. The operation LookupTopicDescription may be used to locate any locally-created ITopic, IContentFilteredTopic and IMultiTopic object.

Parameters
nameThe name of the ITopicDescription to look for.
Returns
The ITopicDescription it has found.If an error occurs the operation returns a ITopicDescription with a null value.

◆ SetDefaultPublisherQos()

ReturnCode DDS.IDomainParticipant.SetDefaultPublisherQos ( PublisherQos  qos)

This operation sets the default PublisherQos of the IDomainParticipant.

This operation sets the default PublisherQos of the IDomainParticipant (that is the struct with the QosPolicy settings) which is used for newly created IPublisher objects, in case no QoS is provided. The default PublisherQos is only used when the constant is supplied as parameter qos to specify the PublisherQos in the CreatePublisher operation. The PublisherQos is always self consistent, because its policies do not depend on each other. This means this operation never returns the InconsistentPolicy. The values set by this operation are returned by GetDefaultPublisherQos().

Parameters
qosA collection of QosPolicy settings, which contains the new default QosPolicy settings for the newly created Publishers.
Returns
Return values are:

◆ SetDefaultSubscriberQos()

ReturnCode DDS.IDomainParticipant.SetDefaultSubscriberQos ( SubscriberQos  qos)

This operation sets the default SubscriberQos of the IDomainParticipant.

This operation sets the default SubscriberQos of the IDomainParticipant (that is the struct with the QosPolicy settings) which is used for newly created ISubscriber objects, in case no QoS was provided. The default SubscriberQos is only used when the constant is supplied as parameter qos to specify the SubscriberQos in the CreateSubscriber operation. The SubscriberQos is always self consistent, because its policies do not depend on each other. This means this operation never returns the InconsistentPolicy. The values set by this operation are returned by GetDefaultSubscriberQos().

Parameters
qosA collection of QosPolicy settings, which contains the new default QosPolicy settings for the newly created Subscribers.
Returns
Return values are:

◆ SetDefaultTopicQos()

ReturnCode DDS.IDomainParticipant.SetDefaultTopicQos ( TopicQos  qos)

This operation sets the default TopicQos of the IDomainParticipant.

This operation sets the default TopicQos of the IDomainParticipant (that is the struct with the QosPolicy settings) which is used for newly created ITopic objects, in case no QoS was provided. The default TopicQos is only used when the constant is supplied as parameter qos to specify the TopicQos in the CreateTopic operation. This operation checks if the TopicQos is self consistent. If it is not, the operation has no effect and returns Inconsistentpolicy. The values set by this operation are returned by GetGefaultTopicQos.

Parameters
qosa collection of QosPolicy settings, which contains the new default QosPolicy settings for the newly created Topics.
Returns
Return codes are:

◆ SetListener()

ReturnCode DDS.IDomainParticipant.SetListener ( IDomainParticipantListener  listener,
StatusKind  mask 
)

This operation attaches a IDomainParticipantListener to the IDomainParticipant.

This operation attaches a IDomainParticipantListener to the IDomainParticipant. Only one IDomainParticipantListener can be attached to each IDomainParticipant. If a IDomainParticipantListener was already attached, the operation will replace it with the new one. When a_listener is null, it represents a listener that is treated as a NOOP1 for all statuses activated in the bit mask.

Parameters
listenerThe IDomainParticipantListener instance, which will be attached to the IDomainParticipant.
maska bit mask in which each bit enables the invocation of the IDomainParticipantListener for a certain status.
Returns
Return codes are:

◆ SetProperty()

ReturnCode DDS.IDomainParticipant.SetProperty ( Property  property)

This operation sets the property specified by a key value pair.

This operation sets the property specified by a key value pair. Currently, the following property is defined:

isolateNode The isolateNode property allows applications to isolate the federation from the rest of the Domain, i.e. at network level disconnect the node from the rest of the system. Additionally, they also need to be able to issue a request to reconnect their federation to the domain again after which the durability merge-policy that is configured needs to be applied.

To isolate a federation, the application needs to set the isolateNode property value to 'true' and to (de)isolate the federation the same property needs to set to 'false'. The default value of the isolateNode property is 'false'.

All data that is published after isolateNode is set to true will not be sent to the network and any data received from the network will be ignored. Be aware that data being processed by the network service at time of isolating a node may still be sent to the network due to asynchronous nature of network service internals.

The value is interpreted as a boolean (i.e., it must be either 'true' or 'false'). false (default): The federation is connected to the domain. true: The federation is disconnected from the domain meaning that data is not published on the network and data from the network is ignored.

Parameters
nameThe name of the property
valueThe value of the property
Returns
Return values are:

◆ SetQos()

ReturnCode DDS.IDomainParticipant.SetQos ( DomainParticipantQos  qos)

This operation replaces the existing set of QosPolicy settings for a IDomainParticipant.

This operation replaces the existing set of QosPolicy settings for a IDomainParticipant. The parameter qos contains the QosPolicy settings which is checked for self-consistency. The set of QosPolicy settings specified by the qos parameter are applied on top of the existing QoS, replacing the values of any policies previously set (provided, the operation returned Ok).

Parameters
qosNew set of QosPolicy settings for the IDomainParticipant.
Returns
Return values are:

Property Documentation

◆ BuiltInSubscriber

ISubscriber DDS.IDomainParticipant.BuiltInSubscriber
get

This property returns the built-in ISubscriber associated with the IDomainParticipant.

This operation returns the built-in ISubscriber associated with the IDomainParticipant. Each IDomainParticipant contains several built-in ITopic objects. The built-in ISubscriber contains the corresponding IDataReader objects to access them. All these IDataReader objects belong to a single built-in ISubscriber. Note that there is exactly one built-in ISubscriber associated with each IDomainParticipant.

Returns
The built-in ISubscriber associated with the IDomainParticipant.

Definition at line 1206 of file DdsDcpsInterfaces.cs.

◆ DomainId

DomainId DDS.IDomainParticipant.DomainId
get

This property returns the DomainId of the Domain to which this IDomainParticipant is attached.

Definition at line 1802 of file DdsDcpsInterfaces.cs.

◆ Listener

IDomainParticipantListener DDS.IDomainParticipant.Listener
get

This property returns the IDomainParticipantListener currently attached to the IDomainParticipant.

Only one listener can be attached to the IDomainParticipant at any particular time. This property returns the listener that is currently attached to the IDomainParticipant. When no Listener was attached, null is returned.

Returns
returns the IDomainParticipantListener currently attached to the IDomainParticipant.

Definition at line 1752 of file DdsDcpsInterfaces.cs.


The documentation for this interface was generated from the following file: