RTI Connext .NET API (legacy)  Version 6.1.2
DDS::MultiTopic Class Reference

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

#include <managed_topic.h>

Inheritance diagram for DDS::MultiTopic:
DDS::ITopicDescription

Public Member Functions

System::String ^ get_subscription_expression ()
 Get the expression for this DDS::MultiTopic. More...
 
void get_expression_parameters (StringSeq^ parameters)
 Get the expression parameters. More...
 
void set_expression_parameters (StringSeq^ parameters)
 Set the expression_parameters. More...
 
virtual System::String ^ get_type_name ()
 Get the associated type_name. More...
 
virtual System::String ^ get_name ()
 Get the name used to create this ITopicDescription . More...
 
virtual DomainParticipantget_participant ()
 Get the DDS::DomainParticipant to which the ITopicDescription belongs. More...
 

Static Public Member Functions

static MultiTopicnarrow (ITopicDescription^ topic_description)
 Narrow the given ITopicDescription pointer to a DDS::MultiTopic pointer. More...
 

Detailed Description

[Not supported (optional)] <<interface>> A specialization of ITopicDescription 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.

Member Function Documentation

◆ narrow()

static MultiTopic ^ DDS::MultiTopic::narrow ( ITopicDescription topic_description)
inlinestatic

Narrow the given ITopicDescription pointer to a DDS::MultiTopic pointer.

Returns
DDS::MultiTopic if this ITopicDescription is a DDS::MultiTopic. Otherwise, return NULL.

◆ get_subscription_expression()

System::String ^ DDS::MultiTopic::get_subscription_expression ( )
inline

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.

Returns
subscription_expression of the DDS::MultiTopic.

◆ get_expression_parameters()

void DDS::MultiTopic::get_expression_parameters ( StringSeq parameters)
inline

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
parameters<<inout>> Fill in this sequence with the expression parameters. Cannot be NULL.
Exceptions
Oneof the Standard Return Codes

◆ set_expression_parameters()

void DDS::MultiTopic::set_expression_parameters ( StringSeq parameters)
inline

Set the expression_parameters.

Changes the expression_parameters associated with the DDS::MultiTopic.

Parameters
parameters<<in>> the filter expression parameters
Returns
One of the Standard Return Codes.

◆ get_type_name()

virtual System::String ^ DDS::MultiTopic::get_type_name ( )
inlinevirtual

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

Thus, the type_name implies an association with a corresponding DDS::TypeSupport and this ITopicDescription.

Returns
the type name. The returned type name is valid until the ITopicDescription is deleted.
Postcondition
The result is non-NULL.
See also
DDS::TypeSupport, FooTypeSupport

Implements DDS::ITopicDescription.

◆ get_name()

virtual System::String ^ DDS::MultiTopic::get_name ( )
inlinevirtual

Get the name used to create this ITopicDescription .

Returns
the name used to create this ITopicDescription. The returned topic name is valid until the ITopicDescription is deleted.
Postcondition
The result is non-NULL.

Implements DDS::ITopicDescription.

◆ get_participant()

virtual DomainParticipant ^ DDS::MultiTopic::get_participant ( )
inlinevirtual

Get the DDS::DomainParticipant to which the ITopicDescription belongs.

Returns
The DDS::DomainParticipant to which the ITopicDescription belongs.
Postcondition
The result is non-NULL.

Implements DDS::ITopicDescription.