A DynamicData object represents an individual data sample. It provides reflective getters and setters for the members of that sample. More...
Public Member Functions | |
virtual const class DynamicType * | get_type (void)=0 |
This provides the type that defines the values within this sample. | |
virtual ReturnCode_t | get_descriptor (class MemberDescriptor *value, const MemberId id)=0 |
This provides access to the descriptor for each value in this object, identified by the member ID. More... | |
virtual ReturnCode_t | set_descriptor (const MemberId id, const class MemberDescriptor *value)=0 |
Set the descriptor of the member specified by 'id'. | |
virtual unsigned char | equals (const class DynamicData *other)=0 |
Compare two DynamicData instances for equality. More... | |
virtual MemberId | get_member_id_by_name (const char *name)=0 |
Access the 'id' of a member matching 'name'. | |
virtual MemberId | get_member_id_at_index (const unsigned int index)=0 |
Access the 'id' of a member at the specified index. | |
virtual unsigned int | get_item_count ()=0 |
Access the "item count" of the DDS_DynamicData. More... | |
virtual ReturnCode_t | get_name_by_id (const char **name_str, const MemberId id)=0 |
Support for map instances. Access the key name by 'id' (index). | |
virtual ReturnCode_t | clear_all_values ()=0 |
Clears all values from the instance. More... | |
virtual ReturnCode_t | clear_nonkey_values ()=0 |
Clear all non-key values from the instance. More... | |
virtual ReturnCode_t | clear_value (const MemberId id)=0 |
Clear the specified value from the instance. More... | |
virtual class DynamicData * | loan_value (const MemberId id)=0 |
The "loan" operations loan to the application a DynamicData object representing a value within this sample. More... | |
virtual ReturnCode_t | return_loaned_value (const class DynamicData *value)=0 |
Return a "loaned" data sample. More... | |
virtual class DynamicData * | clone ()=0 |
Create and return a new data sample with the same contents as this one. More... | |
virtual ReturnCode_t | get_int32_value (int *value, const MemberId id)=0 |
Access a 32bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_int32_value (const MemberId id, const int value)=0 |
Set a 32bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_uint32_value (unsigned int *value, const MemberId id)=0 |
Access an unsigned 32bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_uint32_value (const MemberId id, const unsigned int value)=0 |
Set an unsigned 32bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_int16_value (short *value, const MemberId id)=0 |
Access a 16bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_int16_value (const MemberId id, const short value)=0 |
Set a 16bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_uint16_value (unsigned short *value, const MemberId id)=0 |
Access an unsigned 16bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_uint16_value (const MemberId id, const unsigned short value)=0 |
Set an unsigned 16bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_int64_value (int64_t *value, const MemberId id)=0 |
Access a 64bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_int64_value (const MemberId id, const int64_t value)=0 |
Set a 64bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_uint64_value (uint64_t *value, const MemberId id)=0 |
Access an unsigned 64bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_uint64_value (const MemberId id, const uint64_t value)=0 |
Set an unsigned 64bit integer value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_float32_value (float *value, const MemberId id)=0 |
Access a float value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_float32_value (const MemberId id, const float value)=0 |
Set a float value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_float64_value (double *value, const MemberId id)=0 |
Access a double value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_float64_value (const MemberId id, const double value)=0 |
Set a double value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_char8_value (char *value, const MemberId id)=0 |
Access an 8bit character value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_char8_value (const MemberId id, const char value)=0 |
Set an 8bit character value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_char32_value (cdx_char32_t *value, const MemberId id)=0 |
Access a 32bit character value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_char32_value (const MemberId id, const cdx_char32_t value)=0 |
Set a 32bit character value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_byte_value (unsigned char *value, const MemberId id)=0 |
Access an 8bit value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_byte_value (const MemberId id, const unsigned char value)=0 |
Set an 8bit value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_boolean_value (unsigned char *value, const MemberId id)=0 |
Access a boolean value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_boolean_value (const MemberId id, const unsigned char value)=0 |
Set a boolean value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_string_value (char **value, const MemberId id)=0 |
Access a string value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_string_value (const MemberId id, const char *value)=0 |
Set a string value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_wstring_value (cdx_char32_t **value, const MemberId id)=0 |
Access a wstring value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_wstring_value (const MemberId id, const cdx_char32_t *value)=0 |
Set a wstring value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_complex_value (class DynamicData **value, const MemberId id)=0 |
Access a complex value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | set_complex_value (const MemberId id, class DynamicData *value)=0 |
Set a complex value, identified by 'id', in the sample. More... | |
virtual ReturnCode_t | get_int32_values (Int32Seq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_int32_values (const MemberId id, const Int32Seq *value)=0 |
virtual ReturnCode_t | get_uint32_values (UInt32Seq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_uint32_values (const MemberId id, const UInt32Seq *value)=0 |
virtual ReturnCode_t | get_int16_values (Int16Seq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_int16_values (const MemberId id, const Int16Seq *value)=0 |
virtual ReturnCode_t | get_uint16_values (UInt16Seq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_uint16_values (const MemberId id, const UInt16Seq *value)=0 |
virtual ReturnCode_t | get_int64_values (Int64Seq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_int64_values (const MemberId id, const Int64Seq *value)=0 |
virtual ReturnCode_t | get_uint64_values (UInt64Seq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_uint64_values (const MemberId id, const UInt64Seq *value)=0 |
virtual ReturnCode_t | get_float32_values (Float32Seq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_float32_values (const MemberId id, const Float32Seq *value)=0 |
virtual ReturnCode_t | get_float64_values (Float64Seq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_float64_values (const MemberId id, const Float64Seq *value)=0 |
virtual ReturnCode_t | get_char8_values (CharSeq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_char8_values (const MemberId id, const CharSeq *value)=0 |
virtual ReturnCode_t | get_char32_values (WcharSeq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_char32_values (const MemberId id, const WcharSeq *value)=0 |
virtual ReturnCode_t | get_byte_values (ByteSeq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_byte_values (const MemberId id, const ByteSeq *value)=0 |
virtual ReturnCode_t | get_boolean_values (BooleanSeq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_boolean_values (const MemberId id, const BooleanSeq *value)=0 |
virtual ReturnCode_t | get_string_values (StringSeq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_string_values (const MemberId id, const StringSeq *value)=0 |
virtual ReturnCode_t | get_wstring_values (WstringSeq *value, const MemberId id)=0 |
virtual ReturnCode_t | set_wstring_values (const MemberId id, const WstringSeq *value)=0 |
Protected Member Functions | |
DynamicData () | |
A 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 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.
Note that indices used here are always relative to other values in a particular 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:
|
protected |
Constructor, Copy Constructor, Destructor, Assignment operator
|
pure virtual |
Clears all values from the instance.
The meaning of "clearing" a member depends on the type of data represented by this sample:
|
pure virtual |
Clear all non-key values from the instance.
|
pure virtual |
Clear the specified value from the instance.
|
pure virtual |
Create and return a new data sample with the same contents as this one.
A comparison of this object and the clone using equals immediately following this call will return true.
|
pure virtual |
Compare two DynamicData instances for equality.
Two data samples are considered to be equal if and only if all of the following conditions hold:
If the samples’ type is an aggregated type, the previous rule is amended as follows:
|
pure virtual |
Access a boolean value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access an 8bit value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access a 32bit character value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access an 8bit character value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access a complex value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
This provides access to the descriptor for each value in this object, identified by the member ID.
See the description of DynamicData values.
|
pure virtual |
Access a float value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access a double value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access a 16bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access a 32bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access a 64bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access the "item count" of the DDS_DynamicData.
The "item count" of the data depends on the type of the object.
|
pure virtual |
Access a string value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access an unsigned 16bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access an unsigned 32bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access an unsigned 64bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Access a wstring value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
The "loan" operations loan to the application a DynamicData object representing a value within this sample.
This operation allows applications to visit values without allocating additional DynamicData objects or copying values. This loan shall be returned by the DDS_DynamicData_return_loaned_value operation.
A given DynamicData object may support only a single outstanding loan at a time. That is, after calling a "loan" operation, an application must subsequently call return_loaned_value before calling a loan operation again. If an application violates this constraint, the loan operation shall return a nil value.
A loan operation shall also return a nil value if the indicated value does not exist.
|
pure virtual |
Return a "loaned" data sample.
The DynamicData::return_loaned_value operation may return RETCODE_PRECONDITION_NOT_MET if the provided sample object does not represent an outstanding loan from the sample on which the operation is invoked.
|
pure virtual |
Set a boolean value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set an 8bit value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set a 32bit character value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set an 8bit character value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set a complex value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
Set a float value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set a double value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set a 16bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set a 32bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set a 64bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set a string value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set an unsigned 16bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set an unsigned 32bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set an unsigned 64bit integer value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |
|
pure virtual |
Set a wstring value, identified by 'id', in the sample.
If 'id' is 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'.
RETCODE_BAD_PARAMETER | in the case of an invalid parameter or non-existent 'id'. |
|
pure virtual |