RTI Connext Cert C API
Version 2.4.15
|
DDS_DomainParticipantFactory entity and associated elements More...
Data Structures | |
struct | DDS_DomainParticipantFactoryQos |
<<cert>> QoS policies supported by a DDS_DomainParticipantFactory. More... |
Macros | |
#define | DDS_DomainParticipantFactoryQos_INITIALIZER |
<<cert>> Initializer for new QoS instances. | |
#define | DDS_TheParticipantFactory DDS_DomainParticipantFactory_get_instance() |
<<cert>> Alias for singleton participant factory. |
Typedefs | |
typedef struct DDS_DomainParticipantFactoryImpl | DDS_DomainParticipantFactory |
<<singleton>> <<interface>> <<cert>> Allows creation and destruction of DDS_DomainParticipant objects. |
Variables | |
struct DDS_DomainParticipantFactoryQos | DDS_PARTICIPANT_FACTORY_QOS_DEFAULT |
<<cert>> Special value for creating domain participant with default QoS. | |
struct DDS_DomainParticipantQos | DDS_PARTICIPANT_QOS_DEFAULT |
<<cert>> Special value for creating domain participant with default QoS. |
DDS_DomainParticipantFactory entity and associated elements
#define DDS_DomainParticipantFactoryQos_INITIALIZER |
<<cert>> Initializer for new QoS instances.
DDS_DomainParticipantFactoryQos instances stored on the stack should be initialized with this value before they are passed to any function. This step ensures that those contained QoS policies that use dynamic memory are properly initialized. This 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_TheParticipantFactory DDS_DomainParticipantFactory_get_instance() |
<<cert>> Alias for singleton participant factory.
typedef struct DDS_DomainParticipantFactoryImpl DDS_DomainParticipantFactory |
<<singleton>> <<interface>> <<cert>> Allows creation and destruction of DDS_DomainParticipant objects.
The sole purpose of this class is to allow the creation and destruction of DDS_DomainParticipant objects. This class itself is a <<singleton>>, and accessed via the get_instance() function, and destroyed with finalize_instance() function.
A single application can participate in multiple domains by instantiating multiple DDS_DomainParticipant objects.
An application may even instantiate multiple participants in the same domain. Participants in the same domain exchange data in the same way regardless of whether they are in the same application or different applications or on the same node or different nodes; their location is transparent.
There are two important caveats:
With multiple participants in the same domain on the same node (in the same application or different applications), each participant must be assigned its own receive ports. The receive ports are calculated based on the domain ID and the participant index set in the DDS_WireProtocolQosPolicy. The default index (-1) causes the participant to automatically search for the next available index, starting at 0, when it is created. If an index larger or equal to 0 is assigned then only that value will be used. If another participant with the same index already exists the participant creation will fail.
NOTE: An exception to this rule is multicast ports. Multicast ports are shared between between participants in the same domain on the same host). Thus, the index value is ignored.
DDS_ReturnCode_t DDS_DomainParticipantFactoryQos_initialize | ( | struct DDS_DomainParticipantFactoryQos * | self | ) |
<<cert>> Initializer for new QoS instances.
self | <<in>> Cannot be NULL. |
DDS_ReturnCode_t DDS_DomainParticipantFactoryQos_copy | ( | struct DDS_DomainParticipantFactoryQos * | self, |
const struct DDS_DomainParticipantFactoryQos * | source | ||
) |
<<cert>> Copy the contents of the given QoS into this QoS. The destination structure must be preallocated and initialized.
DDS_DomainParticipantFactoryQos 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 if necessary.
DDS_Boolean DDS_DomainParticipantFactoryQos_is_equal | ( | const struct DDS_DomainParticipantFactoryQos * | left, |
const struct DDS_DomainParticipantFactoryQos * | right | ||
) |
<<cert>> Compare two DDS_DomainParticipantFactoryQos policies for equality.
[in] | left | The left side of the comparison. |
[in] | right | The right side of the comparison. |
DDS_DomainParticipantFactory* DDS_DomainParticipantFactory_get_instance | ( | void | ) |
<<cert>> Gets the singleton instance of this class.
DDS_TheParticipantFactory can be used as an alias for the singleton factory returned by this operation.
DDS_DomainParticipantFactory_get_instance also initializes the RTI Connext Micro library and should be called before any other API, unless the API is explicitly mentioned as safe to call before DDS_DomainParticipantFactory_get_instance.
DDS_DomainParticipant* DDS_DomainParticipantFactory_create_participant | ( | DDS_DomainParticipantFactory * | self, |
DDS_DomainId_t | domainId, | ||
const struct DDS_DomainParticipantQos * | qos, | ||
const struct DDS_DomainParticipantListener * | listener, | ||
DDS_StatusMask | mask | ||
) |
<<cert>> Creates a new DDS_DomainParticipant object.
If you want to create multiple participants on a given host in the same domain, make sure each one has a different participant index (set in the DDS_WireProtocolQosPolicy). This in turn will ensure each participant uses a different port number (since the unicast port numbers are calculated from the participant index and the domain ID).
Note that if there is a single participant per host in a given domain, the participant index can be left at the default value (-1).
listener
is specified, none of the listener callback functions can be NULL. self | <<in>> Cannot be NULL. |
domainId | <<in>> ID of the domain that the application intends to join. [range] [>=0], and does not violate guidelines stated in DDS_RtpsWellKnownPorts_t. |
qos | <<in>> the domain participant's QoS. The special value DDS_PARTICIPANT_QOS_DEFAULT can be used to indicate that the DDS_DomainParticipant should be created with the default DDS_DomainParticipantQos set in the DDS_DomainParticipantFactory. Cannot be NULL. |
listener | <<in>> the domain participant's listener. |
mask | <<in>> Changes of communication status to be invoked on the listener. |
DDS_DomainParticipant* DDS_DomainParticipantFactory_lookup_participant | ( | DDS_DomainParticipantFactory * | self, |
DDS_DomainId_t | domainId | ||
) |
<<cert>> Locates an existing DDS_DomainParticipant.
If no such DDS_DomainParticipant exists, the operation will return NULL value.
If multiple DDS_DomainParticipant entities belonging to that domainId exist, then the operation will return one of them. It is not specified which one.
DDS_ReturnCode_t DDS_DomainParticipantFactory_get_qos | ( | DDS_DomainParticipantFactory * | self, |
struct DDS_DomainParticipantFactoryQos * | qos | ||
) |
<<cert>> Gets the value for participant factory QoS.
DDS_ReturnCode_t DDS_DomainParticipantFactory_set_qos | ( | DDS_DomainParticipantFactory * | self, |
const struct DDS_DomainParticipantFactoryQos * | qos | ||
) |
<<cert>> Sets the value for a participant factory QoS.
The DDS_DomainParticipantFactoryQos::entity_factory can be changed. The other policies are immutable.
Note that despite having QoS, the DDS_DomainParticipantFactory is not an DDS_Entity.
Note that this function may cause RTI Connext Micro to free and reallocate memory, depending on the QoS policies that are changed.
self | <<in>> Cannot be NULL. |
qos | <<in>> Set of policies to be applied to DDS_DomainParticipantFactory. Policies must be consistent. Immutable policies can only be changed before calling any other RTI Connext Micro functions except for DDS_DomainParticipantFactory_get_qos Cannot be NULL. |
RT_Registry_T* DDS_DomainParticipantFactory_get_registry | ( | DDS_DomainParticipantFactory * | self | ) |
struct DDS_DomainParticipantFactoryQos DDS_PARTICIPANT_FACTORY_QOS_DEFAULT |
<<cert>> Special value for creating domain participant with default QoS.
When used in DDS_DomainParticipantFactory_create_participant, this special value is used to indicate that the DDS_DomainParticipant should be created with the default DDS_DomainParticipant QoS.
struct DDS_DomainParticipantQos DDS_PARTICIPANT_QOS_DEFAULT |
<<cert>> Special value for creating domain participant with default QoS.
When used in DDS_DomainParticipantFactory_create_participant, this special value is used to indicate that the DDS_DomainParticipant should be created with the default DDS_DomainParticipant QoS.