RTI Connext Traditional C++ API  Version 6.0.0
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
DATA_TAG

Stores (name, value) pairs that can be used to determine access permissions. More...

Classes

struct  DDS_Tag
 Tags are name/value pair objects. More...
 
struct  DDS_TagSeq
 Declares IDL sequence < DDS_Tag > More...
 
struct  DDS_DataTags
 Definition of DDS_DataTagQosPolicy. More...
 
class  DDSDataTagQosPolicyHelper
 Policy helpers that facilitate management of the data tags in the input policy. More...
 

Typedefs

typedef struct DDS_DataTags DDS_DataTagQosPolicy
 Stores (name, value) pairs that can be used to determine access permissions.
 

Functions

static DDS_Long DDSDataTagQosPolicyHelper::get_number_of_tags (DDS_DataTagQosPolicy &policy)
 Gets the number of data tags in the input policy.
 
static DDS_ReturnCode_t DDSDataTagQosPolicyHelper::assert_tag (DDS_DataTagQosPolicy &policy, const char *name, const char *value)
 Asserts the tag identified by name in the input policy.
 
static DDS_ReturnCode_t DDSDataTagQosPolicyHelper::add_tag (DDS_DataTagQosPolicy &policy, const char *name, const char *value)
 Adds a new tag to the input policy.
 
static struct DDS_TagDDSDataTagQosPolicyHelper::lookup_tag (DDS_DataTagQosPolicy &policy, const char *name)
 Searches by tag name for a tag in the input policy.
 
static DDS_ReturnCode_t DDSDataTagQosPolicyHelper::remove_tag (DDS_DataTagQosPolicy &policy, const char *name)
 Removes a tag from the input policy.
 

Variables

const char *const DDS_DATATAG_QOS_POLICY_NAME
 Stringified human-readable name for DDS_DataTagQosPolicy.
 

Detailed Description

Stores (name, value) pairs that can be used to determine access permissions.

The DDS_DataTagQosPolicy can be used to associate a set of tags in the form of (name, value) pairs with a DDSDataReader or DDSDataWriter. This is similar to the DDS_PropertyQosPolicy, except you cannot select whether or not a particular pair should be propagated (included in the built-in topic). Data tags are always propagated. The Access Control plugin may use the tags to determine publish and subscribe permissions.

Typedef Documentation

Stores (name, value) pairs that can be used to determine access permissions.

Entity:
DDSDataReader DDSDataWriter
Properties:
RxO = N/A;
Changeable = NO

Usage

The DATA_TAG QoS policy can be used to associate a set of tags in the form of (name, value) pairs with a DDSDataReader or DDSDataWriter. This is similar to the DDS_PropertyQosPolicy, except for the following differences:

  • Data tags are always propagated. You cannot select whether or not a particular pair should be propagated.
  • Connext passes data tags to the Access Control Security Plugin, which may use them to decide whether to allow or deny the corresponding entities.

There are helper functions to facilitate working with data tags. See the DATA_TAG page.

Function Documentation

static DDS_Long DDSDataTagQosPolicyHelper::get_number_of_tags ( DDS_DataTagQosPolicy policy)
static

Gets the number of data tags in the input policy.

Precondition
policy cannot be NULL.
Parameters
policy<<in>> Input policy.
Returns
Number of data tags.
static DDS_ReturnCode_t DDSDataTagQosPolicyHelper::assert_tag ( DDS_DataTagQosPolicy policy,
const char *  name,
const char *  value 
)
static

Asserts the tag identified by name in the input policy.

If the tag already exists, this function replaces its current value with the new one.

If the tag identified by name does not exist, this function adds it to the tag set.

This function increases the maximum number of elements of the policy sequence by 10 when this number is not enough to store the new tag.

Precondition
policy, name and value cannot be NULL.
Parameters
policy<<in>> Input policy.
name<<in>> Tag name.
value<<in>> Tag value.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES.
static DDS_ReturnCode_t DDSDataTagQosPolicyHelper::add_tag ( DDS_DataTagQosPolicy policy,
const char *  name,
const char *  value 
)
static

Adds a new tag to the input policy.

This function will allocate memory to store the (name, value) pair. The memory allocated is owned by RTI Connext.

If the maximum number of elements of the policy sequence is not enough to store the new tag, this function will increase it by 10.

If the tag already exists, the function will fail with DDS_RETCODE_PRECONDITION_NOT_MET.

Precondition
policy, name and value cannot be NULL.
The tag is not in the policy.
Parameters
policy<<in>> Input policy.
name<<in>> Tag name.
value<<in>> Tag value.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES or DDS_RETCODE_PRECONDITION_NOT_MET
static struct DDS_Tag* DDSDataTagQosPolicyHelper::lookup_tag ( DDS_DataTagQosPolicy policy,
const char *  name 
)
staticread

Searches by tag name for a tag in the input policy.

Precondition
policy, name and value cannot be NULL.
Parameters
policy<<in>> Input policy.
name<<in>> Tag name.
Returns
The function returns the first tag with the given name. If such a tag does not exist, the function returns NULL.
static DDS_ReturnCode_t DDSDataTagQosPolicyHelper::remove_tag ( DDS_DataTagQosPolicy policy,
const char *  name 
)
static

Removes a tag from the input policy.

If the tag does not exist, the function fails with DDS_RETCODE_PRECONDITION_NOT_MET.

Precondition
policy and name cannot be NULL.
The tag is in the policy.
Parameters
policy<<in>> Input policy.
name<<in>> Tag name.
Returns
One of the Standard Return Codes or DDS_RETCODE_PRECONDITION_NOT_MET.

Variable Documentation

const char* const DDS_DATATAG_QOS_POLICY_NAME

Stringified human-readable name for DDS_DataTagQosPolicy.


RTI Connext Traditional C++ API Version 6.0.0 Copyright © Sun Mar 3 2019 Real-Time Innovations, Inc