RTI Connext Cert C API  Version 2.4.15
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Topic

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

Functions

const char * DDS_TopicDescription_get_type_name (DDS_TopicDescription *self)
 <<cert>> Get the associated type_name.
const char * DDS_TopicDescription_get_name (DDS_TopicDescription *self)
 <<cert>> Get the name used to create this DDS_TopicDescription.
DDS_DomainParticipantDDS_TopicDescription_get_participant (DDS_TopicDescription *self)
 <<cert>> Get the DDS_DomainParticipant to which the DDS_TopicDescription belongs.
DDS_EntityDDS_Topic_as_entity (DDS_Topic *self)
 <<cert>> Access a DDS_Topic's DDS_Entity supertype instance.
DDS_TopicDescriptionDDS_Topic_as_topicdescription (DDS_Topic *self)
 <<cert>> Access a DDS_Topic's DDS_TopicDescription supertype instance.
DDS_TopicDDS_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.

Detailed Description

DDS_Topic entity and associated elements


Macro Definition Documentation

#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_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.

/* initialize listener functions */
listener.on_inconsistent_topic = ....;
DDS_Topic_set_listener(myTopic, &listener, mask);
See also:
DDS_TopicListener

Typedef Documentation

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.

QoS:
DDS_TopicQos
Status:
DDS_INCONSISTENT_TOPIC_STATUS, DDS_InconsistentTopicStatus
Listener:
DDS_TopicListener

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:

  • get_inconsistent_topic_status()
typedef void(* DDS_TopicListener_InconsistentTopicCallback)(void *listener_data, DDS_Topic *topic, const struct DDS_InconsistentTopicStatus *status)

Prototype of DDS_TopicListener::on_inconsistent_topic.

Parameters:
listener_data<<out>> Data associated with the listener when the listener is set
topic<<out>> Locally created DDS_Topic that triggers the listener callback
status<<out>> Current inconsistent status of the locally created DDS_Topic

Function Documentation

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.

Parameters:
self<<in>> Cannot be NULL.
Returns:
the type name. The returned type name is valid until the DDS_TopicDescription is deleted.
MT Safety:
This operation is thread safe.
Postcondition:
The result is NULL if self is NULL, otherwise result is non-NULL.
const char* DDS_TopicDescription_get_name ( DDS_TopicDescription self)

<<cert>> Get the name used to create this DDS_TopicDescription.

Parameters:
self<<in>> Cannot be NULL.
Returns:
the name used to create this DDS_TopicDescription. The returned topic name is valid until the DDS_TopicDescription is deleted.
MT Safety:
This operation is thread safe.
Postcondition:
The result is NULL if self is NULL, otherwise result is non-NULL.
DDS_DomainParticipant* DDS_TopicDescription_get_participant ( DDS_TopicDescription self)

<<cert>> Get the DDS_DomainParticipant to which the DDS_TopicDescription belongs.

Parameters:
self<<in>> Cannot be NULL.
Returns:
The DDS_DomainParticipant to which the DDS_TopicDescription belongs.
MT Safety:
This operation is thread safe.
Postcondition:
TThe result is NULL if self is NULL, otherwise result is non-NULL.
DDS_Entity* DDS_Topic_as_entity ( DDS_Topic self)

<<cert>> Access a DDS_Topic's DDS_Entity supertype instance.

Returns:
DDS_Topic's supertype DDS_Entity instance
DDS_TopicDescription* DDS_Topic_as_topicdescription ( DDS_Topic self)

<<cert>> Access a DDS_Topic's DDS_TopicDescription supertype instance.

Returns:
DDS_Topic's supertype DDS_TopicDescription instance
DDS_Topic* DDS_Topic_narrow ( DDS_TopicDescription self)

<<cert>> Narrow the given DDS_TopicDescription pointer to a DDS_Topic pointer.

Returns:
DDS_Topic if this DDS_TopicDescription is a DDS_Topic. Otherwise, return NULL.
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

Parameters:
self<<in>> Cannot be NULL.
status<<inout>> Status 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_InconsistentTopicStatus

RTI Connext Cert C API Version 2.4.15 Copyright © Tue Jan 21 2025 Real-Time Innovations, Inc