RTI Connext C API Version 7.3.0

DDS_Topic entity and associated elements More...

Data Structures

struct  DDS_PrintFormatProperty
 A collection of attributes used to configure how data samples will be formatted when converted to a string. More...
 
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...
 
struct  DDS_ContentFilter
 <<interface>> Interface to be used by a custom filter of a DDS_ContentFilteredTopic More...
 
struct  DDS_ExpressionProperty
 Provides additional information about the filter expression passed to DDS_ContentFilter::writer_compile. More...
 
struct  DDS_FilterSampleInfo
 Provides meta information associated with the sample. More...
 

Macros

#define DDS_PrintFormatProperty_INITIALIZER
 Static initializer for DDS_PrintFormatProperty objects. More...
 
#define DDS_InconsistentTopicStatus_INITIALIZER
 Initializer for new status instances. More...
 
#define DDS_TopicQos_INITIALIZER
 Initializer for new QoS instances. More...
 
#define DDS_TopicListener_INITIALIZER
 Initializer for new DDS_TopicListener. More...
 
#define DDS_ContentFilter_INITIALIZER
 Initializer for new DDS_ContentFilter. More...
 

Typedefs

typedef struct DDS_PrintFormatProperty DDS_PrintFormatProperty
 A collection of attributes used to configure how data samples will be formatted when converted to a string. More...
 
typedef struct DDS_TopicDescriptionImpl DDS_TopicDescription
 <<interface>> Base class for DDS_Topic, DDS_ContentFilteredTopic, and DDS_MultiTopic. More...
 
typedef struct DDS_TopicWrapperI DDS_Topic
 <<interface>> The most basic description of the data to be published and subscribed. More...
 
typedef void(* DDS_TopicListener_InconsistentTopicCallback) (void *listener_data, DDS_Topic *topic, const struct DDS_InconsistentTopicStatus *status)
 Prototype of DDS_TopicListener::on_inconsistent_topic. More...
 
typedef struct DDS_ContentFilteredTopicWrapperI DDS_ContentFilteredTopic
 <<interface>> Specialization of DDS_TopicDescription that allows for content-based subscriptions. More...
 
typedef DDS_ReturnCode_t(* DDS_ContentFilterCompileFunction) (void *filter_data, void **new_compile_data, const char *expression, const struct DDS_StringSeq *parameters, const struct DDS_TypeCode *type_code, const char *type_class_name, void *old_compile_data)
 Prototype of DDS_ContentFilter::compile. More...
 
typedef DDS_Boolean(* DDS_ContentFilterEvaluateFunction) (void *filter_data, void *compile_data, const void *sample, const struct DDS_FilterSampleInfo *meta_data)
 Prototype of DDS_ContentFilter::evaluate. More...
 
typedef void(* DDS_ContentFilterFinalizeFunction) (void *filter_data, void *compile_data)
 Prototype of DDS_ContentFilter::finalize. More...
 
typedef void(* DDS_ContentFilterWriterFinalizeFunction) (void *filter_data, void *writer_filter_data, const struct DDS_Cookie_t *cookie)
 Prototype of DDS_ContentFilter::writer_finalize. More...
 
typedef DDS_ReturnCode_t(* DDS_ContentFilterWriterAttachFunction) (void *filter_data, void **writer_filter_data, void *reserved)
 Prototype of DDS_ContentFilter::writer_attach. More...
 
typedef void(* DDS_ContentFilterWriterDetachFunction) (void *filter_data, void *writer_filter_data)
 Prototype of DDS_ContentFilter::writer_detach. More...
 
typedef DDS_ReturnCode_t(* DDS_ContentFilterWriterCompileFunction) (void *filter_data, void *writer_filter_data, struct DDS_ExpressionProperty *prop, const char *expression, const struct DDS_StringSeq *parameters, const struct DDS_TypeCode *type_code, const char *type_class_name, const struct DDS_Cookie_t *cookie)
 Prototype of DDS_ContentFilter::writer_compile. More...
 
typedef struct DDS_CookieSeq *(* DDS_ContentFilterWriterEvaluateFunction) (void *filter_data, void *writer_filter_data, const void *sample, const struct DDS_FilterSampleInfo *meta_data)
 Prototype of DDS_ContentFilter::writer_evaluate. More...
 
typedef void(* DDS_ContentFilterWriterReturnLoanFunction) (void *filter_data, void *writer_filter_data, struct DDS_CookieSeq *cookies)
 Prototype of DDS_ContentFilter::writer_return_loan. More...
 
typedef struct DDS_MultiTopicImpl DDS_MultiTopic
 [Not supported (optional)] <<interface>> A specialization of DDS_TopicDescription that allows subscriptions that combine/filter/rearrange data coming from several topics. More...
 

Enumerations

enum  DDS_PrintFormatKind {
  DDS_DEFAULT_PRINT_FORMAT ,
  DDS_XML_PRINT_FORMAT ,
  DDS_JSON_PRINT_FORMAT
}
 Format kinds available when converting data samples to string representations. More...
 

Functions

DDS_ReturnCode_t DDS_InconsistentTopicStatus_initialize (struct DDS_InconsistentTopicStatus *self)
 Initializer for new status instances. More...
 
DDS_ReturnCode_t DDS_InconsistentTopicStatus_copy (struct DDS_InconsistentTopicStatus *self, const struct DDS_InconsistentTopicStatus *source)
 Copy the contents of the given status into this status. More...
 
DDS_ReturnCode_t DDS_InconsistentTopicStatus_finalize (struct DDS_InconsistentTopicStatus *self)
 Free any dynamic memory allocated by status instances. More...
 
DDS_Boolean DDS_InconsistentTopicStatus_equals (const struct DDS_InconsistentTopicStatus *left, const struct DDS_InconsistentTopicStatus *right)
 Compares two DDS_InconsistentTopicStatus for equality. More...
 
DDS_Boolean DDS_TopicQos_equals (const struct DDS_TopicQos *self, const struct DDS_TopicQos *other)
 Compares two DDS_TopicQos for equality. More...
 
DDS_ReturnCode_t DDS_TopicQos_print (const struct DDS_TopicQos *self)
 Prints this DDS_TopicQos to stdout. More...
 
DDS_ReturnCode_t DDS_TopicQos_to_string (const struct DDS_TopicQos *self, char *string, DDS_UnsignedLong *string_size)
 Obtains a string representation of this DDS_TopicQos. More...
 
DDS_ReturnCode_t DDS_TopicQos_to_string_w_params (const struct DDS_TopicQos *self, char *string, DDS_UnsignedLong *string_size, const struct DDS_TopicQos *base, const struct DDS_QosPrintFormat *format)
 Obtains a string representation of this DDS_TopicQos. More...
 
DDS_ReturnCode_t DDS_TopicQos_initialize (struct DDS_TopicQos *self)
 Initializer for new QoS instances. More...
 
DDS_ReturnCode_t DDS_TopicQos_finalize (struct DDS_TopicQos *self)
 Free any dynamic memory allocated by the policies in this DDS_TopicQos. More...
 
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. More...
 
const char * DDS_TopicDescription_get_type_name (DDS_TopicDescription *self)
 Get the associated type_name. More...
 
const char * DDS_TopicDescription_get_name (DDS_TopicDescription *self)
 Get the name used to create this DDS_TopicDescription . More...
 
DDS_DomainParticipantDDS_TopicDescription_get_participant (DDS_TopicDescription *self)
 Get the DDS_DomainParticipant to which the DDS_TopicDescription belongs. More...
 
DDS_EntityDDS_Topic_as_entity (DDS_Topic *topic)
 Access a DDS_Topic's DDS_Entity supertype instance. More...
 
DDS_TopicDescriptionDDS_Topic_as_topicdescription (DDS_Topic *topic)
 Access a DDS_Topic's DDS_TopicDescription supertype instance. More...
 
DDS_TopicDDS_Topic_narrow (DDS_TopicDescription *self)
 Narrow the given DDS_TopicDescription pointer to a DDS_Topic pointer. More...
 
DDS_TopicDDS_Topic_narrow_from_entity (DDS_Entity *self)
 Narrow the given DDS_Entity pointer to a DDS_Topic pointer. More...
 
DDS_ReturnCode_t DDS_Topic_get_inconsistent_topic_status (DDS_Topic *self, struct DDS_InconsistentTopicStatus *status)
 Allows the application to retrieve the DDS_INCONSISTENT_TOPIC_STATUS status of a DDS_Topic. More...
 
DDS_ReturnCode_t DDS_Topic_set_qos (DDS_Topic *self, const struct DDS_TopicQos *qos)
 Set the topic QoS. More...
 
DDS_ReturnCode_t DDS_Topic_set_qos_with_profile (DDS_Topic *self, const char *library_name, const char *profile_name)
 <<extension>> Change the QoS of this topic using the input XML QoS profile. More...
 
DDS_ReturnCode_t DDS_Topic_get_qos (DDS_Topic *self, struct DDS_TopicQos *qos)
 Get the topic QoS. More...
 
DDS_ReturnCode_t DDS_Topic_set_listener (DDS_Topic *self, const struct DDS_TopicListener *l, DDS_StatusMask mask)
 Set the topic listener. More...
 
struct DDS_TopicListener DDS_Topic_get_listener (DDS_Topic *self)
 Get the topic listener. More...
 
DDS_ReturnCode_t DDS_Topic_get_listenerX (DDS_Topic *self, struct DDS_TopicListener *listener)
 <<extension>> Get the topic listener. More...
 
DDS_TopicDescriptionDDS_ContentFilteredTopic_as_topicdescription (DDS_ContentFilteredTopic *contentFilteredTopic)
 Access a DDS_ContentFilteredTopic's supertype instance. More...
 
DDS_ContentFilteredTopicDDS_ContentFilteredTopic_narrow (DDS_TopicDescription *self)
 Narrow the given DDS_TopicDescription pointer to a DDS_ContentFilteredTopic pointer. More...
 
const char * DDS_ContentFilteredTopic_get_filter_expression (DDS_ContentFilteredTopic *self)
 Get the filter_expression. More...
 
DDS_ReturnCode_t DDS_ContentFilteredTopic_get_expression_parameters (DDS_ContentFilteredTopic *self, struct DDS_StringSeq *parameters)
 Get the expression_parameters. More...
 
DDS_ReturnCode_t DDS_ContentFilteredTopic_set_expression_parameters (DDS_ContentFilteredTopic *self, const struct DDS_StringSeq *parameters)
 Set the expression_parameters. More...
 
DDS_ReturnCode_t DDS_ContentFilteredTopic_set_expression (DDS_ContentFilteredTopic *self, const char *expression, const struct DDS_StringSeq *parameters)
 Set the filter_expression and expression_parameters. More...
 
DDS_ReturnCode_t DDS_ContentFilteredTopic_append_to_expression_parameter (DDS_ContentFilteredTopic *self, const DDS_Long index, const char *val)
 <<extension>> Appends a string term to the specified parameter string. More...
 
DDS_ReturnCode_t DDS_ContentFilteredTopic_remove_from_expression_parameter (DDS_ContentFilteredTopic *self, const DDS_Long index, const char *val)
 <<extension>> Removes a string term from the specified parameter string. More...
 
DDS_TopicDDS_ContentFilteredTopic_get_related_topic (DDS_ContentFilteredTopic *self)
 Get the related_topic. More...
 
DDS_TopicDescriptionDDS_MultiTopic_as_topicdescription (DDS_MultiTopic *multiTopic)
 Access a DDS_MultiTopic's supertype instance. More...
 
DDS_MultiTopicDDS_MultiTopic_narrow (DDS_TopicDescription *self)
 Narrow the given DDS_TopicDescription pointer to a DDS_MultiTopic pointer. More...
 
const char * DDS_MultiTopic_get_subscription_expression (DDS_MultiTopic *self)
 Get the expression for this DDS_MultiTopic. More...
 
DDS_ReturnCode_t DDS_MultiTopic_get_expression_parameters (DDS_MultiTopic *self, struct DDS_StringSeq *parameters)
 Get the expression parameters. More...
 
DDS_ReturnCode_t DDS_MultiTopic_set_expression_parameters (DDS_MultiTopic *self, const struct DDS_StringSeq *parameters)
 Set the expression_parameters. More...
 

Variables

const struct DDS_PrintFormatProperty DDS_PRINT_FORMAT_PROPERTY_DEFAULT
 Sentinel constant indicating default values for DDS_PrintFormatProperty. More...
 

Detailed Description

DDS_Topic entity and associated elements

Macro Definition Documentation

◆ DDS_PrintFormatProperty_INITIALIZER

#define DDS_PrintFormatProperty_INITIALIZER

Static initializer for DDS_PrintFormatProperty objects.

Use this initializer to ensure that new property objects don't have uninitialized contents.

#define DDS_PrintFormatProperty_INITIALIZER
Static initializer for DDS_PrintFormatProperty objects.
Definition: printformat.ifc:468
A collection of attributes used to configure how data samples will be formatted when converted to a s...
Definition: printformat.ifc:434
See also
DDS_PrintFormatProperty

◆ DDS_InconsistentTopicStatus_INITIALIZER

#define DDS_InconsistentTopicStatus_INITIALIZER

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. DDS_InconsistentTopicStatus_finalize should be called to free the contained fields that use dynamic memory:

DDS_Topic_get_inconsistent_topic(myTopic, &myStatus);
#define DDS_InconsistentTopicStatus_INITIALIZER
Initializer for new status instances.
Definition: topic.ifc:155
DDS_ReturnCode_t DDS_InconsistentTopicStatus_finalize(struct DDS_InconsistentTopicStatus *self)
Free any dynamic memory allocated by status instances.
DDS_INCONSISTENT_TOPIC_STATUS
Definition: topic.ifc:142
See also
DDS_InconsistentTopicStatus_initialize
DDS_Topic_get_inconsistent_topic_status
DDS_InconsistentTopicStatus_finalize

◆ DDS_TopicQos_INITIALIZER

#define DDS_TopicQos_INITIALIZER

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_TopicQos_INITIALIZER
Initializer for new QoS instances.
Definition: topic.ifc:433
QoS policies supported by a DDS_Topic entity.
Definition: topic.ifc:232

Note that the above assignment is not a substitute for calling DDS_DomainParticipant_get_default_topic_qos or DDS_Topic_get_qos; one of those should be called subsequently to setting the QoS of a new or existing entity. DDS_TopicQos_finalize should be called to free the contained QoS policies that use dynamic memory:

DDS_Topic_set_qos(myTopic, &myQos);
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 instan...
DDS_ReturnCode_t DDS_TopicQos_finalize(struct DDS_TopicQos *self)
Free any dynamic memory allocated by the policies in this DDS_TopicQos.
DDS_ReturnCode_t DDS_Topic_set_qos(DDS_Topic *self, const struct DDS_TopicQos *qos)
Set the topic QoS.
See also
DDS_DomainParticipant_get_default_topic_qos
DDS_TopicQos_finalize

◆ DDS_TopicListener_INITIALIZER

#define DDS_TopicListener_INITIALIZER

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);
DDS_ReturnCode_t DDS_Topic_set_listener(DDS_Topic *self, const struct DDS_TopicListener *l, DDS_StatusMask mask)
Set the topic listener.
#define DDS_TopicListener_INITIALIZER
Initializer for new DDS_TopicListener.
Definition: topic.ifc:551
<<interface>> DDS_Listener for DDS_Topic entities.
Definition: topic.ifc:537
DDS_TopicListener_InconsistentTopicCallback on_inconsistent_topic
Handle the DDS_INCONSISTENT_TOPIC_STATUS status.
Definition: topic.ifc:544
See also
DDS_Topic_set_listener
DDS_TopicListener

◆ DDS_ContentFilter_INITIALIZER

#define DDS_ContentFilter_INITIALIZER

Initializer for new DDS_ContentFilter.

All the new DDS_ContentFilter instances allocated in the stack should be initialized to this value. No memory is allocated.

See also
DDS_ContentFilter
DDS_DomainParticipant_create_contentfilteredtopic_with_filter

Typedef Documentation

◆ DDS_PrintFormatProperty

A collection of attributes used to configure how data samples will be formatted when converted to a string.

To ensure that new objects are initialized to known values, assign them with the static initializer DDS_PrintFormatProperty_INITIALIZER.

See also
DDS_PrintFormatProperty_INITIALIZER

◆ DDS_TopicDescription

typedef struct DDS_TopicDescriptionImpl DDS_TopicDescription

<<interface>> Base class for DDS_Topic, DDS_ContentFilteredTopic, and DDS_MultiTopic.

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

DDS_TopicDescription has also a name that allows it to be retrieved locally.

See also
DDS_TypeSupport, FooTypeSupport

◆ DDS_Topic

typedef struct DDS_TopicWrapperI 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:

See also
Operations Allowed in Listener Callbacks

◆ DDS_TopicListener_InconsistentTopicCallback

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

◆ DDS_ContentFilteredTopic

typedef struct DDS_ContentFilteredTopicWrapperI DDS_ContentFilteredTopic

<<interface>> Specialization of DDS_TopicDescription that allows for content-based subscriptions.

It describes a more sophisticated subscription that indicates a DDS_DataReader does not want to necessarily see all values of each instance published under the DDS_Topic. Rather, it wants to see only the values whose contents satisfy certain criteria. This class therefore can be used to request content-based subscriptions.

The selection of the content is done using the filter_expression with parameters expression_parameters.

  • The filter_expression attribute is a string that specifies the criteria to select the data samples of interest. It is similar to the WHERE part of an SQL clause.
  • The expression_parameters attribute is a sequence of strings that give values to the 'parameters' (i.e. "%n" tokens) in the filter_expression. The number of supplied parameters must fit with the requested values in the filter_expression (i.e. the number of n tokens).

Queries and Filters Syntax describes the syntax of filter_expression and expression_parameters.

◆ DDS_ContentFilterCompileFunction

typedef DDS_ReturnCode_t(* DDS_ContentFilterCompileFunction) (void *filter_data, void **new_compile_data, const char *expression, const struct DDS_StringSeq *parameters, const struct DDS_TypeCode *type_code, const char *type_class_name, void *old_compile_data)

Prototype of DDS_ContentFilter::compile.

Compile an instance of the content filter according to the filter expression and parameters of the given data type.

This function is called when an instance of the locally registered content filter is created or when the expression parameter for the locally registered content filter instance is changed.

An instance of the locally registered content filter is created every time a local DDS_ContentFilteredTopic with the matching filter name is created, or when a DDS_DataReader with a matching filter name is discovered.

It is possible for multiple threads to be calling into this function at the same time. However, this function will never be called on a content filter that has been unregistered.

Parameters
filter_data<<in>> The opaque pointer that the content filter was registered with in DDS_DomainParticipant_register_contentfilter. Can be NULL. When a custom filter is registered, it is registered with a filter_data. This filter_data is user defined, e.g., it could be a reference to a program context. This is useful if the content filter functions are registered with different filter names. For instance, each filter name could have its own context and the DDS_ContentFilter::compile function can access this context.
Parameters
new_compile_data<<out>> User specified opaque pointer of this instance of the content filter. This value is then passed to the DDS_ContentFilter::evaluate and DDS_ContentFilter::finalize functions for this instance of the content filter. Can be set to NULL .
expression<<in>> An ASCIIZ string with the filter expression. The memory used by this string is owned by RTI Connext and must not be freed. If you want to manipulate this string, you must first make a copy of it.
parameters<<in>> A string sequence with the expression parameters the DDS_ContentFilteredTopic was created with. The string sequence is equal (but not identical) to the string sequence passed to DDS_DomainParticipant_create_contentfilteredtopic. Note that the sequence passed to the compile function is owned by RTI Connext and must not be referenced outside the compile function.
type_code<<in>> A pointer to the type code for the related DDS_Topic of the DDS_ContentFilteredTopic. A type_code is a description of a type in terms of which types it contains (such as long, string, etc.) and the corresponding member field names in the data type structure. The type code can be used to write custom content filters that can be used with any type.
type_class_name<<in>> Fully qualified class name of the related DDS_Topic.
old_compile_data<<in>> The previous new_compile_data value from a previous call to this instance of a content filter. If the compile function is called more than once for an instance of a DDS_ContentFilteredTopic, e.g., if the expression parameters are changed, then the new_compile_data value returned by the previous invocation is passed in the old_compile_data parameter (which can be NULL ). If this is a new instance of the filter, NULL is passed. This parameter is useful for freeing or reusing previously allocated resources.
Returns
One of the Standard Return Codes

◆ DDS_ContentFilterEvaluateFunction

typedef DDS_Boolean(* DDS_ContentFilterEvaluateFunction) (void *filter_data, void *compile_data, const void *sample, const struct DDS_FilterSampleInfo *meta_data)

Prototype of DDS_ContentFilter::evaluate.

Evaluate whether the sample is passing the filter or not according to the sample content.

This function is called when a sample for a locally created DDS_DataReader associated with the filter is received, or when a sample for a discovered DDS_DataReader assocated with the filter needs to be sent.

It is possible for multiple threads to be calling into this function at the same time. However, this function will never be called on a content filter that has been unregistered.

Parameters
filter_data<<in>> The opaque pointer that the content filter was registered with in DDS_DomainParticipant_register_contentfilter. Can be NULL.
Parameters
compile_data<<in>> The last return value of the DDS_ContentFilter::compile function for this instance of the content filter. Can be NULL .
sample<<in>> Pointer to a deserialized sample to be filtered
meta_data<<in>> Pointer to meta data associated with the sample.
Returns
The function must return 0 if the sample should be filtered out, non zero otherwise

◆ DDS_ContentFilterFinalizeFunction

typedef void(* DDS_ContentFilterFinalizeFunction) (void *filter_data, void *compile_data)

Prototype of DDS_ContentFilter::finalize.

A previously compiled instance of the content filter is no longer in use and resources can now be cleaned up.

This function is called when an instance of the locally registered content filter is deleted.

An instance of the locally registered content filter is deleted every time a local DDS_ContentFilteredTopic with the matching filter name is deleted, or when a DDS_DataReader with a matching filter name is removed due to discovery.

This function is also called on all instances of the discovered DDS_DataReader with a matching filter name if the filter is unregistered with DDS_DomainParticipant_unregister_contentfilter.

It is possible for multiple threads to be calling into this function at the same time. However, this function will never be called on a content filter that has been unregistered.

Parameters
filter_data<<in>> The opaque pointer that the content filter was registered with in DDS_DomainParticipant_register_contentfilter. Can be NULL.
Parameters
compile_data<<in>> The last return value of the DDS_ContentFilter::compile function for this instance of the content filter. Can be NULL

◆ DDS_ContentFilterWriterFinalizeFunction

typedef void(* DDS_ContentFilterWriterFinalizeFunction) (void *filter_data, void *writer_filter_data, const struct DDS_Cookie_t *cookie)

Prototype of DDS_ContentFilter::writer_finalize.

A writer-side filtering API to clean up a previously compiled instance of the content filter.

This function is called to notify the filter implementation that the DDS_DataWriter is no longer matching with a DDS_DataReader for which it was previously performing writer-side filtering. This will allow the filter to purge any state it was maintaining for the DDS_DataReader.

It is possible for multiple threads to be calling into this function at the same time.

Parameters
filter_data<<in>> The opaque pointer that the content filter was registered with in DDS_DomainParticipant_register_contentfilter. Can be NULL.
Parameters
writer_filter_data<<in>> A pointer to the state created using DDS_ContentFilter::writer_attach.
cookieDDS_Cookie_t to uniquely identify DDS_DataReader for which DDS_ContentFilter::writer_finalize was called.

◆ DDS_ContentFilterWriterAttachFunction

typedef DDS_ReturnCode_t(* DDS_ContentFilterWriterAttachFunction) (void *filter_data, void **writer_filter_data, void *reserved)

Prototype of DDS_ContentFilter::writer_attach.

A writer-side filtering API to create some state that can facilitate filtering on the writer side.

This function is called to create some state required to perform filtering on the writer side using writer-side filtering APIs. This function will be called for every DDS_DataWriter; it will be called only the first time the DDS_DataWriter matches a DDS_DataReader using the specified filter. This function will not be called for any subsequent DataReaders that match the DataWriter and are using the same filter.

Parameters
filter_data<<in>> The opaque pointer that the content filter was registered with in DDS_DomainParticipant_register_contentfilter. Can be NULL.
Parameters
writer_filter_data<<out>> A user-specified opaque pointer to some state created on the DDS_DataWriter that will help perform writer-side filtering efficiently.
Parameters
reservedReserved.

◆ DDS_ContentFilterWriterDetachFunction

typedef void(* DDS_ContentFilterWriterDetachFunction) (void *filter_data, void *writer_filter_data)

Prototype of DDS_ContentFilter::writer_detach.

A writer-side filtering API to clean up a previously created state using DDS_ContentFilter::writer_attach.

This function is called to delete any state created using the DDS_ContentFilter::writer_attach function. This function will be called when the DDS_DataWriter is deleted.

Parameters
filter_data<<in>> The opaque pointer that the content filter was registered in DDS_DomainParticipant_register_contentfilter. Can be NULL.
Parameters
writer_filter_data<<in>> A pointer to the state created using DDS_ContentFilter::writer_attach.

◆ DDS_ContentFilterWriterCompileFunction

typedef DDS_ReturnCode_t(* DDS_ContentFilterWriterCompileFunction) (void *filter_data, void *writer_filter_data, struct DDS_ExpressionProperty *prop, const char *expression, const struct DDS_StringSeq *parameters, const struct DDS_TypeCode *type_code, const char *type_class_name, const struct DDS_Cookie_t *cookie)

Prototype of DDS_ContentFilter::writer_compile.

A writer-side filtering API to compile an instance of the content filter according to the filter expression and parameters specified by a matching DDS_DataReader.

This function is called when the DDS_DataWriter discovers a DDS_DataReader with a DDS_ContentFilteredTopic or when a DDS_DataWriter is notified of a change in a DataReader's filter parameter for the locally registered content filter instance.

It is possible for multiple threads to be calling into this function at the same time.

Parameters
filter_data<<in>> The opaque pointer that the content filter was registered with in DDS_DomainParticipant_register_contentfilter. Can be NULL.
Parameters
writer_filter_data<<in>> A pointer to the state created using DDS_ContentFilter::writer_attach .
prop<<out>> A pointer to DDS_ExpressionProperty that allows you to indicate to RTI Connext if a filter expression can be optimized.
expression<<in>> An ASCIIZ string with the filter expression. The memory used by this string is owned by RTI Connext and must not be freed. If you want to manipulate this string, you must first make a copy of it.
parameters<<in>> A string sequence with the expression parameters with which the DDS_ContentFilteredTopic was created. The string sequence is equal (but not identical) to the string sequence passed to DDS_DomainParticipant_create_contentfilteredtopic. Note that the sequence passed to the compile function is owned by RTI Connext and must not be referenced outside the compile function.
type_code<<in>> A pointer to the type code for the related DDS_Topic of the DDS_ContentFilteredTopic. A type_code is a description of a type in terms of which types it contains (such as long, string, etc.) and the corresponding member field names in the data type structure. The type code can be used to write custom content filters that can be used with any type.
type_class_name<<in>> Fully qualified class name of the related DDS_Topic.
cookie<<in>> DDS_Cookie_t to uniquely identify DDS_DataReader for which DDS_ContentFilter::writer_compile was called.
Returns
One of the Standard Return Codes

◆ DDS_ContentFilterWriterEvaluateFunction

typedef struct DDS_CookieSeq *(* DDS_ContentFilterWriterEvaluateFunction) (void *filter_data, void *writer_filter_data, const void *sample, const struct DDS_FilterSampleInfo *meta_data)

Prototype of DDS_ContentFilter::writer_evaluate.

A writer-side filtering API to retrieve a list of DataReaders whose content filters pass the sample.

This function is called every time a DDS_DataWriter writes a new sample. Its purpose is to evaluate the sample for all the readers for which the DDS_DataWriter is performing writer-side filtering and return the list of DDS_Cookie_t structures associated with the DataReaders whose filters pass the sample.

It is possible for multiple threads to be calling into this function at the same time

Parameters
filter_data<<in>> The opaque pointer that the content filter was registered with in DDS_DomainParticipant_register_contentfilter. Can be NULL.
Parameters
writer_filter_data<<in>> A pointer to the state created using DDS_ContentFilter::writer_attach .
sample<<in>> Pointer to a deserialized sample to be filtered.
meta_data<<in>> Pointer to meta data associated with the sample.
Returns
The function returns DDS_CookieSeq which identifies the set of DataReaders whose filters pass the sample.

◆ DDS_ContentFilterWriterReturnLoanFunction

typedef void(* DDS_ContentFilterWriterReturnLoanFunction) (void *filter_data, void *writer_filter_data, struct DDS_CookieSeq *cookies)

Prototype of DDS_ContentFilter::writer_return_loan.

A writer-side filtering API to return the loan on the list of DataReaders returned by DDS_ContentFilter::writer_evaluate.

This function is called to return the loan on DDS_CookieSeq returned by DDS_ContentFilter::writer_return_loan. It is possible for multiple threads to be calling into this function at the same time.

Parameters
filter_data<<in>> The opaque pointer that the content filter was registered with in DDS_DomainParticipant_register_contentfilter. Can be NULL.
Parameters
writer_filter_data<<in>> A pointer to the state created using DDS_ContentFilter::writer_attach.
cookies<<in>> DDS_CookieSeq for which the DDS_ContentFilter::writer_return_loan was invoked.

◆ DDS_MultiTopic

typedef struct DDS_MultiTopicImpl DDS_MultiTopic

[Not supported (optional)] <<interface>> A specialization of DDS_TopicDescription that allows subscriptions that combine/filter/rearrange data coming from several topics.

DDS_MultiTopic allows a more sophisticated subscription that can select and combine data received from multiple topics into a single resulting type (specified by the inherited type_name). The data will then be filtered (selection) and possibly re-arranged (aggregation/projection) according to a subscription_expression with parameters expression_parameters.

  • The subscription_expression is a string that identifies the selection and re-arrangement of data from the associated topics. It is similar to an SQL statement where the SELECT part provides the fields to be kept, the FROM part provides the names of the topics that are searched for those fields, and the WHERE clause gives the content filter. The Topics combined may have different types but they are restricted in that the type of the fields used for the NATURAL JOIN operation must be the same.
  • The expression_parameters attribute is a sequence of strings that give values to the 'parameters' (i.e. "%n" tokens) in the subscription_expression. The number of supplied parameters must fit with the requested values in the subscription_expression (i.e. the number of n tokens).

Note that the source for data may not be restricted to a single topic.

DDS_DataReader entities associated with a DDS_MultiTopic may access instances that are "constructed" at the DDS_DataReader side from the instances written by multiple DDS_DataWriter entities. The DDS_MultiTopic access instance will begin to exist as soon as all the constituting DDS_Topic instances are in existence. The view_state and instance_state is computed from the corresponding states of the constituting instances:

Queries and Filters Syntax describes the syntax of subscription_expression and expression_parameters.

Enumeration Type Documentation

◆ DDS_PrintFormatKind

Format kinds available when converting data samples to string representations.

Enumerator
DDS_DEFAULT_PRINT_FORMAT 

Use a default format specific to RTI Connext to represent the data when converting to a string.

DDS_XML_PRINT_FORMAT 

Use an XML format to represent the data when converting to a string.

DDS_JSON_PRINT_FORMAT 

Use a JSON format to represent the data when converting to a string.

Function Documentation

◆ DDS_InconsistentTopicStatus_initialize()

DDS_ReturnCode_t DDS_InconsistentTopicStatus_initialize ( struct DDS_InconsistentTopicStatus self)

Initializer for new status instances.

New DDS_InconsistentTopicStatus instances stored in heap memory should be initialized with this function before they are passed to any function. This step ensures that those contained fields that use dynamic memory are properly initialized. This function does not allocate memory.

DDS_InconsistentTopicStatus_finalize should be called to free the contained fields that use dynamic memory:

DDS_InconsistentTopicStatus *myStatus = malloc(sizeof(struct DDS_InconsistentTopicStatus));
free(myStatus);
DDS_ReturnCode_t DDS_InconsistentTopicStatus_initialize(struct DDS_InconsistentTopicStatus *self)
Initializer for new status instances.
DDS_ReturnCode_t DDS_Topic_get_inconsistent_topic_status(DDS_Topic *self, struct DDS_InconsistentTopicStatus *status)
Allows the application to retrieve the DDS_INCONSISTENT_TOPIC_STATUS status of a DDS_Topic.
Parameters
self<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes
See also
DDS_InconsistentTopicStatus_INITIALIZER
DDS_Topic_get_inconsistent_topic_status
DDS_InconsistentTopicStatus_finalize

◆ DDS_InconsistentTopicStatus_copy()

DDS_ReturnCode_t DDS_InconsistentTopicStatus_copy ( struct DDS_InconsistentTopicStatus self,
const struct DDS_InconsistentTopicStatus source 
)

Copy the contents of the given status into this status.

Status instances can use dynamic memory because of the sequences contained in some status. A shallow copy by assignment is therefore unsafe. This function performs a deep copy, allocating memory if necessary.

Parameters
self<<in>> Cannot be NULL.
source<<in>>. Status to be copied from.
Returns
One of the Standard Return Codes
See also
DDS_InconsistentTopicStatus_INITIALIZER
DDS_InconsistentTopicStatus_initialize
DDS_InconsistentTopicStatus_finalize

◆ DDS_InconsistentTopicStatus_finalize()

DDS_ReturnCode_t DDS_InconsistentTopicStatus_finalize ( struct DDS_InconsistentTopicStatus self)

Free any dynamic memory allocated by status instances.

Some status may use dynamic memory (regardless of whether the status itself is in dynamic memory). This function frees that memory but otherwise leaves this status 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).

Note that if this status 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 status instance after calling this function.

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

◆ DDS_InconsistentTopicStatus_equals()

DDS_Boolean DDS_InconsistentTopicStatus_equals ( const struct DDS_InconsistentTopicStatus left,
const struct DDS_InconsistentTopicStatus right 
)

Compares two DDS_InconsistentTopicStatus for equality.

Parameters
left<<in>> This InconsistentTopicStatus. Can be NULL.
right<<in>> The other InconsistentTopicStatus to be compared with this status instance. Can be NULL.
Returns
DDS_BOOLEAN_TRUE if the two InconsistentTopicStatus have equal values, or DDS_BOOLEAN_FALSE otherwise.

◆ DDS_TopicQos_equals()

DDS_Boolean DDS_TopicQos_equals ( const struct DDS_TopicQos self,
const struct DDS_TopicQos other 
)

Compares two DDS_TopicQos for equality.

Parameters
self<<in>> This TopicQos.
other<<in>> The other TopicQos to be compared with this TopicQos
Returns
DDS_BOOLEAN_TRUE if the two Qos objects are equal or DDS_BOOLEAN_FALSE otherwise.

◆ DDS_TopicQos_print()

DDS_ReturnCode_t DDS_TopicQos_print ( const struct DDS_TopicQos self)

Prints this DDS_TopicQos to stdout.

Only the differences between this DDS_TopicQos and the documented default are printed. If you wish to print everything regardless, see DDS_TopicQos_to_string_w_params. The output is formatted according to the default values for DDS_QosPrintFormat.

Parameters
self<<in>> Cannot be NULL.
Returns
DDS_RETCODE_OK if no error was encountered.

◆ DDS_TopicQos_to_string()

DDS_ReturnCode_t DDS_TopicQos_to_string ( const struct DDS_TopicQos self,
char *  string,
DDS_UnsignedLong string_size 
)

Obtains a string representation of this DDS_TopicQos.

Only the differences between this DDS_TopicQos and the documented default are printed to the string. If you wish to print everything regardless, see DDS_TopicQos_to_string_w_params. The output is formatted according to the default values for DDS_QosPrintFormat.

If the supplied buffer is NULL, the required length of the string is returned via the string_size parameter.

If the supplied buffer is not NULL, the string representation of the DDS_TopicQos is written to the buffer.

Parameters
self<<in>> Cannot be NULL.
string<<out>> The char buffer that will be used to store the string representation of this DDS_TopicQos. If NULL, this function will return the required length of this buffer through the string_size parameter.
string_size<<inout>> Cannot be NULL. The size of the supplied buffer. If the supplied buffer is NULL, or if the supplied buffer is not large enough, this value will be updated with the required length of the buffer.
Returns
DDS_RETCODE_OK if no error was encountered.
See also
DDS_TopicQos_to_string_w_params

◆ DDS_TopicQos_to_string_w_params()

DDS_ReturnCode_t DDS_TopicQos_to_string_w_params ( const struct DDS_TopicQos self,
char *  string,
DDS_UnsignedLong string_size,
const struct DDS_TopicQos base,
const struct DDS_QosPrintFormat format 
)

Obtains a string representation of this DDS_TopicQos.

Only the differences between this DDS_TopicQos and the DDS_TopicQos supplied as the base are printed to the string.

It is possible to supply the sentinel value DDS_TOPIC_QOS_PRINT_ALL as the base to print everything within the QoS.

If the supplied buffer is NULL, the required length of the string is returned via the string_size parameter.

If the supplied buffer is not NULL, the string representation of the DDS_TopicQos is written to the buffer.

Parameters
self<<in>> Cannot be NULL.
string<<out>> The char buffer that will be used to store the string representation of this DDS_TopicQos. If NULL, this function will return the required length of this buffer through the string_size parameter.
string_size<<inout>> Cannot be NULL. The size of the supplied buffer. If the supplied buffer is NULL, or if the supplied buffer is not large enough, this value will be updated with the required length of the buffer.
base<<in>> The DDS_TopicQos to be used as the base QoS profile. Only the differences with respect to this base profile will be included in the output string.
format<<in>> The DDS_QosPrintFormat to be used to format the output string.
Returns
DDS_RETCODE_OK if no error was encountered.

◆ DDS_TopicQos_initialize()

DDS_ReturnCode_t DDS_TopicQos_initialize ( struct DDS_TopicQos self)

Initializer for new QoS instances.

New DDS_TopicQos instances on 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.

Calling this function is not a substitute for calling DDS_Topic_get_qos or DDS_DomainParticipant_get_default_topic_qos; one of those should be called subsequently to setting the QoS of any new or existing entity. DDS_TopicQos_finalize should be called to free the contained QoS policies that use dynamic memory:

DDS_TopicQos *myQos = malloc(sizeof(struct DDS_TopicQos));
DDS_DomainParticipantFactory_get_default_topic_qos(myFactory, myQos);
DDS_Topic_set_qos(myTopic, myQos);
free(myQos);
DDS_ReturnCode_t DDS_TopicQos_initialize(struct DDS_TopicQos *self)
Initializer for new QoS instances.
Parameters
self<<in>> Cannot be NULL.
Returns
One of the Standard Return Codes
See also
DDS_TopicQos_INITIALIZER
DDS_DomainParticipant_get_default_topic_qos
DDS_TopicQos_finalize

◆ DDS_TopicQos_finalize()

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.

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

◆ DDS_TopicQos_copy()

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.

Parameters
self<<in>> Cannot be NULL.
source<<in>>. QoS to be copied from.
Returns
One of the Standard Return Codes
See also
DDS_TopicQos_INITIALIZER
DDS_TopicQos_initialize
DDS_TopicQos_finalize

◆ DDS_TopicDescription_get_type_name()

const char * DDS_TopicDescription_get_type_name ( DDS_TopicDescription self)

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 FooTypeSupport_register_type function.

Thus, the type_name implies an association with a corresponding DDS_TypeSupport 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.
Postcondition
The result is non-NULL.
See also
DDS_TypeSupport, FooTypeSupport

◆ DDS_TopicDescription_get_name()

const char * DDS_TopicDescription_get_name ( DDS_TopicDescription self)

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.
Postcondition
The result is non-NULL.

◆ DDS_TopicDescription_get_participant()

DDS_DomainParticipant * DDS_TopicDescription_get_participant ( DDS_TopicDescription self)

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.
Postcondition
The result is non-NULL.

◆ DDS_Topic_as_entity()

DDS_Entity * DDS_Topic_as_entity ( DDS_Topic topic)

Access a DDS_Topic's DDS_Entity supertype instance.

Returns
DDS_Topic's supertype DDS_Entity instance

◆ DDS_Topic_as_topicdescription()

DDS_TopicDescription * DDS_Topic_as_topicdescription ( DDS_Topic topic)

Access a DDS_Topic's DDS_TopicDescription supertype instance.

Returns
DDS_Topic's supertype DDS_TopicDescription instance
Examples
HelloWorld_subscriber.c.

◆ DDS_Topic_narrow()

DDS_Topic * DDS_Topic_narrow ( DDS_TopicDescription self)

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_Topic_narrow_from_entity()

DDS_Topic * DDS_Topic_narrow_from_entity ( DDS_Entity self)

Narrow the given DDS_Entity pointer to a DDS_Topic pointer.

Parameters
self<<in>> Cannot be NULL.
Returns
DDS_Topic if this DDS_Entity is a DDS_Topic. Otherwise, return NULL.

◆ DDS_Topic_get_inconsistent_topic_status()

DDS_ReturnCode_t DDS_Topic_get_inconsistent_topic_status ( DDS_Topic self,
struct DDS_InconsistentTopicStatus status 
)

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
See also
DDS_InconsistentTopicStatus

◆ DDS_Topic_set_qos()

DDS_ReturnCode_t DDS_Topic_set_qos ( DDS_Topic self,
const struct DDS_TopicQos qos 
)

Set the topic QoS.

The DDS_TopicQos::topic_data and DDS_TopicQos::deadline, DDS_TopicQos::latency_budget, DDS_TopicQos::transport_priority and DDS_TopicQos::lifespan can be changed. The other policies are immutable.

Parameters
qos<<in>> Set of policies to be applied to DDS_Topic.

Policies must be consistent. Immutable 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.

Parameters
self<<in>> 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_TopicQos for rules on consistency among QoS
set_qos (abstract)
Operations Allowed in Listener Callbacks

◆ DDS_Topic_set_qos_with_profile()

DDS_ReturnCode_t DDS_Topic_set_qos_with_profile ( DDS_Topic self,
const char *  library_name,
const char *  profile_name 
)

<<extension>> Change the QoS of this topic using the input XML QoS profile.

The DDS_TopicQos::topic_data and DDS_TopicQos::deadline, DDS_TopicQos::latency_budget, DDS_TopicQos::transport_priority and DDS_TopicQos::lifespan can be changed. The other policies are immutable.

Parameters
self<<in>> Cannot be NULL.
library_name<<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS_DomainParticipant_set_default_library).
profile_name<<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS_DomainParticipant_set_default_profile).
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_TopicQos for rules on consistency among QoS
Operations Allowed in Listener Callbacks

◆ DDS_Topic_get_qos()

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.

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_Topic_set_listener()

DDS_ReturnCode_t DDS_Topic_set_listener ( DDS_Topic self,
const struct DDS_TopicListener l,
DDS_StatusMask  mask 
)

Set the topic listener.

Parameters
self<<in>> Cannot be NULL.
l<<in>> Listener to be installed on entity.
mask<<in>> Changes of communication status to be invoked on the listener. See DDS_StatusMask. The callback function on the listener cannot be NULL if the corresponding status is turned on in the mask.
Returns
One of the Standard Return Codes
See also
set_listener (abstract)

◆ DDS_Topic_get_listener()

struct DDS_TopicListener DDS_Topic_get_listener ( DDS_Topic self)

Get the topic listener.

Parameters
self<<in>> Cannot be NULL.
Returns
Existing listener attached to the DDS_Topic.
See also
DDS_Topic_get_listenerX
get_listener (abstract)

◆ DDS_Topic_get_listenerX()

DDS_ReturnCode_t DDS_Topic_get_listenerX ( DDS_Topic self,
struct DDS_TopicListener listener 
)

<<extension>> Get the topic listener.

An alternative form of get_listener that fills in an existing listener structure rather than returning one on the stack.

Parameters
self<<in>> Cannot be NULL.
listener<<inout>> Listener structure to be filled up. Cannnot be NULL.
See also
DDS_Topic_get_listener
get_listener (abstract)

◆ DDS_ContentFilteredTopic_as_topicdescription()

DDS_TopicDescription * DDS_ContentFilteredTopic_as_topicdescription ( DDS_ContentFilteredTopic contentFilteredTopic)

Access a DDS_ContentFilteredTopic's supertype instance.

Parameters
contentFilteredTopic<<in>> Cannot be NULL.
Returns
DDS_ContentFilteredTopic's supertype DDS_TopicDescription instance

◆ DDS_ContentFilteredTopic_narrow()

DDS_ContentFilteredTopic * DDS_ContentFilteredTopic_narrow ( DDS_TopicDescription self)

Narrow the given DDS_TopicDescription pointer to a DDS_ContentFilteredTopic pointer.

Parameters
self<<in>> Cannot be NULL.
Returns
DDS_ContentFilteredTopic if this DDS_TopicDescription is a DDS_ContentFilteredTopic. Otherwise, return NULL.

◆ DDS_ContentFilteredTopic_get_filter_expression()

const char * DDS_ContentFilteredTopic_get_filter_expression ( DDS_ContentFilteredTopic self)

Get the filter_expression.

Return the filter_expression associated with the DDS_ContentFilteredTopic. filter_expression is either specified on the last successful call to DDS_ContentFilteredTopic_set_expression or, if that function is never called, the expression specified when the DDS_ContentFilteredTopic was created.

Parameters
self<<in>> Cannot be NULL.
Returns
the filter_expression.

◆ DDS_ContentFilteredTopic_get_expression_parameters()

DDS_ReturnCode_t DDS_ContentFilteredTopic_get_expression_parameters ( DDS_ContentFilteredTopic self,
struct DDS_StringSeq parameters 
)

Get the expression_parameters.

Return the expression_parameters associated with the DDS_ContentFilteredTopic. expression_parameters is either specified on the last successful call to DDS_ContentFilteredTopic_set_expression_parameters, DDS_ContentFilteredTopic_set_expression or, if that function is never called, the parameters specified when the DDS_ContentFilteredTopic was created.

Parameters
self<<in>> Cannot be NULL.
parameters<<inout>> the filter expression parameters. Cannot be NULL. The memory for the strings in this sequence is managed according to the conventions described in String Conventions. In particular, be careful to avoid a situation in which RTI Connext allocates a string on your behalf and you then reuse that string in such a way that RTI Connext believes it to have more memory allocated to it than it actually does.
Returns
One of the Standard Return Codes
See also
DDS_DomainParticipant_create_contentfilteredtopic
DDS_ContentFilteredTopic_set_expression_parameters

◆ DDS_ContentFilteredTopic_set_expression_parameters()

DDS_ReturnCode_t DDS_ContentFilteredTopic_set_expression_parameters ( DDS_ContentFilteredTopic self,
const struct DDS_StringSeq parameters 
)

Set the expression_parameters.

Change the expression_parameters associated with the DDS_ContentFilteredTopic.

Parameters
self<<in>> Cannot be NULL.
parameters<<in>> the filter expression parameters Cannot be NULL. Length of sequence cannot be greater than 100.
Returns
One of the Standard Return Codes

◆ DDS_ContentFilteredTopic_set_expression()

DDS_ReturnCode_t DDS_ContentFilteredTopic_set_expression ( DDS_ContentFilteredTopic self,
const char *  expression,
const struct DDS_StringSeq parameters 
)

Set the filter_expression and expression_parameters.

Changes the filter_expression and expression_parameters associated with the DDS_ContentFilteredTopic.

Parameters
self<<in>> Cannot be NULL.
expression<<in>> the filter expression. Cannot be NULL.
parameters<<in>> the filter expression parameters Cannot be NULL. Length of sequence cannot be greater than 100.
Returns
One of the Standard Return Codes

◆ DDS_ContentFilteredTopic_append_to_expression_parameter()

DDS_ReturnCode_t DDS_ContentFilteredTopic_append_to_expression_parameter ( DDS_ContentFilteredTopic self,
const DDS_Long  index,
const char *  val 
)

<<extension>> Appends a string term to the specified parameter string.

Appends the input string to the end of the specified parameter string, separated by a comma. If the original parameter string is enclosed in quotation marks (''), the resultant string will also be enclosed in quotation marks.

This function can be used in expression parameters associated with MATCH operators in order to add a pattern to the match pattern list. For example, if the filter expression parameter value is:

'IBM'

Then append_to_expression_parameter(0, "MSFT") would generate the new value:

'IBM,MSFT'

Parameters
self<<in>> Cannot be NULL.
index<<in>> The index of the parameter string to be modified. The first index is index 0. When using the DDS_STRINGMATCHFILTER_NAME filter, index must be 0.
val<<in>> The string term to be appended to the parameter string.
Returns
One of the Standard Return Codes

◆ DDS_ContentFilteredTopic_remove_from_expression_parameter()

DDS_ReturnCode_t DDS_ContentFilteredTopic_remove_from_expression_parameter ( DDS_ContentFilteredTopic self,
const DDS_Long  index,
const char *  val 
)

<<extension>> Removes a string term from the specified parameter string.

Removes the input string from the specified parameter string. To be found and removed, the input string must exist as a complete term, bounded by comma separators or the strong boundary. If the original parameter string is enclosed in quotation marks (''), the resultant string will also be enclosed in quotation marks. If the removed term was the last entry in the string, the result will be a string of empty quotation marks.

This function can be used in expression parameters associated with MATCH operators in order to remove a pattern from the match pattern list. For example, if the filter expression paremeter value is:

'IBM,MSFT'

Then remove_from_expression_parameter(0, "IBM") would generate the expression:

'MSFT'

Parameters
self<<in>> Cannot be NULL.
index<<in>> The index of the parameter string to be modified. The first index is index 0. When using the DDS_STRINGMATCHFILTER_NAME filter, index must be 0.
val<<in>> The string term to be removed from the parameter string.
Returns
One of the Standard Return Codes

◆ DDS_ContentFilteredTopic_get_related_topic()

DDS_Topic * DDS_ContentFilteredTopic_get_related_topic ( DDS_ContentFilteredTopic self)

Get the related_topic.

Return the DDS_Topic specified when the DDS_ContentFilteredTopic was created.

Parameters
self<<in>> Cannot be NULL.
Returns
The DDS_Topic assocated with the DDS_ContentFilteredTopic.

◆ DDS_MultiTopic_as_topicdescription()

DDS_TopicDescription * DDS_MultiTopic_as_topicdescription ( DDS_MultiTopic multiTopic)

Access a DDS_MultiTopic's supertype instance.

Parameters
multiTopic<<in>> Cannot be NULL.
Returns
DDS_MultiTopic's supertype DDS_TopicDescription instance

◆ DDS_MultiTopic_narrow()

DDS_MultiTopic * DDS_MultiTopic_narrow ( DDS_TopicDescription self)

Narrow the given DDS_TopicDescription pointer to a DDS_MultiTopic pointer.

Parameters
self<<in>> Cannot be NULL.
Returns
DDS_MultiTopic if this DDS_TopicDescription is a DDS_MultiTopic. Otherwise, return NULL.

◆ DDS_MultiTopic_get_subscription_expression()

const char * DDS_MultiTopic_get_subscription_expression ( DDS_MultiTopic self)

Get the expression for this DDS_MultiTopic.

The expressions syntax is described in the DDS specification. It is specified when the DDS_MultiTopic is created.

Parameters
self<<in>> Cannot be NULL.
Returns
subscription_expression of the DDS_MultiTopic.

◆ DDS_MultiTopic_get_expression_parameters()

DDS_ReturnCode_t DDS_MultiTopic_get_expression_parameters ( DDS_MultiTopic self,
struct DDS_StringSeq parameters 
)

Get the expression parameters.

The expressions syntax is described in the DDS specification.

The parameters is either specified on the last successful call to DDS_MultiTopic_set_expression_parameters, or if DDS_MultiTopic_set_expression_parameters was never called, the parameters specified when the DDS_MultiTopic was created.

Parameters
self<<in>> Cannot be NULL.
parameters<<inout>> Fill in this sequence with the expression parameters. Cannot be NULL. The memory for the strings in this sequence is managed according to the conventions described in String Conventions. In particular, be careful to avoid a situation in which RTI Connext allocates a string on your behalf and you then reuse that string in such a way that RTI Connext believes it to have more memory allocated to it than it actually does.
Returns
One of the Standard Return Codes

◆ DDS_MultiTopic_set_expression_parameters()

DDS_ReturnCode_t DDS_MultiTopic_set_expression_parameters ( DDS_MultiTopic self,
const struct DDS_StringSeq parameters 
)

Set the expression_parameters.

Changes the expression_parameters associated with the DDS_MultiTopic.

Parameters
self<<in>> Cannot be NULL.
parameters<<in>> the filter expression parameters
Returns
One of the Standard Return Codes.

Variable Documentation

◆ DDS_PRINT_FORMAT_PROPERTY_DEFAULT

const struct DDS_PrintFormatProperty DDS_PRINT_FORMAT_PROPERTY_DEFAULT

Sentinel constant indicating default values for DDS_PrintFormatProperty.

Pass this object instead of your own DDS_PrintFormatProperty object to use the default property values:

sample,
const struct DDS_PrintFormatProperty DDS_PRINT_FORMAT_PROPERTY_DEFAULT
Sentinel constant indicating default values for DDS_PrintFormatProperty.
Definition: printformat.ifc:463
DDS_ReturnCode_t FooTypeSupport_data_to_string(Foo *sample, char *str, DDS_UnsignedLong *str_size, const DDS_PrintFormatProperty *property)
<<extension>> Transforms a data sample into a human-readable string representation.
See also
DDS_PrintFormatProperty