#include <managed_topic.h>
Public Member Functions | |
System::String^ | get_subscription_expression () |
Get the expression for this DDS::MultiTopic. | |
void | get_expression_parameters (StringSeq^ parameters) |
Get the expression parameters. | |
void | set_expression_parameters (StringSeq^ parameters) |
Set the expression_parameters . | |
virtual System::String^ | get_type_name () |
Get the associated type_name . | |
virtual System::String^ | get_name () |
Get the name used to create this DDS::TopicDescription . | |
virtual DomainParticipant^ | get_participant () |
Get the DDS::DomainParticipant to which the DDS::TopicDescription belongs. | |
Static Public Member Functions | |
static MultiTopic^ | narrow (ITopicDescription^ topic_description) |
Narrow the given DDS::TopicDescription pointer to a DDS::MultiTopic pointer. |
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
.
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. 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).
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:
view_state
of the DDS::MultiTopic instance is DDS::ViewStateKind::NEW_VIEW_STATE
if at least one of the constituting instances has view_state
= DDS::ViewStateKind::NEW_VIEW_STATE. Otherwise, it will be DDS::ViewStateKind::NOT_NEW_VIEW_STATE. instance_state
of the DDS::MultiTopic instance is DDS::InstanceStateKind::ALIVE_INSTANCE_STATE if the instance_state
of all the constituting DDS::Topic instances is DDS::InstanceStateKind::ALIVE_INSTANCE_STATE. It is DDS::InstanceStateKind::NOT_ALIVE_DISPOSED_INSTANCE_STATE if at least one of the constituting DDS::Topic instances is DDS::InstanceStateKind::NOT_ALIVE_DISPOSED_INSTANCE_STATE. Otherwise, it is DDS::InstanceStateKind::NOT_ALIVE_NO_WRITERS_INSTANCE_STATE. subscription_expression
and expression_parameters
. static MultiTopic ^ DDS::MultiTopic::narrow | ( | ITopicDescription^ | topic_description | ) | [inline, static] |
Narrow the given DDS::TopicDescription pointer to a DDS::MultiTopic pointer.
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.
subscription_expression
of the DDS::MultiTopic. 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 | <<inout>> Fill in this sequence with the expression parameters. Cannot be NULL. |
One | of the Standard Return Codes |
void DDS::MultiTopic::set_expression_parameters | ( | StringSeq^ | parameters | ) | [inline] |
Set the expression_parameters
.
Changes the expression_parameters
associated with the DDS::MultiTopic.
parameters | <<in>> the filter expression parameters |
virtual System::String ^ DDS::MultiTopic::get_type_name | ( | ) | [inline, virtual] |
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 DDS::TopicDescription.
Implements DDS::ITopicDescription.
virtual System::String ^ DDS::MultiTopic::get_name | ( | ) | [inline, virtual] |
Get the name used to create this DDS::TopicDescription .
Implements DDS::ITopicDescription.
virtual DomainParticipant ^ DDS::MultiTopic::get_participant | ( | ) | [inline, virtual] |
Get the DDS::DomainParticipant to which the DDS::TopicDescription belongs.
Implements DDS::ITopicDescription.