RTI Connext C API  Version 5.3.0
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Dynamic Data

<<extension>> The Dynamic Data API provides a way to interact with arbitrarily complex data types at runtime without the need for code generation. More...

Data Structures

struct  DDS_DynamicDataProperty_t
 A collection of attributes used to configure DDS_DynamicData objects. More...
 
struct  DDS_DynamicDataTypeSerializationProperty_t
 Properties that govern how data of a certain type will be serialized on the network. More...
 
struct  DDS_DynamicDataInfo
 A descriptor for a DDS_DynamicData object. More...
 
struct  DDS_DynamicDataMemberInfo
 A descriptor for a single member (i.e. field) of dynamically defined data type. More...
 
struct  DDS_DynamicData
 A sample of any complex data type, which can be inspected and manipulated reflectively. More...
 
struct  DDS_DynamicDataSeq
 An ordered collection of DDS_DynamicData elements. More...
 
struct  DDS_DynamicDataTypeProperty_t
 A collection of attributes used to configure DDS_DynamicDataTypeSupport objects. More...
 

Macros

#define DDS_DynamicDataProperty_t_INITIALIZER
 Static initializer for DDS_DynamicDataProperty_t objects.
 
#define DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED
 A sentinel value that indicates that no member ID is needed in order to perform some operation.
 
#define DDS_DynamicDataTypeProperty_t_INITIALIZER
 Static initializer for DDS_DynamicDataTypeProperty_t objects.
 

Typedefs

typedef DDS_Long DDS_DynamicDataMemberId
 An integer that uniquely identifies some member of a data type within that type.
 
typedef struct
DDS_DynamicDataWriter 
DDS_DynamicDataWriter
 Writes (publishes) objects of type DDS_DynamicData.
 
typedef struct
DDS_DynamicDataReader 
DDS_DynamicDataReader
 Reads (subscribes to) objects of type DDS_DynamicData.
 
typedef struct
DDS_DynamicDataTypeSupport 
DDS_DynamicDataTypeSupport
 A factory for registering a dynamically defined type and creating DDS_DynamicData objects.
 

Functions

DDS_Boolean DDS_DynamicData_initialize (DDS_DynamicData *self, const DDS_TypeCode *type, const struct DDS_DynamicDataProperty_t *property)
 Initialize a DDS_DynamicData object to a valid empty state.
 
DDS_DynamicDataDDS_DynamicData_new (const DDS_TypeCode *type, const struct DDS_DynamicDataProperty_t *property)
 The constructor for new DDS_DynamicData objects.
 
void DDS_DynamicData_finalize (DDS_DynamicData *self)
 Clean up the internal state of this object to get it ready for deallocation, but don't deallocate the pointer.
 
void DDS_DynamicData_delete (DDS_DynamicData *self)
 Finalize and deallocate this DDS_DynamicData sample.
 
DDS_ReturnCode_t DDS_DynamicData_copy (DDS_DynamicData *self, const DDS_DynamicData *src)
 Deeply copy from the given object to this object.
 
DDS_Boolean DDS_DynamicData_equal (const DDS_DynamicData *self, const DDS_DynamicData *other)
 Indicate whether the contents of another DDS_DynamicData sample are the same as those of this one.
 
DDS_ReturnCode_t DDS_DynamicData_clear_all_members (DDS_DynamicData *self)
 Clear the contents of all data members of this object, including key members.
 
DDS_ReturnCode_t DDS_DynamicData_clear_optional_member (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id)
 Clear the contents of a single optional data member of this object.
 
DDS_ReturnCode_t DDS_DynamicData_set_buffer (DDS_DynamicData *self, DDS_Octet *storage, DDS_Long size)
 Associate a buffer with this dynamic data object.
 
DDS_ReturnCode_t DDS_DynamicData_get_estimated_max_buffer_size (const DDS_DynamicData *self, DDS_Long *size)
 Get the estimated maximum buffer size for a DynamicData object.
 
DDS_ReturnCode_t DDS_DynamicData_print (const DDS_DynamicData *self, FILE *fp, int indent)
 Output a textual representation of this object and its contents to the given file.
 
DDS_ReturnCode_t DDS_DynamicData_from_cdr_buffer (DDS_DynamicData *self, const char *buffer, unsigned int length)
 Deserializes a DynamicData object from a buffer of octets.
 
DDS_ReturnCode_t DDS_DynamicData_to_cdr_buffer (DDS_DynamicData *self, char *buffer, unsigned int *length)
 Serializes a DynamicData object into a buffer of octets.
 
DDS_ReturnCode_t DDS_DynamicData_to_string (DDS_DynamicData *self, char *str, DDS_UnsignedLong *str_size, const struct DDS_PrintFormatProperty *property)
 Get a string representation of a DynamicData object.
 
void DDS_DynamicData_get_info (const DDS_DynamicData *self, struct DDS_DynamicDataInfo *info_out)
 Fill in the given descriptor with information about this DDS_DynamicData.
 
DDS_ReturnCode_t DDS_DynamicData_bind_type (DDS_DynamicData *self, const DDS_TypeCode *type)
 If this DDS_DynamicData object is not yet associated with a data type, set that type now to the given DDS_TypeCode.
 
DDS_ReturnCode_t DDS_DynamicData_unbind_type (DDS_DynamicData *self)
 Dissociate this DDS_DynamicData object from any particular data type.
 
DDS_ReturnCode_t DDS_DynamicData_bind_complex_member (DDS_DynamicData *self, DDS_DynamicData *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Use another DDS_DynamicData object to provide access to a complex field of this DDS_DynamicData object.
 
DDS_ReturnCode_t DDS_DynamicData_unbind_complex_member (DDS_DynamicData *self, DDS_DynamicData *value)
 Tear down the association created by a DDS_DynamicData_bind_complex_member operation, committing any changes to the outer object since then.
 
const DDS_TypeCodeDDS_DynamicData_get_type (const DDS_DynamicData *self)
 Get the data type, of which this DDS_DynamicData represents an instance.
 
DDS_TCKind DDS_DynamicData_get_type_kind (const DDS_DynamicData *self)
 Get the kind of this object's data type.
 
DDS_UnsignedLong DDS_DynamicData_get_member_count (const DDS_DynamicData *self)
 Get the number of members in the type.
 
DDS_Boolean DDS_DynamicData_member_exists (const DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id)
 Indicates whether a member of a particular name/ID exists in this data sample.
 
DDS_Boolean DDS_DynamicData_member_exists_in_type (const DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id)
 Indicates whether a member of a particular name/ID exists in this data sample's type.
 
DDS_ReturnCode_t DDS_DynamicData_get_member_info (const DDS_DynamicData *self, struct DDS_DynamicDataMemberInfo *info, const char *member_name, DDS_DynamicDataMemberId member_id)
 Fill in the given descriptor with information about the identified member of this DDS_DynamicData sample.
 
DDS_ReturnCode_t DDS_DynamicData_get_member_info_by_index (const DDS_DynamicData *self, struct DDS_DynamicDataMemberInfo *info, DDS_UnsignedLong index)
 Fill in the given descriptor with information about the identified member of this DDS_DynamicData sample.
 
DDS_ReturnCode_t DDS_DynamicData_get_member_type (const DDS_DynamicData *self, const DDS_TypeCode **type_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the type of the given member of this sample.
 
DDS_ReturnCode_t DDS_DynamicData_is_member_key (const DDS_DynamicData *self, DDS_Boolean *is_key_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Indicates whether a given member forms part of the key of this sample's data type.
 
DDS_ReturnCode_t DDS_DynamicData_get_long (const DDS_DynamicData *self, DDS_Long *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_Long or another type implicitly convertible to it (DDS_Octet, DDS_Char, DDS_Short, DDS_UnsignedShort, or DDS_Enum).
 
DDS_ReturnCode_t DDS_DynamicData_get_short (const DDS_DynamicData *self, DDS_Short *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_Short or another type implicitly convertible to it (DDS_Octet or DDS_Char).
 
DDS_ReturnCode_t DDS_DynamicData_get_ulong (const DDS_DynamicData *self, DDS_UnsignedLong *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_UnsignedLong or another type implicitly convertible to it (DDS_Octet, DDS_Char, DDS_Short, DDS_UnsignedShort, or DDS_Enum).
 
DDS_ReturnCode_t DDS_DynamicData_get_ushort (const DDS_DynamicData *self, DDS_UnsignedShort *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_UnsignedShort or another type implicitly convertible to it (DDS_Octet or DDS_Char).
 
DDS_ReturnCode_t DDS_DynamicData_get_float (const DDS_DynamicData *self, DDS_Float *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_Float.
 
DDS_ReturnCode_t DDS_DynamicData_get_double (const DDS_DynamicData *self, DDS_Double *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_Double or another type implicitly convertible to it (DDS_Float).
 
DDS_ReturnCode_t DDS_DynamicData_get_boolean (const DDS_DynamicData *self, DDS_Boolean *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_Boolean.
 
DDS_ReturnCode_t DDS_DynamicData_get_char (const DDS_DynamicData *self, DDS_Char *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_Char.
 
DDS_ReturnCode_t DDS_DynamicData_get_octet (const DDS_DynamicData *self, DDS_Octet *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_Octet.
 
DDS_ReturnCode_t DDS_DynamicData_get_longlong (const DDS_DynamicData *self, DDS_LongLong *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_LongLong or another type implicitly convertible to it (DDS_Octet, DDS_Char, DDS_Short, DDS_UnsignedShort, DDS_Long, DDS_UnsignedLong, or DDS_Enum).
 
DDS_ReturnCode_t DDS_DynamicData_get_ulonglong (const DDS_DynamicData *self, DDS_UnsignedLongLong *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_UnsignedLongLong or another type implicitly convertible to it (DDS_Octet, DDS_Char, DDS_Short, DDS_UnsignedShort, DDS_Long, DDS_UnsignedLong, or DDS_Enum).
 
DDS_ReturnCode_t DDS_DynamicData_get_longdouble (const DDS_DynamicData *self, DDS_LongDouble *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_LongDouble or another type implicitly convertible to it (DDS_Float or DDS_Double).
 
DDS_ReturnCode_t DDS_DynamicData_get_wchar (const DDS_DynamicData *self, DDS_Wchar *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_Wchar or another type implicitly convertible to it (DDS_Char).
 
DDS_ReturnCode_t DDS_DynamicData_get_string (const DDS_DynamicData *self, char **value, DDS_UnsignedLong *size, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type char*.
 
DDS_ReturnCode_t DDS_DynamicData_get_wstring (const DDS_DynamicData *self, DDS_Wchar **value, DDS_UnsignedLong *size, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get the value of the given field, which is of type DDS_Wchar*.
 
DDS_ReturnCode_t DDS_DynamicData_get_complex_member (const DDS_DynamicData *self, DDS_DynamicData *value_out, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the value of the given field, which is of some composed type.
 
DDS_ReturnCode_t DDS_DynamicData_get_long_array (const DDS_DynamicData *self, DDS_Long *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member. The array may contain members of type DDS_Long or DDS_Enum.
 
DDS_ReturnCode_t DDS_DynamicData_get_short_array (const DDS_DynamicData *self, DDS_Short *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_ulong_array (const DDS_DynamicData *self, DDS_UnsignedLong *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member. The array may contain members of type DDS_UnsignedLong or DDS_Enum.
 
DDS_ReturnCode_t DDS_DynamicData_get_ushort_array (const DDS_DynamicData *self, DDS_UnsignedShort *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_float_array (const DDS_DynamicData *self, DDS_Float *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_double_array (const DDS_DynamicData *self, DDS_Double *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_boolean_array (const DDS_DynamicData *self, DDS_Boolean *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_char_array (const DDS_DynamicData *self, DDS_Char *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_octet_array (const DDS_DynamicData *self, DDS_Octet *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_longlong_array (const DDS_DynamicData *self, DDS_LongLong *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_ulonglong_array (const DDS_DynamicData *self, DDS_UnsignedLongLong *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_longdouble_array (const DDS_DynamicData *self, DDS_LongDouble *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_wchar_array (const DDS_DynamicData *self, DDS_Wchar *array, DDS_UnsignedLong *length, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_get_long_seq (const DDS_DynamicData *self, struct DDS_LongSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_short_seq (const DDS_DynamicData *self, struct DDS_ShortSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_ulong_seq (const DDS_DynamicData *self, struct DDS_UnsignedLongSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_ushort_seq (const DDS_DynamicData *self, struct DDS_UnsignedShortSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_float_seq (const DDS_DynamicData *self, struct DDS_FloatSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_double_seq (const DDS_DynamicData *self, struct DDS_DoubleSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_boolean_seq (const DDS_DynamicData *self, struct DDS_BooleanSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_char_seq (const DDS_DynamicData *self, struct DDS_CharSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_octet_seq (const DDS_DynamicData *self, struct DDS_OctetSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_longlong_seq (const DDS_DynamicData *self, struct DDS_LongLongSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_ulonglong_seq (const DDS_DynamicData *self, struct DDS_UnsignedLongLongSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_longdouble_seq (const DDS_DynamicData *self, struct DDS_LongDoubleSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_get_wchar_seq (const DDS_DynamicData *self, struct DDS_WcharSeq *seq, const char *member_name, DDS_DynamicDataMemberId member_id)
 Get a copy of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_long (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_Long value)
 Set the value of the given field, which is of type DDS_Long.
 
DDS_ReturnCode_t DDS_DynamicData_set_short (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_Short value)
 Set the value of the given field, which is of type DDS_Short.
 
DDS_ReturnCode_t DDS_DynamicData_set_ulong (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong value)
 Set the value of the given field, which is of type DDS_UnsignedLong.
 
DDS_ReturnCode_t DDS_DynamicData_set_ushort (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedShort value)
 Set the value of the given field, which is of type DDS_UnsignedShort.
 
DDS_ReturnCode_t DDS_DynamicData_set_float (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_Float value)
 Set the value of the given field, which is of type DDS_Float.
 
DDS_ReturnCode_t DDS_DynamicData_set_double (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_Double value)
 Set the value of the given field, which is of type DDS_Double.
 
DDS_ReturnCode_t DDS_DynamicData_set_boolean (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_Boolean value)
 Set the value of the given field, which is of type DDS_Boolean.
 
DDS_ReturnCode_t DDS_DynamicData_set_char (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_Char value)
 Set the value of the given field, which is of type DDS_Char.
 
DDS_ReturnCode_t DDS_DynamicData_set_octet (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_Octet value)
 Set the value of the given field, which is of type DDS_Octet.
 
DDS_ReturnCode_t DDS_DynamicData_set_longlong (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_LongLong value)
 Set the value of the given field, which is of type DDS_LongLong.
 
DDS_ReturnCode_t DDS_DynamicData_set_ulonglong (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLongLong value)
 Set the value of the given field, which is of type DDS_UnsignedLongLong.
 
DDS_ReturnCode_t DDS_DynamicData_set_longdouble (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_LongDouble value)
 Set the value of the given field, which is of type DDS_LongDouble.
 
DDS_ReturnCode_t DDS_DynamicData_set_wchar (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_Wchar value)
 Set the value of the given field, which is of type DDS_Wchar.
 
DDS_ReturnCode_t DDS_DynamicData_set_string (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const char *value)
 Set the value of the given field of type char*.
 
DDS_ReturnCode_t DDS_DynamicData_set_wstring (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const DDS_Wchar *value)
 Set the value of the given field of type DDS_Wchar*.
 
DDS_ReturnCode_t DDS_DynamicData_set_complex_member (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const DDS_DynamicData *value)
 Copy the state of the given DDS_DynamicData object into a member of this object.
 
DDS_ReturnCode_t DDS_DynamicData_set_long_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_Long *array)
 Set the contents of the given array member. The array may contain members of type DDS_Long or DDS_Enum.
 
DDS_ReturnCode_t DDS_DynamicData_set_short_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_Short *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_ulong_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_UnsignedLong *array)
 Set the contents of the given array member. The array may contain members of type DDS_UnsignedLong or DDS_Enum.
 
DDS_ReturnCode_t DDS_DynamicData_set_ushort_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_UnsignedShort *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_float_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_Float *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_double_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_Double *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_boolean_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_Boolean *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_char_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_Char *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_octet_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_Octet *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_longlong_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_LongLong *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_ulonglong_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_UnsignedLongLong *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_longdouble_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_LongDouble *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_wchar_array (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, DDS_UnsignedLong length, const DDS_Wchar *array)
 Set the contents of the given array member.
 
DDS_ReturnCode_t DDS_DynamicData_set_long_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_LongSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_short_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_ShortSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_ulong_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_UnsignedLongSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_ushort_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_UnsignedShortSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_float_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_FloatSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_double_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_DoubleSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_boolean_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_BooleanSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_char_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_CharSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_octet_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_OctetSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_longlong_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_LongLongSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_ulonglong_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_UnsignedLongLongSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_longdouble_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_LongDoubleSeq *value)
 Set the contents of the given sequence member.
 
DDS_ReturnCode_t DDS_DynamicData_set_wchar_seq (DDS_DynamicData *self, const char *member_name, DDS_DynamicDataMemberId member_id, const struct DDS_WcharSeq *value)
 Set the contents of the given sequence member.
 
struct DDS_DynamicDataTypeSupportDDS_DynamicDataTypeSupport_new (const DDS_TypeCode *type, const struct DDS_DynamicDataTypeProperty_t *props)
 Construct a new DDS_DynamicDataTypeSupport object.
 
void DDS_DynamicDataTypeSupport_delete (struct DDS_DynamicDataTypeSupport *self)
 Delete a DDS_DynamicDataTypeSupport object.
 
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_register_type (struct DDS_DynamicDataTypeSupport *self, DDS_DomainParticipant *participant, const char *type_name)
 Associate the DDS_TypeCode with the given DDS_DomainParticipant under the given logical name.
 
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_unregister_type (struct DDS_DynamicDataTypeSupport *self, DDS_DomainParticipant *participant, const char *type_name)
 Remove the definition of this type from the DDS_DomainParticipant.
 
const char * DDS_DynamicDataTypeSupport_get_type_name (const struct DDS_DynamicDataTypeSupport *self)
 Get the default name of this type.
 
struct DDS_TypeCodeDDS_DynamicDataTypeSupport_get_data_type (const struct DDS_DynamicDataTypeSupport *self)
 Get the DDS_TypeCode wrapped by this DDS_DynamicDataTypeSupport.
 
DDS_DynamicDataDDS_DynamicDataTypeSupport_create_data (struct DDS_DynamicDataTypeSupport *self)
 Create a new DDS_DynamicData sample initialized with the DDS_TypeCode and properties of this DDS_DynamicDataTypeSupport.
 
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_delete_data (struct DDS_DynamicDataTypeSupport *self, DDS_DynamicData *a_data)
 Finalize and deallocate the DDS_DynamicData sample.
 
void DDS_DynamicDataTypeSupport_print_data (const struct DDS_DynamicDataTypeSupport *self, const DDS_DynamicData *a_data)
 Print a string representation of the given sample to the given file.
 
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_copy_data (const struct DDS_DynamicDataTypeSupport *self, DDS_DynamicData *dest, const DDS_DynamicData *source)
 Deeply copy the given data samples.
 
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_initialize_data (const struct DDS_DynamicDataTypeSupport *self, DDS_DynamicData *a_data)
 Initialize a DDS_DynamicData object to a valid empty state.
 
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_finalize_data (const struct DDS_DynamicDataTypeSupport *self, DDS_DynamicData *a_data)
 Clean up the internal state of this object to get it ready for deallocation, but don't deallocate the pointer.
 

Variables

struct DDS_DynamicDataProperty_t DDS_DYNAMIC_DATA_PROPERTY_DEFAULT
 Sentinel constant indicating default values for DDS_DynamicDataProperty_t.
 
struct
DDS_DynamicDataTypeProperty_t 
DDS_DYNAMIC_DATA_TYPE_PROPERTY_DEFAULT
 Sentinel constant indicating default values for DDS_DynamicDataTypeProperty_t.
 

Detailed Description

<<extension>> The Dynamic Data API provides a way to interact with arbitrarily complex data types at runtime without the need for code generation.

This API allows you to define new data types, modify existing data types, and interact reflectively with samples. To use it, you will take the following steps:

1. Obtain a DDS_TypeCode (see Type Code Support) that defines the type definition you want to use.
A DDS_TypeCode includes a type's kind (DDS_TCKind), name, and members (that is, fields). You can create your own DDS_TypeCode using the DDS_TypeCodeFactory class – see, for example, the DDS_TypeCodeFactory_create_struct_tc method. Alternatively, you can use a remote DDS_TypeCode that you discovered on the network (see Built-in Topics) or one generated by rtiddsgen.

2. Wrap the DDS_TypeCode in a DDS_DynamicDataTypeSupport object.
See the constructor DDS_DynamicDataTypeSupport_new. This object lets you connect the type definition to a DDS_DomainParticipant and manage data samples (of type DDS_DynamicData).

3. Register the DDS_DynamicDataTypeSupport with one or more domain participants.
See DDS_DynamicDataTypeSupport_register_type. This action associates the data type with a logical name that you can use to create topics. (Starting with this step, working with a dynamically defined data type is almost exactly the same as working with a generated one.)

4. Create a DDS_Topic from the DDS_DomainParticipant.
Use the name under which you registered your data type – see DDS_DomainParticipant_create_topic. This DDS_Topic is what you will use to produce and consume data.

5. Create a DDS_DynamicDataWriter and/or DDS_DynamicDataReader.
These objects will produce and/or consume data (of type DDS_DynamicData) on the DDS_Topic. You can create these objects directly from the DDS_DomainParticipant – see DDS_DomainParticipant_create_datawriter and DDS_DomainParticipant_create_datareader – or by first creating intermediate DDS_Publisher and DDS_Subscriber objects – see DDS_DomainParticipant_create_publisher and DDS_DomainParticipant_create_subscriber.

6. Write and/or read the data of interest.

7. Tear down the objects described above.
You should delete them in the reverse order in which you created them. Note that unregistering your data type with the DDS_DomainParticipant is optional; all types are automatically unregistered when the DDS_DomainParticipant itself is deleted.

Macro Definition Documentation

#define DDS_DynamicDataProperty_t_INITIALIZER

Static initializer for DDS_DynamicDataProperty_t objects.

Use this initializer to ensure that new properties objects don't have uninitialized contents.

See Also
DDS_DynamicDataProperty_t
#define DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED

A sentinel value that indicates that no member ID is needed in order to perform some operation.

Most commonly, this constant will be used in "get" operations to indicate that a lookup should be performed based on a name, not on an ID.

See Also
DDS_DynamicDataMemberId
#define DDS_DynamicDataTypeProperty_t_INITIALIZER

Static initializer for DDS_DynamicDataTypeProperty_t objects.

Use this initializer to ensure that new properties objects don't have uninitialized contents.

See Also
DDS_DynamicDataTypeProperty_t

Typedef Documentation

An integer that uniquely identifies some member of a data type within that type.

The range of a member ID is the range of an unsigned short integer, except for the value 0, which is reserved.

See Also
DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED

Writes (publishes) objects of type DDS_DynamicData.

Instantiates DDS_DataWriter < DDS_DynamicData > .

See Also
DDS_DataWriter
FooDataWriter
DDS_DynamicData

Reads (subscribes to) objects of type DDS_DynamicData.

Instantiates DDS_DataReader < DDS_DynamicData > .

See Also
DDS_DataReader
FooDataReader
DDS_DynamicData
typedef struct DDS_DynamicDataTypeSupport DDS_DynamicDataTypeSupport

A factory for registering a dynamically defined type and creating DDS_DynamicData objects.

A DDS_DynamicDataTypeSupport has three roles:

  1. It associates a DDS_TypeCode with policies for managing objects of that type. See the constructor, DDS_DynamicDataTypeSupport_new.
  2. It registers its type under logical names with a DDS_DomainParticipant. See DDS_DynamicDataTypeSupport_register_type.
  3. It creates DDS_DynamicData samples pre-initialized with the type and properties of the type support itself. See DDS_DynamicDataTypeSupport_create_data.

Function Documentation

DDS_Boolean DDS_DynamicData_initialize ( DDS_DynamicData self,
const DDS_TypeCode type,
const struct DDS_DynamicDataProperty_t property 
)

Initialize a DDS_DynamicData object to a valid empty state.

Use the constructor, DDS_DynamicData_new, to allocate a new DDS_DynamicData object on the heap. Use this method to initialize a DDS_DynamicData object that is stored deeply, either within another object or on the stack.

When you're finished with the object, dispose of it with DDS_DynamicData_finalize.

struct DDS_DynamicData sample;
&sample, myType, myProperties);
/* Handle failure... */
/* Do something... */
MT Safety:
UNSAFE.
See Also
DDS_DynamicData_finalize
DDS_DynamicData_new
DDS_DynamicData* DDS_DynamicData_new ( const DDS_TypeCode type,
const struct DDS_DynamicDataProperty_t property 
)

The constructor for new DDS_DynamicData objects.

This method returns a fully initialized object. It is not necessary to subsequently call DDS_DynamicData_initialize.

If initialization fails, this method returns NULL.

The type parameter may be NULL. In that case, this DDS_DynamicData must be bound with DDS_DynamicData_bind_type or DDS_DynamicData_bind_complex_member before it can be used.

If the DDS_TypeCode is not NULL, the newly constructed DDS_DynamicData object will retain a reference to it. It is not safe to delete the DDS_TypeCode until all samples that use it have themselves been deleted.

In most cases, it is not necessary to call this constructor explicitly. Instead, use DDS_DynamicDataTypeSupport_create_data, and the DDS_TypeCode and properties will be specified for you. Using the factory method also ensures that the memory management contract documented above is followed correctly, because the DDS_DynamicDataTypeSupport object maintains the DDS_TypeCode used by the samples it creates.

However you create a DDS_DynamicData object, you must delete it when you are finished with it. If you choose to use this constructor, delete the object with the destructor: DDS_DynamicData_delete.

myType, myProperties);
/* Failure indicated by NULL return result. */
/* Do something... */
Parameters
type<<in>> The type of which the new object will represent an object.
property<<in>> Properties that configure the behavior of the new object. Most users can simply use DDS_DYNAMIC_DATA_PROPERTY_DEFAULT.
See Also
DDS_DynamicData_initialize
DDS_DynamicData_delete
DDS_DynamicDataTypeSupport_create_data
Examples:
HelloWorldPlugin.c.
void DDS_DynamicData_finalize ( DDS_DynamicData self)

Clean up the internal state of this object to get it ready for deallocation, but don't deallocate the pointer.

Use DDS_DynamicData_delete to clean up a DDS_DynamicData object on the heap. Use this method to clean up a DDS_DynamicData object that is stored deeply, either within another object or on the stack.

MT Safety:
UNSAFE.
See Also
DDS_DynamicData_delete
DDS_DynamicData_initialize
void DDS_DynamicData_delete ( DDS_DynamicData self)

Finalize and deallocate this DDS_DynamicData sample.

This method fully finalizes the object. It is not necessary to previously call DDS_DynamicData_finalize.

MT Safety:
UNSAFE.
See Also
DDS_DynamicData_finalize
DDS_DynamicData_new
Examples:
HelloWorldPlugin.c.
DDS_ReturnCode_t DDS_DynamicData_copy ( DDS_DynamicData self,
const DDS_DynamicData src 
)

Deeply copy from the given object to this object.

MT Safety:
UNSAFE.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
DDS_Boolean DDS_DynamicData_equal ( const DDS_DynamicData self,
const DDS_DynamicData other 
)

Indicate whether the contents of another DDS_DynamicData sample are the same as those of this one.

This operation compares the data and type of existing members.

MT Safety:
UNSAFE.
DDS_ReturnCode_t DDS_DynamicData_clear_all_members ( DDS_DynamicData self)

Clear the contents of all data members of this object, including key members.

MT Safety:
UNSAFE.
Returns
One of the Standard Return Codes
See Also
DDS_DynamicData_clear_optional_member
DDS_ReturnCode_t DDS_DynamicData_clear_optional_member ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Clear the contents of a single optional data member of this object.

This method is only applicable to optional members. Members of unions, sequences, and arrays are not considered optional.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member (to look up the member by name), or NULL (to look up the member by its ID).
member_id<<in>> The ID of the member (to look up the member by its ID), or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED (to look up the member by name). See Member Names and IDs.
Returns
One of the Standard Return Codes
See Also
DDS_DynamicData_clear_all_members

Delete an optional field

DDS_ReturnCode_t DDS_DynamicData_set_buffer ( DDS_DynamicData self,
DDS_Octet storage,
DDS_Long  size 
)

Associate a buffer with this dynamic data object.

The DynamicData object will use the input buffer to store its value.

If the DynamicData object already has a value, this function will clear the contents of all data members.

The memory of the buffer being replaced will be freed, unless the buffer was assigned by a previous call to this function.

If the size of the input buffer is not big enough to hold the future value of the DynamicData object, the set operations will return DDS_RETCODE_OUT_OF_RESOURCES when the size is exceeded.

The internal representation of a DynamicData object is based on CDR encapsulation and introduces additional overhead beyond the data representation of the equivalent C structure. When providing an input buffer, try to account for that overhead.

The function DDS_DynamicData_get_estimated_max_buffer_size can be used to obtain an estimated maximum size for the input buffer. This size is calculated based on an assignment pattern where the value of a data member is set a single time between calls to DDS_DynamicData_clear_all_members.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
storage<<in>> Storage buffer.
size<<in>> Buffer size in bytes.
Returns
One of the Standard Return Codes
DDS_ReturnCode_t DDS_DynamicData_get_estimated_max_buffer_size ( const DDS_DynamicData self,
DDS_Long size 
)

Get the estimated maximum buffer size for a DynamicData object.

This function gets the estimated maximum buffer size of a DynamicData object based on the associated type.

The output size is calculated based on an assignment pattern where the value of a data member is set a single time between calls to DDS_DynamicData_clear_all_members.

If this is not the case (for example, the value of a string member is set multiple times), the maximum size returned by this function may not be representative.

This function can be used to obtain the size of the buffer provided to the function DDS_DynamicData_set_buffer.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
size<<out>> Estimated maximum buffer size in bytes.
Returns
One of the Standard Return Codes
DDS_ReturnCode_t DDS_DynamicData_print ( const DDS_DynamicData self,
FILE *  fp,
int  indent 
)

Output a textual representation of this object and its contents to the given file.

This method is equivalent to DDS_DynamicDataTypeSupport_print_data.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
fp<<in>> The file into which the object should be printed, or null (to print to stdout)
indent<<in>> The output of this method will be pretty-printed. This argument indicates the amount of initial indentation of the output.
Returns
One of the Standard Return Codes
See Also
DDS_DynamicDataTypeSupport_print_data
DDS_ReturnCode_t DDS_DynamicData_from_cdr_buffer ( DDS_DynamicData self,
const char *  buffer,
unsigned int  length 
)

Deserializes a DynamicData object from a buffer of octets.

This function deserializes a DynamicData object from a CDR buffer of octets.

The content of the buffer generated by the function DDS_DynamicData_to_cdr_buffer can be provided to this function to get the DynamicData object back.

Parameters
self<<in>> Cannot be NULL.
buffer<<in>>. Deserialization buffer.
length<<in>>. Length of the serialized representation of the DynamicData object in the buffer.
Returns
One of the Standard Return Codes
Examples:
HelloWorldPlugin.c.
DDS_ReturnCode_t DDS_DynamicData_to_cdr_buffer ( DDS_DynamicData self,
char *  buffer,
unsigned int *  length 
)

Serializes a DynamicData object into a buffer of octets.

This function serializes a DynamicData object into a buffer of octets, using CDR as the data representation.

The input buffer must be large enough to store the serialized representation of the DynamicData object. Otherwise, the function will return an error code.

To determine the minimum size of the input buffer, the user must call this method with the buffer set to NULL.

Parameters
self<<in>> Cannot be NULL.
buffer<<out>>. Serialization buffer.
length<<inout>>. When the buffer is set to NULL, after the function executes, length will contain the required size for the serialization buffer. When buffer is not NULL, length must contain the size of the input buffer when the function is invoked. After the function executes, length will be updated to contain the actual size of the serialized content, which may be smaller than the size obtained when buffer is set to NULL.
Returns
One of the Standard Return Codes
DDS_ReturnCode_t DDS_DynamicData_to_string ( DDS_DynamicData self,
char *  str,
DDS_UnsignedLong str_size,
const struct DDS_PrintFormatProperty property 
)

Get a string representation of a DynamicData object.

This function takes a dynamic data sample and creates a string representation of the data.

The input character buffer must be big enough to store the string representation of the sample. Otherwise, the function will return an error.

To determine the minimum size of the input character buffer, the user must call this method with the buffer set to NULL.

If the size of the output string is longer than the size of an unsigned 32-bit integer, this operation will fail with DDS_RETCODE_OUT_OF_RESOURCES.

Parameters
self<<in>> Cannot be NULL.
str<<out>>. Output string representing the dynamic data sample.
str_size<<inout>>. When str is set to NULL, after the function executes, str_size will contain a buffer size big enough to hold the string representation of the data. When str is not NULL, str_size must contain the size of the input buffer when the function is invoked. If the size of the input buffer is too small, after the function executes, str_size will be updated to contain the required size of the string content and the function will return DDS_RETCODE_OUT_OF_RESOURCES.
property<<in>>. Properties describing what the format of the output string should be. Cannot be ull.
Returns
One of the Standard Return Codes, DDS_RETCODE_OUT_OF_RESOURCES
void DDS_DynamicData_get_info ( const DDS_DynamicData self,
struct DDS_DynamicDataInfo info_out 
)

Fill in the given descriptor with information about this DDS_DynamicData.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
info_out<<out>> The descriptor object whose contents will be overwritten by this operation.
DDS_ReturnCode_t DDS_DynamicData_bind_type ( DDS_DynamicData self,
const DDS_TypeCode type 
)

If this DDS_DynamicData object is not yet associated with a data type, set that type now to the given DDS_TypeCode.

This advanced operation allows you to reuse a single DDS_DynamicData object with multiple data types.

struct DDS_DynamicData* myData = DDS_DynamicData_new(NULL, myProperties);
DDS_TypeCode* myType = ...;
DDS_DynamicData_bind_type(myData, myType);
/* Do something... */

Note that the DDS_DynamicData object will retain a reference to the DDS_TypeCode object you provide. It is not safe to delete the DDS_TypeCode until after it is unbound.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
type<<in>> The type to associate with this DDS_DynamicData object.
Returns
One of the Standard Return Codes
See Also
DDS_DynamicData_unbind_type
DDS_ReturnCode_t DDS_DynamicData_unbind_type ( DDS_DynamicData self)

Dissociate this DDS_DynamicData object from any particular data type.

This step is necessary before the object can be associated with a new data type.

This operation clears all members as a side effect.

MT Safety:
UNSAFE.
Returns
One of the Standard Return Codes
See Also
DDS_DynamicData_bind_type
DDS_DynamicData_clear_all_members
DDS_ReturnCode_t DDS_DynamicData_bind_complex_member ( DDS_DynamicData self,
DDS_DynamicData value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Use another DDS_DynamicData object to provide access to a complex field of this DDS_DynamicData object.

For example, consider the following data types:

struct MyFieldType {
float theFloat;
};
struct MyOuterType {
MyFieldType complexMember;
};

Suppose you have an instance of MyOuterType, and you would like to examine the contents of its member complexMember. To do this, you must bind another DDS_DynamicData object to that member. This operation will bind the type code of the member to the provided DDS_DynamicData object and perform additional initialization.

The following example demonstrates the usage pattern. Note that error handling has been omitted for brevity.

struct DDS_DynamicData* outer = ...;
float theFloatValue = 0;
struct DDS_DynamicData* toBeBound = DDS_DynamicData_new(NULL, myProperties);
outer,
toBeBound,
"complexMember",
toBeBound,
&theFloat,
"theFloat"

This operation is only permitted when the object toBeBound (named as in the example above) is not currently associated with any type, including already being bound to another member. You can see in the example that this object is created directly with the constructer and is not provided with a DDS_TypeCode.

Only a single member of a given DDS_DynamicData object may be bound at one time – however, members of members may be recursively bound to any depth. Furthermore, while the outer object has a bound member, it may only be modified through that bound member. That is, after calling this member, all "set" operations on the outer object will be disabled until DDS_DynamicData_unbind_complex_member has been called. Furthermore, any bound member must be unbound before a sample can be written or deleted.

This method is logically related to DDS_DynamicData_get_complex_member in that both allow you to examine the state of nested objects. They are different in an important way: this method provides a view into an outer object, such that any change made to the inner object will be reflected in the outer. But the DDS_DynamicData_get_complex_member operation copies the state of the nested object; changes to it will not be reflected in the source object.

Note that you can bind to a member of a sequence at an index that is past the current length of that sequence. In that case, this method behaves like a "set" method: it automatically lengthens the sequence (filling in default elements) to allow the bind to take place. See Getters and Setters.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> The object that you wish to bind to the field.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes
See Also
DDS_DynamicData_unbind_complex_member
DDS_DynamicData_get_complex_member
DDS_ReturnCode_t DDS_DynamicData_unbind_complex_member ( DDS_DynamicData self,
DDS_DynamicData value 
)

Tear down the association created by a DDS_DynamicData_bind_complex_member operation, committing any changes to the outer object since then.

Some changes to the outer object will not be observable until after you have performed this operation.

If you have called DDS_DynamicData_bind_complex_member on a data sample, you must unbind before writing or deleting the sample.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value<<in>> The same object you passed to DDS_DynamicData_bind_complex_member. This argument is used for error checking purposes.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_bind_complex_member
const DDS_TypeCode* DDS_DynamicData_get_type ( const DDS_DynamicData self)

Get the data type, of which this DDS_DynamicData represents an instance.

MT Safety:
UNSAFE.
DDS_TCKind DDS_DynamicData_get_type_kind ( const DDS_DynamicData self)

Get the kind of this object's data type.

This is a convenience method. It's equivalent to calling DDS_DynamicData_get_type followed by DDS_TypeCode_kind.

MT Safety:
UNSAFE.
DDS_UnsignedLong DDS_DynamicData_get_member_count ( const DDS_DynamicData self)

Get the number of members in the type.

For objects of type kind DDS_TK_ARRAY or DDS_TK_SEQUENCE, this method returns the number of elements in the collection.

For objects of type kind DDS_TK_STRUCT or DDS_TK_VALUE, it returns the number of fields in the type.

MT Safety:
UNSAFE.
See Also
DDS_DynamicData_get_member_info_by_index
DDS_Boolean DDS_DynamicData_member_exists ( const DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Indicates whether a member of a particular name/ID exists in this data sample.

You only need to specify the name OR the ID (not both).

The result of this method will be the same as that of DDS_DynamicData_member_exists_in_type for all non-optional members and optional members that are set. For unset optional members in a type, this method will return DDS_BOOLEAN_FALSE.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
See Also
DDS_DynamicData_member_exists_in_type
DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED
DDS_Boolean DDS_DynamicData_member_exists_in_type ( const DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Indicates whether a member of a particular name/ID exists in this data sample's type.

You only need to specify the name OR the ID (not both).

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
See Also
DDS_DynamicData_member_exists
DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED
DDS_ReturnCode_t DDS_DynamicData_get_member_info ( const DDS_DynamicData self,
struct DDS_DynamicDataMemberInfo info,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Fill in the given descriptor with information about the identified member of this DDS_DynamicData sample.

This operation is valid for objects of DDS_TCKind DDS_TK_ARRAY, DDS_TK_SEQUENCE, DDS_TK_STRUCT, and DDS_TK_VALUE.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
info<<out>> The descriptor object whose contents will be overwritten by this operations.
member_name<<in>> The name of the member for which to get the info or NULL to look up the member by its ID. Only one of the name and the ID may be unspecified.
member_id<<in>> The ID of the member for which to get the info, or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes
See Also
DDS_DynamicData_get_member_info_by_index
DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED
DDS_ReturnCode_t DDS_DynamicData_get_member_info_by_index ( const DDS_DynamicData self,
struct DDS_DynamicDataMemberInfo info,
DDS_UnsignedLong  index 
)

Fill in the given descriptor with information about the identified member of this DDS_DynamicData sample.

This operation is valid for objects of DDS_TCKind DDS_TK_ARRAY, DDS_TK_SEQUENCE, DDS_TK_STRUCT, DDS_TK_VALUE, and DDS_TK_UNION.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
info<<out>> The descriptor object whose contents will be overwritten by this operations.
index<<in>> The zero-base of the member for which to get the info.
Returns
One of the Standard Return Codes
See Also
DDS_DynamicData_get_member_info
DDS_DynamicData_get_member_count
DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED
DDS_ReturnCode_t DDS_DynamicData_get_member_type ( const DDS_DynamicData self,
const DDS_TypeCode **  type_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the type of the given member of this sample.

The member can be looked up either by name or by ID.

This operation is valid for objects of DDS_TCKind DDS_TK_ARRAY, DDS_TK_SEQUENCE, DDS_TK_STRUCT, and DDS_TK_VALUE. For type kinds DDS_TK_ARRAY and DDS_TK_SEQUENCE, the index into the collection is taken to be one less than the ID, if specified. If this index is valid, this operation will return the content type of this collection.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
type_out<<out>> If this method returned success, this argument refers to the found member's type. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes
See Also
DDS_DynamicData_get_member_info
DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED
DDS_ReturnCode_t DDS_DynamicData_is_member_key ( const DDS_DynamicData self,
DDS_Boolean is_key_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Indicates whether a given member forms part of the key of this sample's data type.

This operation is only valid for samples of types of kind DDS_TK_STRUCT or DDS_TK_VALUE.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
is_key_out<<out>> If this method returned success, this argument indicates whether the indicated member is part of the key. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes
DDS_ReturnCode_t DDS_DynamicData_get_long ( const DDS_DynamicData self,
DDS_Long value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_Long or another type implicitly convertible to it (DDS_Octet, DDS_Char, DDS_Short, DDS_UnsignedShort, or DDS_Enum).

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_long
DDS_ReturnCode_t DDS_DynamicData_get_short ( const DDS_DynamicData self,
DDS_Short value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_Short or another type implicitly convertible to it (DDS_Octet or DDS_Char).

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_short
DDS_ReturnCode_t DDS_DynamicData_get_ulong ( const DDS_DynamicData self,
DDS_UnsignedLong value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_UnsignedLong or another type implicitly convertible to it (DDS_Octet, DDS_Char, DDS_Short, DDS_UnsignedShort, or DDS_Enum).

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_ulong
DDS_ReturnCode_t DDS_DynamicData_get_ushort ( const DDS_DynamicData self,
DDS_UnsignedShort value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_UnsignedShort or another type implicitly convertible to it (DDS_Octet or DDS_Char).

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_ushort
DDS_ReturnCode_t DDS_DynamicData_get_float ( const DDS_DynamicData self,
DDS_Float value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_Float.

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_float
DDS_ReturnCode_t DDS_DynamicData_get_double ( const DDS_DynamicData self,
DDS_Double value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_Double or another type implicitly convertible to it (DDS_Float).

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_double
DDS_ReturnCode_t DDS_DynamicData_get_boolean ( const DDS_DynamicData self,
DDS_Boolean value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_Boolean.

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_boolean
DDS_ReturnCode_t DDS_DynamicData_get_char ( const DDS_DynamicData self,
DDS_Char value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_Char.

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_char
DDS_ReturnCode_t DDS_DynamicData_get_octet ( const DDS_DynamicData self,
DDS_Octet value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_Octet.

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_octet
DDS_ReturnCode_t DDS_DynamicData_get_longlong ( const DDS_DynamicData self,
DDS_LongLong value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_LongLong or another type implicitly convertible to it (DDS_Octet, DDS_Char, DDS_Short, DDS_UnsignedShort, DDS_Long, DDS_UnsignedLong, or DDS_Enum).

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_longlong
DDS_ReturnCode_t DDS_DynamicData_get_ulonglong ( const DDS_DynamicData self,
DDS_UnsignedLongLong value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_UnsignedLongLong or another type implicitly convertible to it (DDS_Octet, DDS_Char, DDS_Short, DDS_UnsignedShort, DDS_Long, DDS_UnsignedLong, or DDS_Enum).

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_ulonglong
DDS_ReturnCode_t DDS_DynamicData_get_longdouble ( const DDS_DynamicData self,
DDS_LongDouble value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_LongDouble or another type implicitly convertible to it (DDS_Float or DDS_Double).

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_longdouble
DDS_ReturnCode_t DDS_DynamicData_get_wchar ( const DDS_DynamicData self,
DDS_Wchar value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_Wchar or another type implicitly convertible to it (DDS_Char).

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> If this method returned success, this argument will contain the value of the indicated member. It cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_wchar
DDS_ReturnCode_t DDS_DynamicData_get_string ( const DDS_DynamicData self,
char **  value,
DDS_UnsignedLong size,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type char*.

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value<<out>> The string into which the middleware should copy the string member. The allocated size of this string is indicated by size argument. If the size is sufficient to hold the contents of the member, they will be copied into this string. If value is a pointer to NULL, the middleware will allocate a new string for you of sufficient length; it will be your responsibility to free that string. If the size is insufficient but greater than zero, the middleware will not free your string; instead, this operation will fail and size will contain the minimum required size.
size<<inout>> As an input argument, the allocated size of the string. As an output argument, the actual size of the contents.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_String_alloc
DDS_String_free
DDS_DynamicData_set_string
DDS_ReturnCode_t DDS_DynamicData_get_wstring ( const DDS_DynamicData self,
DDS_Wchar **  value,
DDS_UnsignedLong size,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get the value of the given field, which is of type DDS_Wchar*.

The member may be specified by name or by ID.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value<<out>> The string into which the middleware should copy the string member. The allocated size of this string is indicated by size argument. If the size is sufficient to hold the contents of the member, they will be copied into this string. If value is a pointer to NULL, the middleware will allocate a new string for you of sufficient length; it will be your responsibility to free that string. If the size is insufficient but greater than zero, the middleware will not free your string; instead, this operation will fail and size will contain the minimum required size.
size<<inout>> As an input argument, the allocated size of the string. As an output argument, the actual size of the contents.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_String_alloc
DDS_String_free
DDS_DynamicData_set_wstring
DDS_ReturnCode_t DDS_DynamicData_get_complex_member ( const DDS_DynamicData self,
DDS_DynamicData value_out,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the value of the given field, which is of some composed type.

The member may be of type kind DDS_TK_ARRAY, DDS_TK_SEQUENCE, DDS_TK_STRUCT, DDS_TK_VALUE, or DDS_TK_UNION. It may be specified by name or by ID.

This method is logically related to DDS_DynamicData_bind_complex_member in that both allow you to examine the state of nested objects. They are different in an important way: this method provides a copy of the data; changes to it will not be reflected in the source object.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
value_out<<out>> The DDS_DynamicData sample whose contents will be overwritten by this operation. This object must not be a bound member of another DDS_DynamicData sample.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_complex_member
DDS_DynamicData_bind_complex_member
DDS_ReturnCode_t DDS_DynamicData_get_long_array ( const DDS_DynamicData self,
DDS_Long array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member. The array may contain members of type DDS_Long or DDS_Enum.

This method will perform an automatic conversion from DDS_LongSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_long_array
DDS_DynamicData_get_long_seq
DDS_ReturnCode_t DDS_DynamicData_get_short_array ( const DDS_DynamicData self,
DDS_Short array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_ShortSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_short_array
DDS_DynamicData_get_short_seq
DDS_ReturnCode_t DDS_DynamicData_get_ulong_array ( const DDS_DynamicData self,
DDS_UnsignedLong array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member. The array may contain members of type DDS_UnsignedLong or DDS_Enum.

This method will perform an automatic conversion from DDS_UnsignedLongSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_ulong_array
DDS_DynamicData_get_ulong_seq
DDS_ReturnCode_t DDS_DynamicData_get_ushort_array ( const DDS_DynamicData self,
DDS_UnsignedShort array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_UnsignedShortSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_ushort_array
DDS_DynamicData_get_ushort_seq
DDS_ReturnCode_t DDS_DynamicData_get_float_array ( const DDS_DynamicData self,
DDS_Float array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_FloatSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_float_array
DDS_DynamicData_get_float_seq
DDS_ReturnCode_t DDS_DynamicData_get_double_array ( const DDS_DynamicData self,
DDS_Double array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_DoubleSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_double_array
DDS_DynamicData_get_double_seq
DDS_ReturnCode_t DDS_DynamicData_get_boolean_array ( const DDS_DynamicData self,
DDS_Boolean array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_BooleanSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_boolean_array
DDS_DynamicData_get_boolean_seq
DDS_ReturnCode_t DDS_DynamicData_get_char_array ( const DDS_DynamicData self,
DDS_Char array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_CharSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_char_array
DDS_DynamicData_get_char_seq
DDS_ReturnCode_t DDS_DynamicData_get_octet_array ( const DDS_DynamicData self,
DDS_Octet array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_OctetSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_octet_array
DDS_DynamicData_get_octet_seq
DDS_ReturnCode_t DDS_DynamicData_get_longlong_array ( const DDS_DynamicData self,
DDS_LongLong array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_LongLongSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_longlong_array
DDS_DynamicData_get_longlong_seq
DDS_ReturnCode_t DDS_DynamicData_get_ulonglong_array ( const DDS_DynamicData self,
DDS_UnsignedLongLong array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_UnsignedLongLongSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_ulonglong_array
DDS_DynamicData_get_ulonglong_seq
DDS_ReturnCode_t DDS_DynamicData_get_longdouble_array ( const DDS_DynamicData self,
DDS_LongDouble array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_LongDoubleSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_longdouble_array
DDS_DynamicData_get_longdouble_seq
DDS_ReturnCode_t DDS_DynamicData_get_wchar_array ( const DDS_DynamicData self,
DDS_Wchar array,
DDS_UnsignedLong length,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given array member.

This method will perform an automatic conversion from DDS_WcharSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
array<<out>> An already-allocated array, into which the elements will be copied.
length<<inout>> As an input, the allocated length of array. As an output, the number of elements that were copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA
See Also
DDS_DynamicData_set_wchar_array
DDS_DynamicData_get_wchar_seq
DDS_ReturnCode_t DDS_DynamicData_get_long_seq ( const DDS_DynamicData self,
struct DDS_LongSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_Long.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_long_seq
DDS_DynamicData_get_long_array
DDS_ReturnCode_t DDS_DynamicData_get_short_seq ( const DDS_DynamicData self,
struct DDS_ShortSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_Short.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_short_seq
DDS_DynamicData_get_short_array
DDS_ReturnCode_t DDS_DynamicData_get_ulong_seq ( const DDS_DynamicData self,
struct DDS_UnsignedLongSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_UnsignedLong.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_ulong_seq
DDS_DynamicData_get_ulong_array
DDS_ReturnCode_t DDS_DynamicData_get_ushort_seq ( const DDS_DynamicData self,
struct DDS_UnsignedShortSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_UnsignedShort.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_ushort_seq
DDS_DynamicData_get_ushort_array
DDS_ReturnCode_t DDS_DynamicData_get_float_seq ( const DDS_DynamicData self,
struct DDS_FloatSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_Float.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_float_seq
DDS_DynamicData_get_float_array
DDS_ReturnCode_t DDS_DynamicData_get_double_seq ( const DDS_DynamicData self,
struct DDS_DoubleSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_Double.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_double_seq
DDS_DynamicData_get_double_array
DDS_ReturnCode_t DDS_DynamicData_get_boolean_seq ( const DDS_DynamicData self,
struct DDS_BooleanSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_Boolean.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_boolean_seq
DDS_DynamicData_get_boolean_array
DDS_ReturnCode_t DDS_DynamicData_get_char_seq ( const DDS_DynamicData self,
struct DDS_CharSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_Char.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_char_seq
DDS_DynamicData_get_char_array
DDS_ReturnCode_t DDS_DynamicData_get_octet_seq ( const DDS_DynamicData self,
struct DDS_OctetSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_Octet.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_octet_seq
DDS_DynamicData_get_octet_array
DDS_ReturnCode_t DDS_DynamicData_get_longlong_seq ( const DDS_DynamicData self,
struct DDS_LongLongSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_LongLong.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_longlong_seq
DDS_DynamicData_get_longlong_array
DDS_ReturnCode_t DDS_DynamicData_get_ulonglong_seq ( const DDS_DynamicData self,
struct DDS_UnsignedLongLongSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_UnsignedLongLong.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_ulonglong_seq
DDS_DynamicData_get_ulonglong_array
DDS_ReturnCode_t DDS_DynamicData_get_longdouble_seq ( const DDS_DynamicData self,
struct DDS_LongDoubleSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_LongDouble.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_longdouble_seq
DDS_DynamicData_get_longdouble_array
DDS_ReturnCode_t DDS_DynamicData_get_wchar_seq ( const DDS_DynamicData self,
struct DDS_WcharSeq seq,
const char *  member_name,
DDS_DynamicDataMemberId  member_id 
)

Get a copy of the given sequence member.

The provided sequence will be automatically resized as necessary.

This method will perform an automatic conversion from an array of DDS_Wchar.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
seq<<out>> A sequence, into which the elements will be copied.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
Returns
One of the Standard Return Codes. If the member is optional and not set, this operation will return DDS_RETCODE_NO_DATA. This operation may also return DDS_RETCODE_OUT_OF_RESOURCES.
See Also
DDS_DynamicData_set_wchar_seq
DDS_DynamicData_get_wchar_array
DDS_ReturnCode_t DDS_DynamicData_set_long ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_Long  value 
)

Set the value of the given field, which is of type DDS_Long.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_long
DDS_ReturnCode_t DDS_DynamicData_set_short ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_Short  value 
)

Set the value of the given field, which is of type DDS_Short.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_short
DDS_ReturnCode_t DDS_DynamicData_set_ulong ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  value 
)

Set the value of the given field, which is of type DDS_UnsignedLong.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_ulong
DDS_ReturnCode_t DDS_DynamicData_set_ushort ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedShort  value 
)

Set the value of the given field, which is of type DDS_UnsignedShort.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_ushort
DDS_ReturnCode_t DDS_DynamicData_set_float ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_Float  value 
)

Set the value of the given field, which is of type DDS_Float.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_float
DDS_ReturnCode_t DDS_DynamicData_set_double ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_Double  value 
)

Set the value of the given field, which is of type DDS_Double.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_double
DDS_ReturnCode_t DDS_DynamicData_set_boolean ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_Boolean  value 
)

Set the value of the given field, which is of type DDS_Boolean.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_boolean
DDS_ReturnCode_t DDS_DynamicData_set_char ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_Char  value 
)

Set the value of the given field, which is of type DDS_Char.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_char
DDS_ReturnCode_t DDS_DynamicData_set_octet ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_Octet  value 
)

Set the value of the given field, which is of type DDS_Octet.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_octet
DDS_ReturnCode_t DDS_DynamicData_set_longlong ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_LongLong  value 
)

Set the value of the given field, which is of type DDS_LongLong.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_longlong
DDS_ReturnCode_t DDS_DynamicData_set_ulonglong ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLongLong  value 
)

Set the value of the given field, which is of type DDS_UnsignedLongLong.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_ulonglong
DDS_ReturnCode_t DDS_DynamicData_set_longdouble ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_LongDouble  value 
)

Set the value of the given field, which is of type DDS_LongDouble.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_longdouble
DDS_ReturnCode_t DDS_DynamicData_set_wchar ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_Wchar  value 
)

Set the value of the given field, which is of type DDS_Wchar.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_char
DDS_ReturnCode_t DDS_DynamicData_set_string ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const char *  value 
)

Set the value of the given field of type char*.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_string
DDS_ReturnCode_t DDS_DynamicData_set_wstring ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const DDS_Wchar value 
)

Set the value of the given field of type DDS_Wchar*.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The value to which to set the member.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_wstring
DDS_ReturnCode_t DDS_DynamicData_set_complex_member ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const DDS_DynamicData value 
)

Copy the state of the given DDS_DynamicData object into a member of this object.

The member may be of type kind DDS_TK_ARRAY, DDS_TK_SEQUENCE, DDS_TK_STRUCT, DDS_TK_VALUE, or DDS_TK_UNION. It may be specified by name or by ID.

Example: Copying Data

This method can be used with DDS_DynamicData_bind_complex_member to copy from one DDS_DynamicData object to another efficiently. Suppose the following data structure:

struct Bar {
short theShort;
};
struct Foo {
Bar theBar;
};

Suppose we have two instances of Foo, foo_dst and foo_src, and we want to replace the contents of foo_dst.theBar with the contents of foo_src.theBar. The following example shows how to do this (error handling has been omitted for the sake of brevity).

struct DDS_DynamicData* foo_dst = ...;
struct DDS_DynamicData* foo_src = ...;
struct DDS_DynamicData* bar = DDS_DynamicData_new(NULL, myProperties);
/* Point to the source of the copy: */
foo_src,
bar,
"theBar",
/* Just one copy: */
foo_dst,
"theBar",
bar);
/* Tear down: */
free(bar);
MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<in>> The source DDS_DynamicData object whose contents will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_complex_member
DDS_DynamicData_bind_complex_member
DDS_ReturnCode_t DDS_DynamicData_set_long_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_Long array 
)

Set the contents of the given array member. The array may contain members of type DDS_Long or DDS_Enum.

This method will perform an automatic conversion to DDS_LongSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_long_array
DDS_DynamicData_set_long_seq
DDS_ReturnCode_t DDS_DynamicData_set_short_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_Short array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_ShortSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_short_array
DDS_DynamicData_set_short_seq
DDS_ReturnCode_t DDS_DynamicData_set_ulong_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_UnsignedLong array 
)

Set the contents of the given array member. The array may contain members of type DDS_UnsignedLong or DDS_Enum.

This method will perform an automatic conversion to DDS_UnsignedLongSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_ulong_array
DDS_DynamicData_set_ulong_seq
DDS_ReturnCode_t DDS_DynamicData_set_ushort_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_UnsignedShort array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_UnsignedShortSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_ushort_array
DDS_DynamicData_set_ushort_seq
DDS_ReturnCode_t DDS_DynamicData_set_float_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_Float array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_FloatSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_float_array
DDS_DynamicData_set_float_seq
DDS_ReturnCode_t DDS_DynamicData_set_double_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_Double array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_DoubleSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_double_array
DDS_DynamicData_set_double_seq
DDS_ReturnCode_t DDS_DynamicData_set_boolean_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_Boolean array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_BooleanSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_boolean_array
DDS_DynamicData_set_boolean_seq
DDS_ReturnCode_t DDS_DynamicData_set_char_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_Char array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_CharSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_char_array
DDS_DynamicData_set_char_seq
DDS_ReturnCode_t DDS_DynamicData_set_octet_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_Octet array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_OctetSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_octet_array
DDS_DynamicData_set_octet_seq
DDS_ReturnCode_t DDS_DynamicData_set_longlong_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_LongLong array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_LongLongSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_longlong_array
DDS_DynamicData_set_longlong_seq
DDS_ReturnCode_t DDS_DynamicData_set_ulonglong_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_UnsignedLongLong array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_UnsignedLongLongSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_ulonglong_array
DDS_DynamicData_set_ulonglong_seq
DDS_ReturnCode_t DDS_DynamicData_set_longdouble_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_LongDouble array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_LongDoubleSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_longdouble_array
DDS_DynamicData_set_longdouble_seq
DDS_ReturnCode_t DDS_DynamicData_set_wchar_array ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
DDS_UnsignedLong  length,
const DDS_Wchar array 
)

Set the contents of the given array member.

This method will perform an automatic conversion to DDS_WcharSeq.

If the destination array is insufficiently long to store the data, this operation will fail without copying anything.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
length<<in>> The length of array.
array<<in>> The elements to copy.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_wchar_array
DDS_DynamicData_set_wchar_seq
DDS_ReturnCode_t DDS_DynamicData_set_long_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_LongSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_Long.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_long_seq
DDS_DynamicData_set_long_array
DDS_ReturnCode_t DDS_DynamicData_set_short_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_ShortSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_Short.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_short_seq
DDS_DynamicData_set_short_array
DDS_ReturnCode_t DDS_DynamicData_set_ulong_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_UnsignedLongSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_UnsignedLong.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_ulong_seq
DDS_DynamicData_set_ulong_array
DDS_ReturnCode_t DDS_DynamicData_set_ushort_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_UnsignedShortSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_UnsignedShort.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_ushort_seq
DDS_DynamicData_set_ushort_array
DDS_ReturnCode_t DDS_DynamicData_set_float_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_FloatSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_Float.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_float_seq
DDS_DynamicData_set_float_array
DDS_ReturnCode_t DDS_DynamicData_set_double_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_DoubleSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_Double.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_double_seq
DDS_DynamicData_set_double_array
DDS_ReturnCode_t DDS_DynamicData_set_boolean_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_BooleanSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_Boolean.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_boolean_seq
DDS_DynamicData_set_boolean_array
DDS_ReturnCode_t DDS_DynamicData_set_char_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_CharSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_Char.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_char_seq
DDS_DynamicData_set_char_array
DDS_ReturnCode_t DDS_DynamicData_set_octet_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_OctetSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_Octet.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_octet_seq
DDS_DynamicData_set_octet_array
DDS_ReturnCode_t DDS_DynamicData_set_longlong_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_LongLongSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_LongLong.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_longlong_seq
DDS_DynamicData_set_longlong_array
DDS_ReturnCode_t DDS_DynamicData_set_ulonglong_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_UnsignedLongLongSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_UnsignedLongLong.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_ulonglong_seq
DDS_DynamicData_set_ulonglong_array
DDS_ReturnCode_t DDS_DynamicData_set_longdouble_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_LongDoubleSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_LongDouble.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_longdouble_seq
DDS_DynamicData_set_longdouble_array
DDS_ReturnCode_t DDS_DynamicData_set_wchar_seq ( DDS_DynamicData self,
const char *  member_name,
DDS_DynamicDataMemberId  member_id,
const struct DDS_WcharSeq value 
)

Set the contents of the given sequence member.

This method will perform an automatic conversion to an array of DDS_Wchar.

MT Safety:
UNSAFE.
Parameters
self<<in>> Cannot be NULL.
member_name<<in>> The name of the member or NULL to look up the member by its ID.
member_id<<in>> The ID of the member or DDS_DYNAMIC_DATA_MEMBER_ID_UNSPECIFIED to look up by name. See Member Names and IDs.
value<<out>> A sequence, from which the elements will be copied.
Returns
One of the Standard Return Codes or DDS_RETCODE_OUT_OF_RESOURCES
See Also
DDS_DynamicData_get_wchar_seq
DDS_DynamicData_set_wchar_array
struct DDS_DynamicDataTypeSupport* DDS_DynamicDataTypeSupport_new ( const DDS_TypeCode type,
const struct DDS_DynamicDataTypeProperty_t props 
)
read

Construct a new DDS_DynamicDataTypeSupport object.

This step is usually followed by type registration.

The DDS_TypeCode object that is passed to this constructor is cloned and stored internally; no pointer is retained to the object passed in. It is therefore safe to delete the DDS_TypeCode after this method returns.

Parameters
typeThe DDS_TypeCode that describes the members of this type. The new object will contain a copy of this DDS_TypeCode; you may delete the argument after this constructor returns.
propsPolicies that describe how to manage the memory and other properties of the data samples created by this factory. In most cases, the default values will be appropriate; see DDS_DYNAMIC_DATA_TYPE_PROPERTY_DEFAULT.
See Also
DDS_DynamicDataTypeSupport_register_type
DDS_DynamicDataTypeSupport_delete
Returns
One of the Standard Return Codes
void DDS_DynamicDataTypeSupport_delete ( struct DDS_DynamicDataTypeSupport self)

Delete a DDS_DynamicDataTypeSupport object.

A DDS_DynamicDataTypeSupport cannot be deleted while it is still in use. For each DDS_DomainParticipant with which the DDS_DynamicDataTypeSupport is registered, either the type must be unregistered or the participant must be deleted.

See Also
DDS_DynamicDataTypeSupport_unregister_type
DDS_DynamicDataTypeSupport_new
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_register_type ( struct DDS_DynamicDataTypeSupport self,
DDS_DomainParticipant participant,
const char *  type_name 
)

Associate the DDS_TypeCode with the given DDS_DomainParticipant under the given logical name.

Once a type has been registered, it can be referenced by name when creating a topic. Statically and dynamically defined types behave the same way in this respect.

If the type cannot be registered, this will fail with DDS_RETCODE_PRECONDITION_NOT_MET or DDS_RETCODE_OUT_OF_RESOURCES.

See Also
FooTypeSupport_register_type
DDS_DomainParticipant_create_topic
DDS_DynamicDataTypeSupport_unregister_type
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_unregister_type ( struct DDS_DynamicDataTypeSupport self,
DDS_DomainParticipant participant,
const char *  type_name 
)

Remove the definition of this type from the DDS_DomainParticipant.

This operation is optional; all types are automatically unregistered when a DDS_DomainParticipant is deleted. Most application will not need to manually unregister types.

A type cannot be unregistered while it is still in use; that is, while any DDS_Topic is still referring to it.

If the type cannot be unregistered, this will fail with DDS_RETCODE_ERROR or DDS_RETCODE_BAD_PARAMETER.

See Also
FooTypeSupport_unregister_type
DDS_DynamicDataTypeSupport_register_type
const char* DDS_DynamicDataTypeSupport_get_type_name ( const struct DDS_DynamicDataTypeSupport self)

Get the default name of this type.

The DDS_TypeCode that is wrapped by this DDS_DynamicDataTypeSupport includes a name; this operation returns that name.

This operation is useful when registering a type, because in most cases it is not necessary for the physical and logical names of the type to be different.

See Also
FooTypeSupport_get_type_name
struct DDS_TypeCode* DDS_DynamicDataTypeSupport_get_data_type ( const struct DDS_DynamicDataTypeSupport self)
read

Get the DDS_TypeCode wrapped by this DDS_DynamicDataTypeSupport.

DDS_DynamicData* DDS_DynamicDataTypeSupport_create_data ( struct DDS_DynamicDataTypeSupport self)

Create a new DDS_DynamicData sample initialized with the DDS_TypeCode and properties of this DDS_DynamicDataTypeSupport.

This method returns a fully initialized object. It is not necessary to subsequently call DDS_DynamicDataTypeSupport_initialize_data.

If initialization fails, this method returns NULL.

You must delete your DDS_DynamicData object when you are finished with it.

myTypeSupport);
/* Failure indicated by NULL return result. */
/* Do something... */
DDS_DynamicDataTypeSupport_delete_data(myTypeSupport, sample);
See Also
DDS_DynamicDataTypeSupport_initialize_data
DDS_DynamicDataTypeSupport_delete_data
FooTypeSupport_create_data
DDS_DynamicData_new
DDS_DynamicDataTypeProperty_t::data
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_delete_data ( struct DDS_DynamicDataTypeSupport self,
DDS_DynamicData a_data 
)

Finalize and deallocate the DDS_DynamicData sample.

This method fully finalizes the object. It is not necessary to previously call DDS_DynamicDataTypeSupport_finalize_data.

See Also
DDS_DynamicDataTypeSupport_finalize_data
FooTypeSupport_delete_data
DDS_DynamicDataTypeSupport_create_data
void DDS_DynamicDataTypeSupport_print_data ( const struct DDS_DynamicDataTypeSupport self,
const DDS_DynamicData a_data 
)

Print a string representation of the given sample to the given file.

This method is equivalent to DDS_DynamicData_print.

See Also
DDS_DynamicData_print
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_copy_data ( const struct DDS_DynamicDataTypeSupport self,
DDS_DynamicData dest,
const DDS_DynamicData source 
)

Deeply copy the given data samples.

DDS_ReturnCode_t DDS_DynamicDataTypeSupport_initialize_data ( const struct DDS_DynamicDataTypeSupport self,
DDS_DynamicData a_data 
)

Initialize a DDS_DynamicData object to a valid empty state.

Use DDS_DynamicDataTypeSupport_create_data to allocate a new DDS_DynamicData object on the heap. Use this method to initialize a DDS_DynamicData object that is stored deeply, either within another object or on the stack.

When you're finished with the object, dispose of it with DDS_DynamicDataTypeSupport_finalize_data.

struct DDS_DynamicData sample;
myTypeSupport, &sample);
/* Handle failure... */
/* Do something... */
DDS_DynamicDataTypeSupport_finalize_data(myTypeSupport, &sample);
See Also
FooTypeSupport_initialize_data
DDS_DynamicDataTypeSupport_finalize_data
DDS_DynamicDataTypeSupport_create_data
DDS_ReturnCode_t DDS_DynamicDataTypeSupport_finalize_data ( const struct DDS_DynamicDataTypeSupport self,
DDS_DynamicData a_data 
)

Clean up the internal state of this object to get it ready for deallocation, but don't deallocate the pointer.

Use DDS_DynamicDataTypeSupport_delete_data to clean up a DDS_DynamicData object on the heap. Use this method to clean up a DDS_DynamicData object that is stored deeply, either within another object or on the stack.

See Also
FooTypeSupport_finalize_data
DDS_DynamicDataTypeSupport_delete_data
DDS_DynamicDataTypeSupport_initialize_data

Variable Documentation

struct DDS_DynamicDataProperty_t DDS_DYNAMIC_DATA_PROPERTY_DEFAULT

Sentinel constant indicating default values for DDS_DynamicDataProperty_t.

Pass this object instead of your own DDS_DynamicDataProperty_t object to use the default property values:

See Also
DDS_DynamicDataProperty_t
Examples:
HelloWorldPlugin.c.
struct DDS_DynamicDataTypeProperty_t DDS_DYNAMIC_DATA_TYPE_PROPERTY_DEFAULT

Sentinel constant indicating default values for DDS_DynamicDataTypeProperty_t.

Pass this object instead of your own DDS_DynamicDataTypeProperty_t object to use the default property values:

See Also
DDS_DynamicDataTypeProperty_t

RTI Connext C API Version 5.3.0 Copyright © Sun Jun 25 2017 Real-Time Innovations, Inc