RTI Connext C API  Version 6.0.0
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
DATA_TAG

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

Data Structures

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

Typedefs

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

Functions

struct DDS_TagDDS_DataTagQosPolicyHelper_lookup_tag (DDS_DataTagQosPolicy *policy, const char *name)
 Searches by tag name for a tag in the input policy.
 
DDS_ReturnCode_t DDS_DataTagQosPolicyHelper_assert_tag (DDS_DataTagQosPolicy *policy, const char *name, const char *value)
 Asserts the tag identified by name in the input policy.
 
DDS_ReturnCode_t DDS_DataTagQosPolicyHelper_add_tag (DDS_DataTagQosPolicy *policy, const char *name, const char *value)
 Adds a new tag to the input policy.
 
DDS_ReturnCode_t DDS_DataTagQosPolicyHelper_remove_tag (DDS_DataTagQosPolicy *policy, const char *name)
 Removes a tag from the input policy.
 
DDS_Long DDS_DataTagQosPolicyHelper_get_number_of_tags (const DDS_DataTagQosPolicy *policy)
 Gets the number of data tags in 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 DDS_DataReader or DDS_DataWriter. 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:
DDS_DataReader DDS_DataWriter
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 DDS_DataReader or DDS_DataWriter. 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

struct DDS_Tag* DDS_DataTagQosPolicyHelper_lookup_tag ( DDS_DataTagQosPolicy policy,
const char *  name 
)
read

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.
DDS_ReturnCode_t DDS_DataTagQosPolicyHelper_assert_tag ( DDS_DataTagQosPolicy policy,
const char *  name,
const char *  value 
)

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.
DDS_ReturnCode_t DDS_DataTagQosPolicyHelper_add_tag ( DDS_DataTagQosPolicy policy,
const char *  name,
const char *  value 
)

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
DDS_ReturnCode_t DDS_DataTagQosPolicyHelper_remove_tag ( DDS_DataTagQosPolicy policy,
const char *  name 
)

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.
DDS_Long DDS_DataTagQosPolicyHelper_get_number_of_tags ( const DDS_DataTagQosPolicy policy)

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.

Variable Documentation

const char* const DDS_DATATAG_QOS_POLICY_NAME

Stringified human-readable name for DDS_DataTagQosPolicy.


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