CoreDX Data Distribution Service
The High Performance, Small Footprint DDS from Twin Oaks Computing, Inc
DDS_DynamicData Struct Reference

A DDS_DynamicData object represents an individual data sample. It provides reflective getters and setters for the members of that sample. More...

Related Functions

(Note that these are not member functions.)

COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_type (DDS_DynamicData dd, DDS_DynamicType *dyn_type)
 This provides the type that defines the values within this sample.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_descriptor (DDS_DynamicData dd, DDS_MemberDescriptor *value, const DDS_MemberId id)
 This provides access to the descriptor for each value in this object, identified by the member ID. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_descriptor (DDS_DynamicData dd, const DDS_MemberId id, const DDS_MemberDescriptor *value)
 Set the descriptor of the member specified by 'id'.
 
COREDX_C_DYNTYPE_API unsigned char DDS_DynamicData_equals (DDS_DynamicData dd, const DDS_DynamicData *other)
 Compare two DDS_DynamicData instances for equality. More...
 
COREDX_C_DYNTYPE_API DDS_MemberId DDS_DynamicData_get_member_id_by_name (DDS_DynamicData dd, const DDS_ObjectName name)
 Access the 'id' of a member matching 'name'.
 
COREDX_C_DYNTYPE_API DDS_MemberId DDS_DynamicData_get_member_id_at_index (DDS_DynamicData dd, const unsigned int index)
 Access the 'id' of a member at the specified index.
 
COREDX_C_DYNTYPE_API unsigned int DDS_DynamicData_get_item_count (DDS_DynamicData dd)
 Access the "item count" of the DDS_DynamicData. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_clear_all_values (DDS_DynamicData dd)
 Clears all values from the instance. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_clear_nonkey_values (DDS_DynamicData dd)
 Clear all non-key values from the instance. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_clear_value (DDS_DynamicData dd, const DDS_MemberId id)
 Clear the specified value from the instance. More...
 
COREDX_C_DYNTYPE_API DDS_DynamicData DDS_DynamicData_loan_value (DDS_DynamicData dd, const DDS_MemberId id)
 The "loan" operations loan to the application a DDS_DynamicData object representing a value within this sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_return_loaned_value (DDS_DynamicData dd, const DDS_DynamicData value)
 Return a "loaned" data sample. More...
 
COREDX_C_DYNTYPE_API DDS_DynamicData DDS_DynamicData_clone (DDS_DynamicData dd)
 Create and return a new data sample with the same contents as this one. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_int32_value (DDS_DynamicData dd, int *value, const DDS_MemberId id)
 Access a 32bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_int32_value (DDS_DynamicData dd, const DDS_MemberId id, const int value)
 Set a 32bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_uint32_value (DDS_DynamicData dd, unsigned int *value, const DDS_MemberId id)
 Access an unsigned 32bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_uint32_value (DDS_DynamicData dd, const DDS_MemberId id, const unsigned int value)
 Set an unsigned 32bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_int16_value (DDS_DynamicData dd, short *value, const DDS_MemberId id)
 Access a 16bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_int16_value (DDS_DynamicData dd, const DDS_MemberId id, const short value)
 Set a 16bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_uint16_value (DDS_DynamicData dd, unsigned short *value, const DDS_MemberId id)
 Access an unsigned 16bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_uint16_value (DDS_DynamicData dd, const DDS_MemberId id, const unsigned short value)
 Set an unsigned 16bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_int64_value (DDS_DynamicData dd, int64_t *value, const DDS_MemberId id)
 Access a 64bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_int64_value (DDS_DynamicData dd, const DDS_MemberId id, const int64_t value)
 Set a 64bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_uint64_value (DDS_DynamicData dd, uint64_t *value, const DDS_MemberId id)
 Access an unsigned 64bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_uint64_value (DDS_DynamicData dd, const DDS_MemberId id, const uint64_t value)
 Set an unsigned 64bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_float32_value (DDS_DynamicData dd, float *value, const DDS_MemberId id)
 Access a float value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_float32_value (DDS_DynamicData dd, const DDS_MemberId id, const float value)
 Set a float value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_float64_value (DDS_DynamicData dd, double *value, const DDS_MemberId id)
 Access a double value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_float64_value (DDS_DynamicData dd, const DDS_MemberId id, const double value)
 Set a double value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_char8_value (DDS_DynamicData dd, char *value, const DDS_MemberId id)
 Access an 8bit character value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_char8_value (DDS_DynamicData dd, const DDS_MemberId id, const char value)
 Set an 8bit character value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_char32_value (DDS_DynamicData dd, cdx_char32_t *value, const DDS_MemberId id)
 Access a 32bit character value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_char32_value (DDS_DynamicData dd, const DDS_MemberId id, const cdx_char32_t value)
 Set a 32bit character value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_byte_value (DDS_DynamicData dd, unsigned char *value, const DDS_MemberId id)
 Access an 8bit value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_byte_value (DDS_DynamicData dd, const DDS_MemberId id, const unsigned char value)
 Set an 8bit value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_boolean_value (DDS_DynamicData dd, unsigned char *value, const DDS_MemberId id)
 Access a boolean value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_boolean_value (DDS_DynamicData dd, const DDS_MemberId id, const unsigned char value)
 Set a boolean value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_string_value (DDS_DynamicData dd, char **value, const DDS_MemberId id)
 Access a string value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_string_value (DDS_DynamicData dd, const DDS_MemberId id, const char *value)
 Set a string value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_wstring_value (DDS_DynamicData dd, cdx_char32_t **value, const DDS_MemberId id)
 Access a wstring value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_wstring_value (DDS_DynamicData dd, const DDS_MemberId id, const cdx_char32_t *value)
 Set a wstring value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_complex_value (DDS_DynamicData dd, DDS_DynamicData *value, const DDS_MemberId id)
 Access a complex value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_complex_value (DDS_DynamicData dd, const DDS_MemberId id, const DDS_DynamicData value)
 Set a complex value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_map_key_value (DDS_DynamicData dd, const char **key_str, const DDS_MemberId id)
 Access the key value of a map type, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_int32_values (DDS_DynamicData dd, DDS_Int32Seq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_int32_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_Int32Seq *value)
 Modify an array of values in the DDS_DynamicData instance. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_uint32_values (DDS_DynamicData dd, DDS_UInt32Seq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_uint32_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_UInt32Seq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_int16_values (DDS_DynamicData dd, DDS_Int16Seq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_int16_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_Int16Seq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_uint16_values (DDS_DynamicData dd, DDS_UInt16Seq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_uint16_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_UInt16Seq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_int64_values (DDS_DynamicData dd, DDS_Int64Seq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_int64_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_Int64Seq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_uint64_values (DDS_DynamicData dd, DDS_UInt64Seq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_uint64_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_UInt64Seq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_float32_values (DDS_DynamicData dd, DDS_Float32Seq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_float32_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_Float32Seq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_float64_values (DDS_DynamicData dd, DDS_Float64Seq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_float64_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_Float64Seq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_char8_values (DDS_DynamicData dd, DDS_CharSeq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_char8_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_CharSeq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_char32_values (DDS_DynamicData dd, DDS_WcharSeq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_char32_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_WcharSeq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_byte_values (DDS_DynamicData dd, DDS_ByteSeq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_byte_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_ByteSeq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_boolean_values (DDS_DynamicData dd, DDS_BooleanSeq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_boolean_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_BooleanSeq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_string_values (DDS_DynamicData dd, DDS_StringSeq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_string_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_StringSeq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_wstring_values (DDS_DynamicData dd, DDS_WstringSeq *value, const DDS_MemberId id)
 Provide access to array values as a sequence. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. The sequence is populated with a 'shallow' copy of the data. This means that modifications to any of the values in the sequence will result in modifications to the data in the DDS_DynamicData instance. It is an error to 'clear' the returned sequence, as this will destroy memory that the DynamicData owns.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_set_wstring_values (DDS_DynamicData dd, const DDS_MemberId id, const DDS_WstringSeq *value)
 Modify an array of values in the DDS_DynamicData instance. If 'dd' is an array type, then 'id' must be DDS_MEMBER_ID_INVALID. If 'dd' is an aggregate type, then 'id' must refer to a member that is of type array. This copies the data into the DynamicData instance 'dd'. Modifications to the value sequence after this call will not have an effect on the contents of 'dd'.
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicDataFactory_create_value (DDS_DynamicDataFactory ddf, const DDS_DynamicData data, const DDS_MemberId id, DDS_DynamicData *value)
 Creates a DynamicData instance for the specified member (id) of 'data'. This is useful for 'optional' members that are not constructed by the DDS_DynamicData_create_data() call. By default 'optional' members are left in the 'null' state. To set them, call create_value() and then set_complex_value().
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_int32_ref (DDS_DynamicData dd, int32_t **value_ref, const DDS_MemberId id)
 Access a pointer to a 32bit integer value, identified by 'id', in the sample. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_copy (DDS_DynamicData dest_dd, DDS_DynamicData src_dd)
 Copies contents from 'src' to 'dest'.
 

Detailed Description

A DDS_DynamicData object represents an individual data sample. It provides reflective getters and setters for the members of that sample.

Many of the properties and operations on DDS_DynamicData refer to values within the sample, which are identified by name, member ID, or index.

What constitutes a value within a sample, and which means of accessing it are valid, depends on the type of the sample.

  • If this instance is of an aggregated type, values correspond to the type’s members and can be accessed by name, member ID, or index.
  • If this instance is of a sequence or string type, values correspond to the elements of the collection. These elements must be accessed by index; the mapping from index to member ID is unspecified.
  • If this object is of a map type, values correspond to the values of the map. Map keys are implicitly converted to strings and can thus be used to look up map values by name. Map values can also be accessed by index, although the order is unspecified.
  • If the object is of an array type, values correspond to the elements of the array. These elements must be accessed by index; the mapping from index to member ID is unspecified. If the array is multi-dimensional, elements are accessed as if they were “flattened” into a single-dimensional array in the order specified by the IDL specification.
  • If the object is of a bit set type, values correspond to the flags within the bit set and are all of Boolean type. Named flags can be accessed using that name; any bit within the bound of the bit set may be accessed by its index. The mappings from name and index to member ID are unspecified.
  • If the object is of an enumeration or primitive type, it has no contained values. However, the value of the sample itself may be indicated by "name" using a nil or empty string, by "ID" by passing MEMBER_ID_INVALID, or by "index" by passing index 0.

Note that indices used here are always relative to other values in a particular DDS_DynamicData object. Even though member definitions within aggregate types have a well-defined order, the same is not true within data samples or across data samples.

Specifically, the index at which a member of an aggregated type appears in a particular data sample may not match that in which it appears in the corresponding type and may not match the index at which it appears in a different data sample.

There are several reasons for these inconsistencies:

  • The producer of the sample may be using a slightly different variant of the type than the consumer, which may add to, or omit elements from, the set of members known to the consumer.
  • An optional member may have no value; in such a case, it will be omitted, thereby decreasing the index of every subsequent member.
  • A non-optional member may likewise be omitted (which semantically is equivalent to it taking its default value). An implementation may discretionarily omit such members (e.g., to save space).
  • Preserving member order is not necessary or even desirable (e.g., for performance reasons) for certain data representations.
    See also
    DDS_DynamicType
    DDS_DynamicDataFactory

Friends And Related Function Documentation

◆ DDS_DynamicData_get_int32_ref()

COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicData_get_int32_ref ( DDS_DynamicData  dd,
int32_t **  value_ref,
const DDS_MemberId  id 
)
related

Access a pointer to a 32bit integer value, identified by 'id', in the sample.

If successful, the pointer returned in '*value_ref' will point to a member internal to the DyanmicData instance. Writing to the pointer will change the value of the associated member in the DyanmicData instance. The pointer will remain valid for the life of the DynamicData instance. It is an error to use the pointer to access memory after the DynamicData instance has been destroyed. If the member is 'optional', the pointer may be NULL indicating that the member is not present; in this case it is an error to read or write using the pointer.

If 'id' is DDS_MEMBER_ID_INVALID, then it attempts to treat 'dd' as the requested type. Otherwise, it looks in 'dd' for a value that matches that 'id'. As described above, 'id' has different meanings based on the type of 'dd'.

Note
This is a CoreDX DDS extension.
Return values
DDS_RETCODE_BAD_PARAMETERin the case of an invalid parameter or non-existent 'id'.

© 2009-2020 Twin Oaks Computing, Inc
Castle Rock, CO 80104
All rights reserved.