RTI Connext Micro C API Version 4.3.0
Loading...
Searching...
No Matches
DomainParticipant

DDS_DomainParticipant entity and associated elements More...

Data Structures

struct  DDS_DomainParticipantListener
 <<interface>> <<cert>> Listener for a DDS_DomainParticipant and all of its child entities. More...
 
struct  DDS_DomainParticipantQos
 <<cert>> QoS policies supported by a DDS_DomainParticipant entity. More...
 

Macros

#define DDS_DomainParticipantListener_INITIALIZER
 <<cert>> Initializer for new DDS_DomainParticipantListener.
 
#define DDS_DomainParticipantQos_INITIALIZER
 <<cert>> Initializer for new QoS instances.
 

Typedefs

typedef struct DDS_DomainParticipantImpl DDS_DomainParticipant
 <<interface>> <<cert>> Container for all DDS_DomainEntity objects.
 

Functions

DDS_ReturnCode_t DDS_DomainParticipantQos_initialize (struct DDS_DomainParticipantQos *self)
 <<cert>> Initializer for new QoS instances.
 
DDS_ReturnCode_t DDS_DomainParticipantQos_copy (struct DDS_DomainParticipantQos *self, const struct DDS_DomainParticipantQos *source)
 <<cert>> Copy the contents of the given QoS into this QoS. The destination structure must be preallocated and initialized.
 
DDS_Boolean DDS_DomainParticipantQos_is_equal (const struct DDS_DomainParticipantQos *left, const struct DDS_DomainParticipantQos *right)
 <<cert>> Compare two DDS_DomainParticipantQos policies for equality.
 
DDS_ReturnCode_t DDS_DomainParticipantQos_finalize (struct DDS_DomainParticipantQos *self)
 Free any dynamic memory allocated by the policies in this DDS_DomainParticipantQos.
 
DDS_EntityDDS_DomainParticipant_as_entity (DDS_DomainParticipant *self)
 <<cert>> Access a DDS_DomainParticipant's supertype instance.
 
DDS_ReturnCode_t DDS_DomainParticipant_get_default_publisher_qos (DDS_DomainParticipant *self, struct DDS_PublisherQos *qos)
 Copy the default DDS_PublisherQos values into the provided DDS_PublisherQos instance.
 
DDS_ReturnCode_t DDS_DomainParticipant_set_default_publisher_qos (DDS_DomainParticipant *self, const struct DDS_PublisherQos *qos)
 Set the default DDS_PublisherQos values for this domain participant.
 
DDS_ReturnCode_t DDS_DomainParticipant_get_default_subscriber_qos (DDS_DomainParticipant *self, struct DDS_SubscriberQos *qos)
 Copy the default DDS_SubscriberQos values into the provided DDS_SubscriberQos instance.
 
DDS_ReturnCode_t DDS_DomainParticipant_set_default_subscriber_qos (DDS_DomainParticipant *self, const struct DDS_SubscriberQos *qos)
 Set the default DDS_SubscriberQos values for this domain participant.
 
DDS_ReturnCode_t DDS_DomainParticipant_get_default_topic_qos (DDS_DomainParticipant *self, struct DDS_TopicQos *qos)
 Copies the default DDS_TopicQos values for this domain participant into the given DDS_TopicQos instance.
 
DDS_ReturnCode_t DDS_DomainParticipant_set_default_topic_qos (DDS_DomainParticipant *self, const struct DDS_TopicQos *qos)
 Set the default DDS_TopicQos values for this domain participant.
 
DDS_PublisherDDS_DomainParticipant_create_publisher (DDS_DomainParticipant *self, const struct DDS_PublisherQos *qos, const struct DDS_PublisherListener *listener, DDS_StatusMask mask)
 <<cert>> Creates a DDS_Publisher with the desired QoS policies and attaches to it the specified DDS_PublisherListener.
 
DDS_ReturnCode_t DDS_DomainParticipant_delete_publisher (DDS_DomainParticipant *self, DDS_Publisher *p)
 Deletes an existing DDS_Publisher.
 
DDS_SubscriberDDS_DomainParticipant_create_subscriber (DDS_DomainParticipant *self, const struct DDS_SubscriberQos *qos, const struct DDS_SubscriberListener *listener, DDS_StatusMask mask)
 <<cert>> Creates a DDS_Subscriber with the desired QoS policies and attaches to it the specified DDS_SubscriberListener.
 
DDS_ReturnCode_t DDS_DomainParticipant_delete_subscriber (DDS_DomainParticipant *self, DDS_Subscriber *s)
 Deletes an existing DDS_Subscriber.
 
DDS_TopicDDS_DomainParticipant_create_topic (DDS_DomainParticipant *self, const char *topic_name, const char *type_name, const struct DDS_TopicQos *qos, const struct DDS_TopicListener *listener, DDS_StatusMask mask)
 <<cert>> Creates a DDS_Topic with the desired QoS policies
 
DDS_ReturnCode_t DDS_DomainParticipant_delete_topic (DDS_DomainParticipant *self, DDS_Topic *topic)
 Deletes a DDS_Topic.
 
DDS_TopicDDS_DomainParticipant_find_topic (DDS_DomainParticipant *self, const char *topic_name, const struct DDS_Duration_t *timeout)
 Finds an existing (or ready to exist) DDS_Topic, based on its name.
 
DDS_ReturnCode_t DDS_DomainParticipant_register_contentfilter (DDS_DomainParticipant *self, const char *filter_class_name, const struct DDS_ContentFilterI *filter_intf, const void *filter_property)
 <<eXtension>> Register a custom content filter class with the DDS_DomainParticipant.
 
DDS_ReturnCode_t DDS_DomainParticipant_unregister_contentfilter (DDS_DomainParticipant *self, const char *filter_class_name)
 <<eXtension>> Unregister a custom content filter class from the DDS_DomainParticipant.
 
DDS_TopicDescriptionDDS_DomainParticipant_lookup_topicdescription (DDS_DomainParticipant *self, const char *topic_name)
 <<cert>> Lookup an existing locally-created DDS_TopicDescription, based on its name.
 
DDS_PublisherDDS_DomainParticipant_lookup_publisher_by_name (DDS_DomainParticipant *self, const char *publisher_name)
 <<cert>> Retrieves a DDS_Publisher by its entity name within this DDS_DomainParticipant
 
DDS_SubscriberDDS_DomainParticipant_lookup_subscriber_by_name (DDS_DomainParticipant *self, const char *subscriber_name)
 <<cert>> Retrieves a DDS_Subscriber by its entity name within this DDS_DomainParticipant
 
DDS_DataWriterDDS_DomainParticipant_lookup_datawriter_by_name (DDS_DomainParticipant *self, const char *datawriter_full_name)
 <<cert>> Retrieves a DDS_DataWriter by its entity name within this DDS_DomainParticipant
 
DDS_DataReaderDDS_DomainParticipant_lookup_datareader_by_name (DDS_DomainParticipant *self, const char *datareader_full_name)
 <<cert>> Retrieves a DDS_DataReader by its entity name within this DDS_DomainParticipant
 
DDS_ReturnCode_t DDS_DomainParticipant_add_peer (DDS_DomainParticipant *self, const char *peer)
 <<eXtension>> <<cert>> Attempt to contact one or more additional peer participants.
 
DDS_ReturnCode_t DDS_DomainParticipant_announce (DDS_DomainParticipant *self)
 <<cert>> <<eXtension>> Send a participant announcement for the local participant to the current peers.
 
DDS_ReturnCode_t DDS_DomainParticipant_remove_discovered_participants (DDS_DomainParticipant *self)
 <<cert>> <<eXtension>> Remove all currently discovered remote participants from the discovery database.
 
DDS_DomainId_t DDS_DomainParticipant_get_domain_id (DDS_DomainParticipant *self)
 <<cert>> Get the unique domain identifier.
 
DDS_ReturnCode_t DDS_DomainParticipant_assert_liveliness (DDS_DomainParticipant *self)
 <<cert>> Manually asserts the liveliness of this DDS_DomainParticipant.
 
DDS_ReturnCode_t DDS_DomainParticipant_delete_contained_entities (DDS_DomainParticipant *self)
 Delete all the entities that were created by means of the "create" operations on the DDS_DomainParticipant.
 
DDS_ReturnCode_t DDS_DomainParticipant_get_current_time (DDS_DomainParticipant *self, struct DDS_Time_t *current_time)
 <<cert>> Returns the current value of the time.
 
DDS_ReturnCode_t DDS_DomainParticipant_get_discovered_participants (DDS_DomainParticipant *self, struct DDS_InstanceHandleSeq *participant_handles)
 Returns a sequence containing DDS_InstanceHandle_t for all the remote DDS_DomainParticipant that have been discovered by the DDS_DomainParticipant.
 
DDS_ReturnCode_t DDS_DomainParticipant_get_discovered_participant_data (DDS_DomainParticipant *self, struct DDS_ParticipantBuiltinTopicData *participant_data, const DDS_InstanceHandle_t *participant_handle)
 Returns information about a remote DDS_DomainParticipant that has been discovered by the DDS_DomainParticipant.
 
DDS_ReturnCode_t DDS_DomainParticipant_set_qos (DDS_DomainParticipant *self, const struct DDS_DomainParticipantQos *qos)
 Change the QoS of this domain participant.
 
DDS_ReturnCode_t DDS_DomainParticipant_get_qos (DDS_DomainParticipant *self, struct DDS_DomainParticipantQos *qos)
 Get the participant QoS.
 
DDS_ReturnCode_t DDS_DomainParticipant_set_listener (DDS_DomainParticipant *self, const struct DDS_DomainParticipantListener *listener, DDS_StatusMask mask)
 Sets the participant listener.
 
struct DDS_DomainParticipantListener DDS_DomainParticipant_get_listener (DDS_DomainParticipant *self)
 Get the participant listener.
 
DDS_ReturnCode_t DDS_DomainParticipant_register_type (DDS_DomainParticipant *self, const char *type_name, struct DDS_TypePluginI *plugin)
 <<cert>> <<eXtension>> Allows an application to communicate to RTI Connext DDS Micro the existence of a data type.
 
struct DDS_TypePluginI * DDS_DomainParticipant_unregister_type (DDS_DomainParticipant *self, const char *type_name)
 Allows an application to unregister a data type from RTI Connext DDS Micro. After calling unregister_type, no further communication using that type is possible.
 
DDS_ReturnCode_t DDS_DomainParticipant_get_default_flowcontroller_property (DDS_DomainParticipant *self, struct DDS_FlowControllerProperty_t *prop)
 <<cert>> <<eXtension>> Copies the default DDS_FlowControllerProperty_t values for this domain participant into the given DDS_FlowControllerProperty_t instance.
 
DDS_ReturnCode_t DDS_DomainParticipant_set_default_flowcontroller_property (DDS_DomainParticipant *self, const struct DDS_FlowControllerProperty_t *prop)
 <<cert>> <<eXtension>> Set the default DDS_FlowControllerProperty_t values for this domain participant.
 
DDS_FlowControllerDDS_DomainParticipant_create_flowcontroller (DDS_DomainParticipant *self, const char *name, const struct DDS_FlowControllerProperty_t *prop)
 <<cert>> <<eXtension>> Creates a DDS_FlowController with the desired property.
 
DDS_ReturnCode_t DDS_DomainParticipant_delete_flowcontroller (DDS_DomainParticipant *self, DDS_FlowController *fc)
 <<cert>> <<eXtension>> Deletes an existing DDS_FlowController.
 
DDS_FlowControllerDDS_DomainParticipant_lookup_flowcontroller (DDS_DomainParticipant *self, const char *name)
 <<cert>> <<eXtension>> Looks up an existing locally-created DDS_FlowController, based on its name.
 
const char * DDSC_Library_get_version (void)
 Returns the version string for the DDS C library.
 

Variables

const struct DDS_TopicQos DDS_TOPIC_QOS_DEFAULT
 <<cert>> Special value for creating a DDS_Topic with default QoS. Note that this is the only supported parameter in RTI Connext DDS Micro when creating a topic.
 
const struct DDS_PublisherQos DDS_PUBLISHER_QOS_DEFAULT
 <<cert>> Special value for creating a DDS_Publisher with default QoS.
 
const struct DDS_SubscriberQos DDS_SUBSCRIBER_QOS_DEFAULT
 <<cert>> Special value for creating a DDS_Subscriber with default QoS.
 
const struct DDS_FlowControllerProperty_t DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT
 <<cert>> <<eXtension>> Special value for creating a DDS_FlowController with default property.
 

Detailed Description

DDS_DomainParticipant entity and associated elements

Macro Definition Documentation

◆ DDS_DomainParticipantListener_INITIALIZER

#define DDS_DomainParticipantListener_INITIALIZER

<<cert>> Initializer for new DDS_DomainParticipantListener.

No memory is allocated. New DDS_DomainParticipantListener instances stored on the stack should be initialized with this value before they are passed to any functions.

/* initialize listener functions */
DDS_DomainParticipant_set_listener(myParticipant, &listener, mask);
#define DDS_DomainParticipantListener_INITIALIZER
<<cert>> Initializer for new DDS_DomainParticipantListener.
Definition dds_c_domain.h:271
DDS_ReturnCode_t DDS_DomainParticipant_set_listener(DDS_DomainParticipant *self, const struct DDS_DomainParticipantListener *listener, DDS_StatusMask mask)
Sets the participant listener.
DDS_DataReaderListener_DataAvailableCallback on_data_available
<<cert>> Handles the DDS_DATA_AVAILABLE_STATUS communication status.
Definition dds_c_subscription.h:1261
<<interface>> <<cert>> Listener for a DDS_DomainParticipant and all of its child entities.
Definition dds_c_domain.h:255
struct DDS_SubscriberListener as_subscriberlistener
Callback interface for DDS_Subscriber and DDS_DataReader-related status changes.
Definition dds_c_domain.h:266
struct DDS_DataReaderListener as_datareaderlistener
The superclass instance of this DDS_SubscriberListener.
Definition dds_c_subscription.h:1329
See also
DDS_DomainParticipant_set_listener
DDS_DomainParticipantListener

◆ DDS_DomainParticipantQos_INITIALIZER

#define DDS_DomainParticipantQos_INITIALIZER

<<cert>> Initializer for new QoS instances.

DDS_DomainParticipantQos instances stored on the stack must be initialized with this value before they are passed to any functions. This step ensures that the contained QoS policies that use dynamic memory are properly initialized. The initializer does not allocate memory.

The simplest way to create a new QoS structure is to initialize it on the stack at the time of its creation:

#define DDS_DomainParticipantQos_INITIALIZER
<<cert>> Initializer for new QoS instances.
Definition dds_c_domain.h:358
<<cert>> QoS policies supported by a DDS_DomainParticipant entity.
Definition dds_c_domain.h:294
See also
DDS_DomainParticipantQos_finalize

Typedef Documentation

◆ DDS_DomainParticipant

typedef struct DDS_DomainParticipantImpl DDS_DomainParticipant

<<interface>> <<cert>> Container for all DDS_DomainEntity objects.

The DomainParticipant object plays several roles:

- It acts as a container for all other DDS_Entity objects.

- It acts as factory for the DDS_Publisher, DDS_Subscriber, DDS_Topic and 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.

A DDS_DomainParticipant may be created in a disabled or enabled state; refer to DDS_Entity_enable for details. The initial state of the DDS_DomainParticipant is determined by DDS_DomainParticipantFactoryQos::entity_factory.

The documentation for each operation on the DDS_DomainParticipant includes any restrictions with respect to whether the operation is valid only for a disabled or enabled DDS_DomainParticipant.

The following operations may be called even if the DDS_DomainParticipant is not enabled. Other operations will fail with the value DDS_RETCODE_NOT_ENABLED if called on a disabled DomainParticipant:

  • Operations defined at the base-class level namely, get_qos(), get_listener(), and enable() ,set_qos(),set_listener()
  • Factory operations: create_topic(), create_publisher(), create_subscriber() ,delete_topic(), delete_publisher(), delete_subscriber(), delete_contained_entities().
    QoS:
    DDS_DomainParticipantQos
    Status:
    Status Kinds
    Listener:
    DDS_DomainParticipantListener

Function Documentation

◆ DDS_DomainParticipantQos_initialize()

DDS_ReturnCode_t DDS_DomainParticipantQos_initialize ( struct DDS_DomainParticipantQos * self)

<<cert>> Initializer for new QoS instances.

DDS_DomainParticipantQos instances on heap should be initialized with this function before they are passed to any functions. This step ensures that those contained QoS policies that use dynamic memory are properly initialized. This function does not allocate memory.

Parameters
self<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes
See also
DDS_DomainParticipantQos_finalize

◆ DDS_DomainParticipantQos_copy()

DDS_ReturnCode_t DDS_DomainParticipantQos_copy ( struct DDS_DomainParticipantQos * self,
const struct DDS_DomainParticipantQos * source )

<<cert>> Copy the contents of the given QoS into this QoS. The destination structure must be preallocated and initialized.

DDS_DomainParticipantQos instances can use dynamic memory because of the sequences contained in some QoS policies. A shallow copy by assignment is therefore unsafe. This function performs a deep-copy, allocating memory as necessary.

Parameters
self<<in>> Cannot be NULL.
source<<in>> QoS to be copied from.
Returns
One of the Standard Return Codes
MT Safety:
UNSAFE. This operation is not thread safe. This operation does not protect the source or destination from being modified by another thread while the source is being copied to the destination.
API Restriction:
This function must only be called after DDS_DomainParticipantFactory_get_instance.
See also
DDS_DomainParticipantQos_INITIALIZER
DDS_DomainParticipantQos_initialize
DDS_DomainParticipantQos_finalize

◆ DDS_DomainParticipantQos_is_equal()

DDS_Boolean DDS_DomainParticipantQos_is_equal ( const struct DDS_DomainParticipantQos * left,
const struct DDS_DomainParticipantQos * right )

<<cert>> Compare two DDS_DomainParticipantQos policies for equality.

Parameters
left<<in>> The left side of the comparison.
right<<in>> The right side of the comparison.
Returns
DDS_BOOLEAN_TRUE if left is equal to right, otherwise DDS_BOOLEAN_FALSE.
MT Safety:
UNSAFE. This operation does not protect against the left or right side from being modified by another thread while the comparison is made.
See also
DDS_DomainParticipantQos_INITIALIZER
DDS_DomainParticipantQos_initialize

◆ DDS_DomainParticipantQos_finalize()

DDS_ReturnCode_t DDS_DomainParticipantQos_finalize ( struct DDS_DomainParticipantQos * self)

Free any dynamic memory allocated by the policies in this DDS_DomainParticipantQos.

Some QoS policies may use dynamic memory (regardless of whether the QoS itself is in dynamic memory). This function frees that memory but otherwise leaves this QoS unchanged. It should be called on all instances before they are freed (or, in the case of stack-based instances, before they go out of scope).

This function does not leave this object in an invalid state. It is permissible to finalize a QoS and then subsequently allocate new dynamic memory in one or more of its QoS policies.

Note that if this QoS instance is stored in heap memory, calling this function will not call free() on it; the user is responsible for explicitly freeing any heap-based QoS instance after calling this function.

Parameters
self<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes
API Restriction:
This function must only be called after DDS_DomainParticipantFactory_get_instance.
See also
DDS_DomainParticipantQos_INITIALIZER
DDS_DomainParticipantQos_initialize

◆ DDS_DomainParticipant_as_entity()

DDS_Entity * DDS_DomainParticipant_as_entity ( DDS_DomainParticipant * self)

<<cert>> Access a DDS_DomainParticipant's supertype instance.

Parameters
self<<in>> Cannot be NULL.
Returns
DDS_DomainParticipant's supertype DDS_Entity instance

◆ DDS_DomainParticipant_get_default_publisher_qos()

DDS_ReturnCode_t DDS_DomainParticipant_get_default_publisher_qos ( DDS_DomainParticipant * self,
struct DDS_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 else, if the call was never made, the default values listed in DDS_PublisherQos.

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

If DDS_PUBLISHER_QOS_DEFAULT is specified as the qos parameter when DDS_DomainParticipant_create_publisher 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.

Parameters
self<<in>> Cannot be NULL.
qos<<out>> Qos to be filled up. Cannot be NULL.
Returns
One of the Standard Return Codes
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_PUBLISHER_QOS_DEFAULT
DDS_DomainParticipant_create_publisher

◆ DDS_DomainParticipant_set_default_publisher_qos()

DDS_ReturnCode_t DDS_DomainParticipant_set_default_publisher_qos ( DDS_DomainParticipant * self,
const struct DDS_PublisherQos * qos )

Set the default DDS_PublisherQos values for this domain participant.

This default value will be used for newly created DDS_Publisher if DDS_PUBLISHER_QOS_DEFAULT is specified as the qos parameter when DDS_DomainParticipant_create_publisher is called.

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

Parameters
self<<in>> Cannot be NULL.
qos<<in>> Default qos to be set. The special value DDS_PUBLISHER_QOS_DEFAULT may be passed as qos to indicate that the default QoS should be reset back to the initial values the factory would have used if DDS_DomainParticipant_set_default_publisher_qos had never been called. Cannot be NULL.
Returns
One of the Standard Return Codes, or DDS_RETCODE_INCONSISTENT_POLICY
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_PUBLISHER_QOS_DEFAULT
DDS_DomainParticipant_create_publisher

◆ DDS_DomainParticipant_get_default_subscriber_qos()

DDS_ReturnCode_t DDS_DomainParticipant_get_default_subscriber_qos ( DDS_DomainParticipant * self,
struct DDS_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 else, if the call was never made, the default values listed in DDS_SubscriberQos.

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

If DDS_SUBSCRIBER_QOS_DEFAULT is specified as the qos parameter when DDS_DomainParticipant_create_subscriber is called, the default value of the QoS set in the factory, equivalent to the value obtained by calling DDS_DomainParticipant_get_default_subscriber_qos, will be used to create the DDS_Subscriber.

Parameters
self<<in>> Cannot be NULL.
qos<<out>> Qos to be filled up. Cannot be NULL.
Returns
One of the Standard Return Codes
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_SUBSCRIBER_QOS_DEFAULT
DDS_DomainParticipant_create_subscriber

◆ DDS_DomainParticipant_set_default_subscriber_qos()

DDS_ReturnCode_t DDS_DomainParticipant_set_default_subscriber_qos ( DDS_DomainParticipant * self,
const struct DDS_SubscriberQos * qos )

Set the default DDS_SubscriberQos values for this domain participant.

This default value will be used for newly created DDS_Subscriber if DDS_SUBSCRIBER_QOS_DEFAULT is specified as the qos parameter when DDS_DomainParticipant_create_subscriber is called.

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

Parameters
self<<in>> Cannot be NULL.
qos<<in>> Default qos to be set. The special value DDS_SUBSCRIBER_QOS_DEFAULT may be passed as qos to indicate that the default QoS should be reset back to the initial values the factory would have used if DDS_DomainParticipant_set_default_subscriber_qos had never been called. Cannot be NULL.
Returns
One of the Standard Return Codes, or DDS_RETCODE_INCONSISTENT_POLICY
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_SUBSCRIBER_QOS_DEFAULT
DDS_DomainParticipant_create_subscriber

◆ DDS_DomainParticipant_get_default_topic_qos()

DDS_ReturnCode_t DDS_DomainParticipant_get_default_topic_qos ( DDS_DomainParticipant * self,
struct DDS_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 else, if the call was never made, the default values listed in DDS_TopicQos.

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

Parameters
self<<in>> Cannot be NULL.
qos<<out>> Default qos to be retrieved. Cannot be NULL.
Returns
One of the Standard Return Codes
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_TOPIC_QOS_DEFAULT
DDS_DomainParticipant_create_topic

◆ DDS_DomainParticipant_set_default_topic_qos()

DDS_ReturnCode_t DDS_DomainParticipant_set_default_topic_qos ( DDS_DomainParticipant * self,
const struct DDS_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_TOPIC_QOS_DEFAULT is specified as the qos parameter when DDS_DomainParticipant_create_topic is called.

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

Parameters
self<<in>> Cannot be NULL.
qos<<in>> Default qos to be set. The special value DDS_TOPIC_QOS_DEFAULT may be passed as qos to indicate that the default QoS should be reset back to the initial values the factory would have used if DDS_DomainParticipant_set_default_topic_qos had never been called. Cannot be NULL.
Returns
One of the Standard Return Codes, or DDS_RETCODE_INCONSISTENT_POLICY
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_TOPIC_QOS_DEFAULT
DDS_DomainParticipant_create_topic

◆ DDS_DomainParticipant_create_publisher()

DDS_Publisher * DDS_DomainParticipant_create_publisher ( DDS_DomainParticipant * self,
const struct DDS_PublisherQos * qos,
const struct DDS_PublisherListener * listener,
DDS_StatusMask mask )

<<cert>> Creates a DDS_Publisher with the desired QoS policies and attaches to it the specified DDS_PublisherListener.

The specified QoS policies must be consistent, or the operation will fail and no DDS_Publisher will be created.

Precondition
if listener is specified, a listener callback must be provided for each status enabled in the mask.
Parameters
self<<in>> Cannot be NULL.
qos<<in>> QoS to be used for creating the new DDS_Publisher. The special value DDS_PUBLISHER_QOS_DEFAULT can be used to indicate that the DDS_Publisher should be created with the default DDS_PublisherQos set in the DDS_DomainParticipant. Cannot be NULL.
listener<<in>> Listener to be attached to the newly created DDS_Publisher.
mask<<in>> Changes of communication status to be invoked on the listener.
Returns
newly created publisher object or NULL on failure.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
ARINC 653 API Restriction:
This function must only be called before a partition enters NORMAL mode.
See also
Specifying QoS on entities for information on setting QoS before entity creation
DDS_PublisherQos for rules on consistency among QoS
DDS_PUBLISHER_QOS_DEFAULT

◆ DDS_DomainParticipant_delete_publisher()

DDS_ReturnCode_t DDS_DomainParticipant_delete_publisher ( DDS_DomainParticipant * self,
DDS_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_PRECONDITION_NOT_MET.
DDS_Publisher must have been created by this DDS_DomainParticipant, or else it will fail with DDS_RETCODE_PRECONDITION_NOT_MET.
Postcondition
Listener installed on the DDS_Publisher will not be called after this function completes successfully.
Parameters
self<<in>> Cannot be NULL.
p<<in>> DDS_Publisher to be deleted.
Returns
One of the Standard Return Codes, or DDS_RETCODE_PRECONDITION_NOT_MET.

◆ DDS_DomainParticipant_create_subscriber()

DDS_Subscriber * DDS_DomainParticipant_create_subscriber ( DDS_DomainParticipant * self,
const struct DDS_SubscriberQos * qos,
const struct DDS_SubscriberListener * listener,
DDS_StatusMask mask )

<<cert>> Creates a DDS_Subscriber with the desired QoS policies and attaches to it the specified DDS_SubscriberListener.

The specified QoS policies must be consistent, or the operation will fail and no DDS_Subscriber will be created.

Precondition
if listener is specified, a listener callback must be provided for each status enabled in the mask.
Parameters
self<<in>> Cannot be NULL.
qos<<in>> QoS to be used for creating the new DDS_Subscriber. The special value DDS_SUBSCRIBER_QOS_DEFAULT can be used to indicate that the DDS_Subscriber should be created with the default DDS_SubscriberQos set in the DDS_DomainParticipant. Cannot be NULL.
listener<<in>> Listener to be attached to the newly created DDS_Subscriber.
mask<<in>> Changes of communication status to be invoked on the listener.
Returns
newly created subscriber object or NULL on failure.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
ARINC 653 API Restriction:
This function must only be called before a partition enters NORMAL mode.
See also
Specifying QoS on entities for information on setting QoS before entity creation
DDS_SubscriberQos for rules on consistency among QoS
DDS_SUBSCRIBER_QOS_DEFAULT

◆ DDS_DomainParticipant_delete_subscriber()

DDS_ReturnCode_t DDS_DomainParticipant_delete_subscriber ( DDS_DomainParticipant * self,
DDS_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_PRECONDITION_NOT_MET
The DDS_Subscriber must have been created by this DDS_DomainParticipant, or else it will fail with DDS_RETCODE_PRECONDITION_NOT_MET.
Postcondition
A Listener installed on the DDS_Subscriber will not be called after this function completes successfully.
Parameters
self<<in>> Cannot be NULL.
s<<in>> DDS_Subscriber to be deleted.
Returns
One of the Standard Return Codes, or DDS_RETCODE_PRECONDITION_NOT_MET.

◆ DDS_DomainParticipant_create_topic()

DDS_Topic * DDS_DomainParticipant_create_topic ( DDS_DomainParticipant * self,
const char * topic_name,
const char * type_name,
const struct DDS_TopicQos * qos,
const struct DDS_TopicListener * listener,
DDS_StatusMask mask )

<<cert>> Creates a DDS_Topic with the desired QoS policies

The specified QoS policies must be consistent, or the operation will fail and no DDS_Topic will be created.

Precondition
The application is not allowed to create two DDS_TopicDescription objects with the same topic_name attached to the same DDS_DomainParticipant. If the application attempts this, this function will fail and return NULL.
Prior to creating a DDS_Topic, the type must have been registered with RTI Connext DDS Micro. This is done using the DDS_DomainParticipant_register_type operation on a derived class of the ::DDS_TypePluginI interface.
Parameters
self<<in>> Cannot be NULL.
topic_name<<in>> Name for the new topic, must not exceed 255 characters. Cannot be NULL.
type_name<<in>> The type to which the new DDS_Topic will be bound. Cannot be NULL.
qos<<in>> QoS to be used for creating the new DDS_Topic. The special value DDS_TOPIC_QOS_DEFAULT can be used to indicate that the DDS_Topic should be created with the default DDS_TopicQos set in the DDS_DomainParticipant. Cannot be NULL.
listener<<in>> Listener to be attached to the newly created DDS_Topic.
mask<<in>> Changes of communication status to be invoked on the listener.
Returns
newly created topic, or NULL on failure
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
ARINC 653 API Restriction:
This function must only be called before a partition enters NORMAL mode.
See also
Specifying QoS on entities for information on setting QoS before entity creation
DDS_TopicQos for rules on consistency among QoS
DDS_TOPIC_QOS_DEFAULT

◆ DDS_DomainParticipant_delete_topic()

DDS_ReturnCode_t DDS_DomainParticipant_delete_topic ( DDS_DomainParticipant * self,
DDS_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_PRECONDITION_NOT_MET.
Make sure no objects are using the topic. More specifically, there must be no existing DDS_DataReader, or DDS_DataWriter, objects belonging to the same DDS_DomainParticipant that are using the DDS_Topic. If delete_topic is called on a DDS_Topic with any of these existing objects attached to it, it will fail with DDS_RETCODE_PRECONDITION_NOT_MET.
Postcondition
Listener installed on the DDS_Topic will not be called after this function completes successfully.
Parameters
self<<in>> Cannot be NULL.
topic<<in>> DDS_Topic to be deleted.
Returns
One of the Standard Return Codes, or DDS_RETCODE_PRECONDITION_NOT_MET

◆ DDS_DomainParticipant_find_topic()

DDS_Topic * DDS_DomainParticipant_find_topic ( DDS_DomainParticipant * self,
const char * topic_name,
const struct DDS_Duration_t * timeout )

Finds an existing (or ready to exist) DDS_Topic, based on its name.

If a DDS_Topic of the same name already exists, it gives access to it. RTI Connext DDS Micro does not support waiting for a topic to be created. This operation will fail unless the timeout is DDS_DURATION_ZERO.

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
self<<in>> Cannot be NULL.
topic_name<<in>> Name of the DDS_Topic to search for. Cannot be NULL.
timeout<<in>> The time to wait if the DDS_Topic doesn't exist already. Cannot be NULL.
Returns
the topic, if it exists, or NULL

◆ DDS_DomainParticipant_register_contentfilter()

DDS_ReturnCode_t DDS_DomainParticipant_register_contentfilter ( DDS_DomainParticipant * self,
const char * filter_class_name,
const struct DDS_ContentFilterI * filter_intf,
const void * filter_property )

<<eXtension>> Register a custom content filter class with the DDS_DomainParticipant.

Register a custom content filter implementation with the DDS_DomainParticipant, so that it can be used by its child DDS_DataReader and DDS_DataWriter entities.

The content filtering feature must be enabled on the DDS_DomainParticipant (see DDS_FilterQosPolicy) or this function will return DDS_RETCODE_PRECONDITION_NOT_MET.

The filter_class_name must not exceed the length configured by DDS_FilterResourceLimits::filter_class_max_length.

Parameters
self<<in>> Cannot be NULL.
filter_class_name<<in>> The name of the content filter class. This name is used to match the filter class specified in DDS_ContentFilterQosPolicy::filter_class_name. Cannot be NULL.
filter_intf<<in>> The content filter interface providing the filter implementation callbacks. Cannot be NULL. See DDS_ContentFilterI.
filter_property<<in>> Optional filter-specific property passed to the filter's DDS_ContentFilterI::create_instance callback. May be NULL.
Returns
One of the Standard Return Codes, DDS_RETCODE_PRECONDITION_NOT_MET or DDS_RETCODE_OUT_OF_RESOURCES.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_ContentFilterI
DDS_FilterQosPolicy
DDS_SQL_CONTENT_FILTER_CLASS
DDS_DomainParticipant_unregister_contentfilter

◆ DDS_DomainParticipant_unregister_contentfilter()

DDS_ReturnCode_t DDS_DomainParticipant_unregister_contentfilter ( DDS_DomainParticipant * self,
const char * filter_class_name )

<<eXtension>> Unregister a custom content filter class from the DDS_DomainParticipant.

Unregister a previously registered content filter class from the DDS_DomainParticipant.

It is not necessary to unregister a filter before finalizing the DDS_DomainParticipant. All registered filters are automatically unregistered when the DDS_DomainParticipant is finalized. This operation is only required if a filter class name needs to be reused.

The content filtering feature must be enabled on the DDS_DomainParticipant (see DDS_FilterQosPolicy) or this function will return DDS_RETCODE_PRECONDITION_NOT_MET.

Precondition
The filter class identified by filter_class_name must have been previously registered with DDS_DomainParticipant_register_contentfilter. The filter class must not be in use by any active DDS_DataReader or DDS_DataWriter.
Parameters
self<<in>> Cannot be NULL.
filter_class_name<<in>> The name of the content filter class to unregister. Must match the name used during registration. Cannot be NULL.
Returns
One of the Standard Return Codes, DDS_RETCODE_PRECONDITION_NOT_MET or DDS_RETCODE_ERROR.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_DomainParticipant_register_contentfilter

◆ DDS_DomainParticipant_lookup_topicdescription()

DDS_TopicDescription * DDS_DomainParticipant_lookup_topicdescription ( DDS_DomainParticipant * self,
const char * topic_name )

<<cert>> Lookup an existing locally-created DDS_TopicDescription, based on its name.

The returned topic can either be enabled or disabled.

The operation DDS_DomainParticipant_lookup_topicdescription searches among the locally created topics and returns a pointer to a DDS_TopicDescription. It is possible to delete the DDS_TopicDescription returned by DDS_DomainParticipant_lookup_topicdescription, provided it has no readers or writers, but then it is really deleted and subsequent lookups will fail.

Parameters
self<<in>> Cannot be NULL.
topic_name<<in>> Name of DDS_TopicDescription to search for. This string must be no more than 255 characters. Cannot be NULL.
Returns
the topic description if it has already been created locally, or NULL otherwise.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.

◆ DDS_DomainParticipant_lookup_publisher_by_name()

DDS_Publisher * DDS_DomainParticipant_lookup_publisher_by_name ( DDS_DomainParticipant * self,
const char * publisher_name )

<<cert>> Retrieves a DDS_Publisher by its entity name within this DDS_DomainParticipant

This returned DDS_Publisher is either enabled or disabled.

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
self<<in>> Cannot be NULL.
publisher_name<<in>> Entity name of the DDS_Publisher. Cannot be NULL.
Returns
The first DDS_Publisher found with the specified name or NULL if it is not found.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.

◆ DDS_DomainParticipant_lookup_subscriber_by_name()

DDS_Subscriber * DDS_DomainParticipant_lookup_subscriber_by_name ( DDS_DomainParticipant * self,
const char * subscriber_name )

<<cert>> Retrieves a DDS_Subscriber by its entity name within this DDS_DomainParticipant

This returned DDS_Subscriber is either enabled or disabled.

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
self<<in>> Cannot be NULL.
subscriber_name<<in>> Entity name of the DDS_Subscriber. Cannot be NULL.
Returns
The first DDS_Subscriber found with the specified name or NULL if it is not found.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.

◆ DDS_DomainParticipant_lookup_datawriter_by_name()

DDS_DataWriter * DDS_DomainParticipant_lookup_datawriter_by_name ( DDS_DomainParticipant * self,
const char * datawriter_full_name )

<<cert>> Retrieves a DDS_DataWriter by its entity name within this DDS_DomainParticipant

This returned DDS_DataWriter is either enabled or disabled.

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

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

Parameters
self<<in>> Cannot be NULL.
datawriter_full_name<<in>> Entity name of the DDS_DataWriter. Cannot be NULL.
Returns
The first DDS_DataWriter found with the specified name or NULL if it is not found.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.

◆ DDS_DomainParticipant_lookup_datareader_by_name()

DDS_DataReader * DDS_DomainParticipant_lookup_datareader_by_name ( DDS_DomainParticipant * self,
const char * datareader_full_name )

<<cert>> Retrieves a DDS_DataReader by its entity name within this DDS_DomainParticipant

This returned DDS_DataReader is either enabled or disabled.

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

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

Parameters
self<<in>> Cannot be NULL.
datareader_full_name<<in>> Entity name of the DDS_DataReader. Cannot be NULL.
Returns
The first DDS_DataReader found with the specified name or NULL if it is not found.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.

◆ DDS_DomainParticipant_add_peer()

DDS_ReturnCode_t DDS_DomainParticipant_add_peer ( DDS_DomainParticipant * self,
const char * peer )

<<eXtension>> <<cert>> 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 function may be called at any time after this DDS_DomainParticipant has been created, before or after it has been enabled. If it is called after DDS_Entity_enable, an attempt will be made to contact the new peer(s) immediately. If it is called before, 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 function 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. Such a situation will not result in an error result from this function, which will not wait for contact attempt(s) to be made.
  • If remote participants such as are described by the given peer description are discovered, the distributed application is configured with asymmetric peer lists, and DDS_DiscoveryQosPolicy::accept_unknown_peers is set to DDS_BOOLEAN_TRUE this DDS_DomainParticipant may actually discover more peers than are described in the given peer description.

Adding a peer description with this function has no effect on DDS_DiscoveryQosPolicy::initial_peers.

Parameters
self<<in>> Cannot be NULL.
peer<<in>> New peer descriptor to be added. Cannot be NULL.
Returns
One of the Standard Return Codes
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_DiscoveryQosPolicy::initial_peers

◆ DDS_DomainParticipant_announce()

DDS_ReturnCode_t DDS_DomainParticipant_announce ( DDS_DomainParticipant * self)

<<cert>> <<eXtension>> Send a participant announcement for the local participant to the current peers.

Immediately send a participant announcement to each peer in the DDS_DiscoveryQosPolicy::initial_peers list and to all currently discovered participants.

Calling this function does not affect the contents of DDS_DiscoveryQosPolicy::initial_peers, nor does it alter the timing of scheduled participant announcements.

Parameters
self<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_DiscoveryQosPolicy::initial_peers

◆ DDS_DomainParticipant_remove_discovered_participants()

DDS_ReturnCode_t DDS_DomainParticipant_remove_discovered_participants ( DDS_DomainParticipant * self)

<<cert>> <<eXtension>> Remove all currently discovered remote participants from the discovery database.

This function unmatches all local endpoints from all discovered participants endpoints.

When the DPDE plugin is used, the remote participant discovery information is deleted.

When the DPSE plugin is used, the remote participant discovery information is reset. Thus, it is not necessary to assert the remote participant again using DPSE_RemoteParticipant_assert.

Rediscovery of remote participants will resume based on the discovery properties. However, discovery can also be triggered manually. Please refer to DDS_DomainParticipant_announce for details about manually initiating discovery of remote participants using the initial peer list.

Note that if this function fails, it is possible that 0 or more participants may have already been removed at the point of failure. In this case, the removed participants are not restored.

Though not strictly required, calls to this function are typically followed by calls to DDS_DomainParticipant_announce to trigger re-discovery of the remote participants.

Parameters
self<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_DomainParticipant_announce
DDS_DomainParticipant_get_discovered_participants

◆ DDS_DomainParticipant_get_domain_id()

DDS_DomainId_t DDS_DomainParticipant_get_domain_id ( DDS_DomainParticipant * self)

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

Parameters
self<<in>> Cannot be NULL.
Returns
the unique domainId that was used to create the domain
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_DomainParticipantFactory_create_participant

◆ DDS_DomainParticipant_assert_liveliness()

DDS_ReturnCode_t DDS_DomainParticipant_assert_liveliness ( DDS_DomainParticipant * self)

<<cert>> Manually asserts the liveliness of this DDS_DomainParticipant.

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

You need to use this operation if the DDS_DomainParticipant contains DDS_DataWriter entities with the DDS_LivelinessQosPolicy::kind set to DDS_MANUAL_BY_PARTICIPANT_LIVELINESS_QOS and it only affects the liveliness of those DDS_DataWriter entities. Otherwise, it has no effect.

Note: writing data via the FooDataWriter_write or FooDataWriter_write_w_timestamp operation asserts liveliness on the DDS_DataWriter itself and its DDS_DomainParticipant. Consequently the use of assert_liveliness() is only needed if the application is not writing data regularly.

Parameters
self<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes, or DDS_RETCODE_NOT_ENABLED
See also
DDS_LivelinessQosPolicy

◆ DDS_DomainParticipant_delete_contained_entities()

DDS_ReturnCode_t DDS_DomainParticipant_delete_contained_entities ( DDS_DomainParticipant * self)

Delete all the entities that were created by means of the "create" operations on the DDS_DomainParticipant.

This operation deletes all contained DDS_Publisher, DDS_Subscriber, and DDS_Topic.

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, and DDS_DataReader.

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

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

Parameters
self<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes, or DDS_RETCODE_PRECONDITION_NOT_MET.

◆ DDS_DomainParticipant_get_current_time()

DDS_ReturnCode_t DDS_DomainParticipant_get_current_time ( DDS_DomainParticipant * self,
struct DDS_Time_t * current_time )

<<cert>> Returns the current value of the time.

The current value of the time that RTI Connext DDS Micro uses to time-stamp DDS_DataWriter and to set the reception-timestamp for the data updates that it receives. Note that the definition of the current time is dependent on the platform and may not be the actual wall-clock time. Additional information for specific platforms can be found in the User's Manual.

Parameters
self<<in>> Cannot be NULL.
current_time<<out>> Current time to be filled up. Cannot be NULL.
Returns
One of the Standard Return Codes
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.

◆ DDS_DomainParticipant_get_discovered_participants()

DDS_ReturnCode_t DDS_DomainParticipant_get_discovered_participants ( DDS_DomainParticipant * self,
struct DDS_InstanceHandleSeq * participant_handles )

Returns a sequence containing DDS_InstanceHandle_t for all the remote DDS_DomainParticipant that have been discovered by the DDS_DomainParticipant.

Parameters
self<<in>> Cannot be NULL.
participant_handles<<out>> sequence of DDS_InstanceHandle_t where the result will be stored.
Returns
One of the Standard Return Codes

◆ DDS_DomainParticipant_get_discovered_participant_data()

DDS_ReturnCode_t DDS_DomainParticipant_get_discovered_participant_data ( DDS_DomainParticipant * self,
struct DDS_ParticipantBuiltinTopicData * participant_data,
const DDS_InstanceHandle_t * participant_handle )

Returns information about a remote DDS_DomainParticipant that has been discovered by the DDS_DomainParticipant.

Parameters
self<<in>> Cannot be NULL.
participant_data<<out>> information about the remote DDS_DomainParticipant.
participant_handle<<in>> DDS_InstanceHandle_t identifying the remote DDS_DomainParticipant.
Returns
One of the Standard Return Codes

◆ DDS_DomainParticipant_set_qos()

DDS_ReturnCode_t DDS_DomainParticipant_set_qos ( DDS_DomainParticipant * self,
const struct DDS_DomainParticipantQos * qos )

Change the QoS of this domain participant.

The DDS_DomainParticipantQos::entity_factory can be changed. The other policies are immutable.

Parameters
self<<in>> Cannot be NULL.
qos<<in>> Set of policies to be applied to DDS_DomainParticipant. Policies must be consistent. Immutable policies cannot be changed after DDS_DomainParticipant is enabled. The special value DDS_PARTICIPANT_QOS_DEFAULT can be used to indicate that the QoS of the DDS_DomainParticipant should be changed to match the current default DDS_DomainParticipantQos set in the DDS_DomainParticipantFactory. Cannot be NULL.
Returns
One of the Standard Return Codes, DDS_RETCODE_IMMUTABLE_POLICY if immutable policy is changed, or DDS_RETCODE_INCONSISTENT_POLICY if policies are inconsistent
See also
DDS_DomainParticipantQos for rules on consistency among QoS
set_qos (abstract)

◆ DDS_DomainParticipant_get_qos()

DDS_ReturnCode_t DDS_DomainParticipant_get_qos ( DDS_DomainParticipant * self,
struct DDS_DomainParticipantQos * qos )

Get the participant QoS.

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

Parameters
self<<in>> Cannot be NULL.
qos<<inout>> QoS to be filled up. Cannot be NULL.
Returns
One of the Standard Return Codes
See also
get_qos (abstract)

◆ DDS_DomainParticipant_set_listener()

DDS_ReturnCode_t DDS_DomainParticipant_set_listener ( DDS_DomainParticipant * self,
const struct DDS_DomainParticipantListener * listener,
DDS_StatusMask mask )

Sets the participant listener.

Parameters
self<<in>> Cannot be NULL.
listener<<in>> Listener to be installed on entity.
mask<<in>> Changes of communication status to be invoked on the listener. The callback function on the listener cannot be NULL if the corresponding status is turned on in the mask.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
Returns
One of the Standard Return Codes
See also
set_listener (abstract)

◆ DDS_DomainParticipant_get_listener()

struct DDS_DomainParticipantListener DDS_DomainParticipant_get_listener ( DDS_DomainParticipant * self)

Get the participant listener.

Parameters
self<<in>> Cannot be NULL.
Returns
Existing listener attached to the DDS_DomainParticipant.

References DDS_DomainParticipant_get_listener().

Referenced by DDS_DomainParticipant_get_listener().

◆ DDS_DomainParticipant_register_type()

DDS_ReturnCode_t DDS_DomainParticipant_register_type ( DDS_DomainParticipant * self,
const char * type_name,
struct DDS_TypePluginI * plugin )

<<cert>> <<eXtension>> Allows an application to communicate to RTI Connext DDS Micro the existence of a data type.

The generated implementation of the operation embeds all the knowledge that has to be communicated to the middleware in order to make it able to manage the contents of data of that type. This includes in particular the key definition that will allow RTI Connext DDS Micro to distinguish different instances of the same type.

The same ::DDS_TypePluginI can be registered multiple times with a DDS_DomainParticipant using the same or different values for the type_name. If register_type is called multiple times on the same ::DDS_TypePluginI with the same DDS_DomainParticipant and type_name, the second (and subsequent) registrations are ignored and the operation succeeds with DDS_RETCODE_OK.

Precondition
Cannot use the same type_name to register two different ::DDS_TypePluginI with the same DDS_DomainParticipant, or else the operation will fail and DDS_RETCODE_PRECONDITION_NOT_MET will be returned.
Parameters
self<<in>> Cannot be NULL.
type_name<<in>> the type name under which the data type Foo is registered with the participant; this type name is used when creating a new DDS_Topic. (See DDS_DomainParticipant_create_topic.) The name may not be longer than 255 characters. If name is NULL, the typename specified in IDL is used.
plugin<<in>> the Foo type plugin to register the data type with. Cannot be NULL.
Returns
One of the Standard Return Codes, DDS_RETCODE_PRECONDITION_NOT_MET or DDS_RETCODE_OUT_OF_RESOURCES.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_DomainParticipant_create_topic

◆ DDS_DomainParticipant_unregister_type()

struct DDS_TypePluginI * DDS_DomainParticipant_unregister_type ( DDS_DomainParticipant * self,
const char * type_name )

Allows an application to unregister a data type from RTI Connext DDS Micro. After calling unregister_type, no further communication using that type is possible.

The generated implementation of the operation removes all the information about a type from RTI Connext DDS Micro. No further communication using that type is possible.

Precondition
A type with type_name is registered with the participant and all DDS_Topic objects referencing the type have been destroyed. If the type is not registered with the participant, or if any DDS_Topic is associated with the type, the operation will fail with DDS_RETCODE_ERROR.
Postcondition
All information about the type is removed from RTI Connext DDS Micro. No further communication using this type is possible.
Parameters
self<<in>> Cannot be NULL.
type_name<<in>> the type name under which the data type Foo is registered with the participant. The name should match a name that has been previously used to register a type with the participant. Cannot be NULL.
Returns
The previously registered type plugin on success, or NULL on failure.
MT Safety:
This operation is thread safe. However, note that the arguments are not protected from being modified by other threads and must not be modified until the call returns.
See also
DDS_DomainParticipant_register_type

References DDS_PARTICIPANT_QOS_DEFAULT.

◆ DDS_DomainParticipant_get_default_flowcontroller_property()

DDS_ReturnCode_t DDS_DomainParticipant_get_default_flowcontroller_property ( DDS_DomainParticipant * self,
struct DDS_FlowControllerProperty_t * prop )

<<cert>> <<eXtension>> Copies the default DDS_FlowControllerProperty_t values for this domain participant into the given DDS_FlowControllerProperty_t instance.

The retrieved prop 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
self<<in>> Cannot be NULL.
prop<<out>> Default property to be retrieved. Cannot be NULL.
Returns
One of the Standard Return Codes
See also
DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT
DDS_DomainParticipant_create_flowcontroller

◆ DDS_DomainParticipant_set_default_flowcontroller_property()

DDS_ReturnCode_t DDS_DomainParticipant_set_default_flowcontroller_property ( DDS_DomainParticipant * self,
const struct DDS_FlowControllerProperty_t * prop )

<<cert>> <<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_FLOW_CONTROLLER_PROPERTY_DEFAULT is specified as the prop parameter when DDS_DomainParticipant_create_flowcontroller is called.

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

MT Safety:
UNSAFE. It is not safe to set the default flow controller properties for a DomainParticipant while another thread may be simultaneously calling DDS_DomainParticipant_set_default_flowcontroller_property , DDS_DomainParticipant_get_default_flowcontroller_property or calling DDS_DomainParticipant_create_flowcontroller with DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT as the prop parameter.
Parameters
self<<in>> Cannot be NULL.
prop<<in>> Default property to be set. The special value DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT may be passed as prop 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.
Returns
One of the Standard Return Codes, or DDS_RETCODE_INCONSISTENT_POLICY
See also
DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT
DDS_DomainParticipant_create_flowcontroller

References DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT.

◆ DDS_DomainParticipant_create_flowcontroller()

DDS_FlowController * DDS_DomainParticipant_create_flowcontroller ( DDS_DomainParticipant * self,
const char * name,
const struct DDS_FlowControllerProperty_t * prop )

<<cert>> <<eXtension>> Creates a DDS_FlowController with the desired property.

MT Safety:
UNSAFE. If DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT is used for prop, 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
self<<in>> Cannot be NULL.
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_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_FLOW_CONTROLLER_PROPERTY_DEFAULT
DDS_DomainParticipant_get_default_flowcontroller_property

The created DDS_FlowController is associated with a DDS_DataWriter via DDS_PublishModeQosPolicy::flow_controller_name. A single FlowController may service multiple DDS_DataWriter instances, even if they belong to a different DDS_Publisher. The prop determines how the FlowController shapes the network traffic.

The specified prop must be consistent, or the operation will fail and no DDS_FlowController will be created.

◆ DDS_DomainParticipant_delete_flowcontroller()

DDS_ReturnCode_t DDS_DomainParticipant_delete_flowcontroller ( DDS_DomainParticipant * self,
DDS_FlowController * fc )

<<cert>> <<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_PRECONDITION_NOT_MET.
The DDS_FlowController must have been created by this DDS_DomainParticipant, or else it will fail with DDS_RETCODE_PRECONDITION_NOT_MET.
Postcondition
The DDS_FlowController is deleted if this function 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
self<<in>> Cannot be NULL.
fc<<in>> The DDS_FlowController to be deleted.
Returns
One of the Standard Return Codes, or DDS_RETCODE_PRECONDITION_NOT_MET.

◆ DDS_DomainParticipant_lookup_flowcontroller()

DDS_FlowController * DDS_DomainParticipant_lookup_flowcontroller ( DDS_DomainParticipant * self,
const char * name )

<<cert>> <<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
self<<in>> Cannot be NULL.
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.

◆ DDSC_Library_get_version()

const char * DDSC_Library_get_version ( void )

Returns the version string for the DDS C library.

Variable Documentation

◆ DDS_TOPIC_QOS_DEFAULT

const struct DDS_TopicQos DDS_TOPIC_QOS_DEFAULT
extern

<<cert>> Special value for creating a DDS_Topic with default QoS. Note that this is the only supported parameter in RTI Connext DDS Micro when creating a topic.

When used in DDS_DomainParticipant_create_topic, this special value indicates that the DDS_Topic should be created with the default DDS_Topic QoS.

NOTE: You cannot use this value to get the default QoS for a Topic; for this purpose, use DDS_DomainParticipant_get_default_topic_qos.

See also
DDS_DomainParticipant_create_topic

◆ DDS_PUBLISHER_QOS_DEFAULT

const struct DDS_PublisherQos DDS_PUBLISHER_QOS_DEFAULT
extern

<<cert>> Special value for creating a DDS_Publisher with default QoS.

When used in DDS_DomainParticipant_create_publisher, this special value is used to indicate that the DDS_Publisher should be created with the default DDS_Publisher QoS.

NOTE: You cannot use this value to get the default QoS for a Publisher; for this purpose, use DDS_DomainParticipant_get_default_publisher_qos.

See also
DDS_DomainParticipant_create_publisher

◆ DDS_SUBSCRIBER_QOS_DEFAULT

const struct DDS_SubscriberQos DDS_SUBSCRIBER_QOS_DEFAULT
extern

<<cert>> Special value for creating a DDS_Subscriber with default QoS.

When used in DDS_DomainParticipant_create_subscriber, this special value is used to indicate that the DDS_Subscriber should be created with the default DDS_Subscriber QoS.

NOTE: You cannot use this value to get the default QoS for a Subscriber; for this purpose, use DDS_DomainParticipant_get_default_subscriber_qos.

See also
DDS_DomainParticipant_create_subscriber

◆ DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT

const struct DDS_FlowControllerProperty_t DDS_FLOW_CONTROLLER_PROPERTY_DEFAULT
extern

<<cert>> <<eXtension>> Special value for creating a DDS_FlowController with default property.

When used in DDS_DomainParticipant_create_flowcontroller, this special value is used to indicate that the DDS_FlowController should be created with the default DDS_FlowController property by means of the operation get_default_flowcontroller_property and using the resulting QoS to create the DDS_FlowControllerProperty_t.

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

See also
DDS_DomainParticipant_create_flowcontroller
DDS_DomainParticipant_set_default_flowcontroller_property
DDS_FlowController_set_property

Referenced by DDS_DomainParticipant_set_default_flowcontroller_property().