RTI Connext DDS Micro C API
Version 2.4.12
|
DDS_Topic entity and associated elements More...
Data Structures | |
struct | DDS_InconsistentTopicStatus |
DDS_INCONSISTENT_TOPIC_STATUS More... | |
struct | DDS_TopicQos |
QoS policies supported by a DDS_Topic entity. More... | |
struct | DDS_TopicListener |
<<interface>> DDS_Listener for DDS_Topic entities. More... |
Macros | |
#define | DDS_InconsistentTopicStatus_INITIALIZER |
<<cert>> Initializer for new status instances. | |
#define | DDS_TopicQos_INITIALIZER |
<<cert>> Initializer for new QoS instances. | |
#define | DDS_TopicListener_INITIALIZER |
<<cert>> Initializer for new DDS_TopicListener. |
Typedefs | |
typedef struct DDS_TopicDescriptionImpl | DDS_TopicDescription |
<<interface>> Base class for DDS_Topic. | |
typedef struct DDS_TopicImpl | DDS_Topic |
<<interface>> The most basic description of the data to be published and subscribed. | |
typedef void(* | DDS_TopicListener_InconsistentTopicCallback )(void *listener_data, DDS_Topic *topic, const struct DDS_InconsistentTopicStatus *status) |
Prototype of DDS_TopicListener::on_inconsistent_topic. |
DDS_Topic entity and associated elements
#define DDS_InconsistentTopicStatus_INITIALIZER |
<<cert>> Initializer for new status instances.
New DDS_InconsistentTopicStatus instances that are stored on the stack should be initialized with this value before they are passed to any function. This step ensures that those fields that use dynamic memory are properly initialized. This does not allocate memory.
The simplest way to create a status structure is to initialize it on the stack at the time of its creation.
#define DDS_TopicQos_INITIALIZER |
<<cert>> Initializer for new QoS instances.
New DDS_TopicQos 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_TopicListener_INITIALIZER |
<<cert>> Initializer for new DDS_TopicListener.
All the new DDS_TopicListener instances allocated in the stack should be initialized to this value.No memory is allocated.
typedef struct DDS_TopicDescriptionImpl DDS_TopicDescription |
<<interface>> Base class for DDS_Topic.
DDS_TopicDescription represents the fact that both publications and subscriptions are tied to a single data-type. Its attribute type_name
defines a unique resulting type for the publication or the subscription and therefore creates an implicit association with a type.
DDS_TopicDescription has also a name
that allows it to be retrieved locally.
typedef struct DDS_TopicImpl DDS_Topic |
<<interface>> The most basic description of the data to be published and subscribed.
A DDS_Topic is identified by its name, which must be unique in the whole domain. In addition (by virtue of extending DDS_TopicDescription) it fully specifies the type of the data that can be communicated when publishing or subscribing to the DDS_Topic.
DDS_Topic is the only DDS_TopicDescription that can be used for publications and therefore associated with a DDS_DataWriter.
The following operations may be called even if the DDS_Topic is not enabled. Other operations will fail with the value DDS_RETCODE_NOT_ENABLED if called on a disabled DDS_Topic:
typedef void(* DDS_TopicListener_InconsistentTopicCallback)(void *listener_data, DDS_Topic *topic, const struct DDS_InconsistentTopicStatus *status) |
DDS_ReturnCode_t DDS_TopicQos_initialize | ( | struct DDS_TopicQos * | self | ) |
Initializer for new QoS instances.
New DDS_TopicQos on the heap should be initialized with this function before they are passed to any function. This step ensures that those contained QoS policies that use dynamic memory are properly initialized. This function does not allocate memory.
self | <<in>> Cannot be NULL. |
DDS_ReturnCode_t DDS_TopicQos_copy | ( | struct DDS_TopicQos * | self, |
const struct DDS_TopicQos * | source | ||
) |
Copy the contents of the given QoS into this QoS.
DDS_TopicQos 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_ReturnCode_t DDS_TopicQos_finalize | ( | struct DDS_TopicQos * | self | ) |
Free any dynamic memory allocated by the policies in this DDS_TopicQos.
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 permissable to clear 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.
self | <<in>> Cannot be NULL. |
const char* DDS_TopicDescription_get_type_name | ( | DDS_TopicDescription * | self | ) |
<<cert>> Get the associated type_name
.
The type name defines a locally unique type for the publication or the subscription.
The type_name
corresponds to a unique string used to register a type via the DDS_DomainParticipant_register_type function.
Thus, the type_name
implies an association with a corresponding type and this DDS_TopicDescription.
self | <<in>> Cannot be NULL. |
const char* DDS_TopicDescription_get_name | ( | DDS_TopicDescription * | self | ) |
<<cert>> Get the name used to create this DDS_TopicDescription .
self | <<in>> Cannot be NULL. |
DDS_DomainParticipant* DDS_TopicDescription_get_participant | ( | DDS_TopicDescription * | self | ) |
<<cert>> Get the DDS_DomainParticipant to which the DDS_TopicDescription belongs.
self | <<in>> Cannot be NULL. |
DDS_Entity* DDS_Topic_as_entity | ( | DDS_Topic * | self | ) |
<<cert>> Access a DDS_Topic's DDS_Entity supertype instance.
DDS_TopicDescription* DDS_Topic_as_topicdescription | ( | DDS_Topic * | self | ) |
<<cert>> Access a DDS_Topic's DDS_TopicDescription supertype instance.
DDS_Topic* DDS_Topic_narrow | ( | DDS_TopicDescription * | self | ) |
<<cert>> Narrow the given DDS_TopicDescription pointer to a DDS_Topic pointer.
DDS_ReturnCode_t DDS_Topic_get_inconsistent_topic_status | ( | DDS_Topic * | self, |
struct DDS_InconsistentTopicStatus * | status | ||
) |
<<cert>> Allows the application to retrieve the DDS_INCONSISTENT_TOPIC_STATUS status of a DDS_Topic.
Retrieve the current DDS_InconsistentTopicStatus
DDS_ReturnCode_t DDS_Topic_set_qos | ( | DDS_Topic * | self, |
const struct DDS_TopicQos * | qos | ||
) |
Set the topic QoS.
Policies must be consistent. Policies cannot be changed after DDS_Topic is enabled. The special value DDS_TOPIC_QOS_DEFAULT can be used to indicate that the QoS of the DDS_Topic should be changed to match the current default DDS_TopicQos set in the DDS_DomainParticipant. Cannot be NULL.
self | <<in>> Cannot be NULL. |
DDS_ReturnCode_t DDS_Topic_get_qos | ( | DDS_Topic * | self, |
struct DDS_TopicQos * | qos | ||
) |
Get the topic QoS.
This function may potentially allocate memory depending on the sequences contained in some QoS policies.
DDS_ReturnCode_t DDS_Topic_set_listener | ( | DDS_Topic * | self, |
const struct DDS_TopicListener * | listener, | ||
DDS_StatusMask | mask | ||
) |
Set the topic listener.
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 . |
|
read |