OpenDDS  Snapshot(2023/04/28-20:55)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OpenDDS::XTypes::DynamicDataAdapter Class Referenceabstract

#include <DynamicDataAdapter.h>

Inheritance diagram for OpenDDS::XTypes::DynamicDataAdapter:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::XTypes::DynamicDataAdapter:
Collaboration graph
[legend]

Public Member Functions

 DynamicDataAdapter (DDS::DynamicType_ptr type, bool read_only)
 
DDS::UInt32 get_item_count ()
 
DDS::MemberId get_member_id_by_name (const char *name)
 
virtual DDS::MemberId get_member_id_at_index_impl (DDS::UInt32)
 
DDS::MemberId get_member_id_at_index (DDS::UInt32 index)
 
DDS::ReturnCode_t clear_all_values ()
 
DDS::ReturnCode_t clear_nonkey_values ()
 
DDS::ReturnCode_t clear_value (DDS::MemberId)
 
DDS::DynamicData_ptr clone ()
 
DDS::ReturnCode_t get_int8_value (CORBA::Int8 &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_int8_value (DDS::MemberId id, CORBA::Int8 value)
 
DDS::ReturnCode_t get_uint8_value (CORBA::UInt8 &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_uint8_value (DDS::MemberId id, CORBA::UInt8 value)
 
DDS::ReturnCode_t get_int16_value (CORBA::Short &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_int16_value (DDS::MemberId id, CORBA::Short value)
 
DDS::ReturnCode_t get_uint16_value (CORBA::UShort &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_uint16_value (DDS::MemberId id, CORBA::UShort value)
 
DDS::ReturnCode_t get_int32_value (CORBA::Long &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_int32_value (DDS::MemberId id, CORBA::Long value)
 
DDS::ReturnCode_t get_uint32_value (CORBA::ULong &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_uint32_value (DDS::MemberId id, CORBA::ULong value)
 
DDS::ReturnCode_t get_int64_value_impl (DDS::Int64 &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_int64_value (DDS::MemberId id, CORBA::LongLong value)
 
DDS::ReturnCode_t get_uint64_value_impl (DDS::UInt64 &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_uint64_value (DDS::MemberId id, CORBA::ULongLong value)
 
DDS::ReturnCode_t get_float32_value (CORBA::Float &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_float32_value (DDS::MemberId id, CORBA::Float value)
 
DDS::ReturnCode_t get_float64_value (CORBA::Double &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_float64_value (DDS::MemberId id, CORBA::Double value)
 
DDS::ReturnCode_t get_float128_value (CORBA::LongDouble &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_float128_value (DDS::MemberId id, CORBA::LongDouble value)
 
DDS::ReturnCode_t get_char8_value (CORBA::Char &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_char8_value (DDS::MemberId id, CORBA::Char value)
 
DDS::ReturnCode_t get_char16_value (CORBA::WChar &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_char16_value (DDS::MemberId id, CORBA::WChar value)
 
DDS::ReturnCode_t get_byte_value (DDS::Byte &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_byte_value (DDS::MemberId id, CORBA::Octet value)
 
DDS::ReturnCode_t get_boolean_value (CORBA::Boolean &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_boolean_value (DDS::MemberId id, CORBA::Boolean value)
 
DDS::ReturnCode_t get_string_value (char *&value, DDS::MemberId id)
 
DDS::ReturnCode_t set_string_value (DDS::MemberId id, const char *value)
 
DDS::ReturnCode_t get_wstring_value (CORBA::WChar *&value, DDS::MemberId id)
 
DDS::ReturnCode_t set_wstring_value (DDS::MemberId id, const CORBA::WChar *value)
 
DDS::ReturnCode_t get_complex_value (DDS::DynamicData_ptr &value, DDS::MemberId id)
 
DDS::ReturnCode_t set_complex_value (DDS::MemberId id, DDS::DynamicData_ptr value)
 
DDS::ReturnCode_t get_int32_values (DDS::Int32Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_int32_values (DDS::MemberId, const DDS::Int32Seq &)
 
DDS::ReturnCode_t get_uint32_values (DDS::UInt32Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_uint32_values (DDS::MemberId, const DDS::UInt32Seq &)
 
DDS::ReturnCode_t get_int8_values (DDS::Int8Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_int8_values (DDS::MemberId, const DDS::Int8Seq &)
 
DDS::ReturnCode_t get_uint8_values (DDS::UInt8Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_uint8_values (DDS::MemberId, const DDS::UInt8Seq &)
 
DDS::ReturnCode_t get_int16_values (DDS::Int16Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_int16_values (DDS::MemberId, const DDS::Int16Seq &)
 
DDS::ReturnCode_t get_uint16_values (DDS::UInt16Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_uint16_values (DDS::MemberId, const DDS::UInt16Seq &)
 
DDS::ReturnCode_t get_int64_values (DDS::Int64Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_int64_values (DDS::MemberId, const DDS::Int64Seq &)
 
DDS::ReturnCode_t get_uint64_values (DDS::UInt64Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_uint64_values (DDS::MemberId, const DDS::UInt64Seq &)
 
DDS::ReturnCode_t get_float32_values (DDS::Float32Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_float32_values (DDS::MemberId, const DDS::Float32Seq &)
 
DDS::ReturnCode_t get_float64_values (DDS::Float64Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_float64_values (DDS::MemberId, const DDS::Float64Seq &)
 
DDS::ReturnCode_t get_float128_values (DDS::Float128Seq &, DDS::MemberId)
 
DDS::ReturnCode_t set_float128_values (DDS::MemberId, const DDS::Float128Seq &)
 
DDS::ReturnCode_t get_char8_values (DDS::CharSeq &, DDS::MemberId)
 
DDS::ReturnCode_t set_char8_values (DDS::MemberId, const DDS::CharSeq &)
 
DDS::ReturnCode_t get_char16_values (DDS::WcharSeq &, DDS::MemberId)
 
DDS::ReturnCode_t set_char16_values (DDS::MemberId, const DDS::WcharSeq &)
 
DDS::ReturnCode_t get_byte_values (DDS::ByteSeq &, DDS::MemberId)
 
DDS::ReturnCode_t set_byte_values (DDS::MemberId, const DDS::ByteSeq &)
 
DDS::ReturnCode_t get_boolean_values (DDS::BooleanSeq &, DDS::MemberId)
 
DDS::ReturnCode_t set_boolean_values (DDS::MemberId, const DDS::BooleanSeq &)
 
DDS::ReturnCode_t get_string_values (DDS::StringSeq &, DDS::MemberId)
 
DDS::ReturnCode_t set_string_values (DDS::MemberId, const DDS::StringSeq &)
 
DDS::ReturnCode_t get_wstring_values (DDS::WstringSeq &, DDS::MemberId)
 
DDS::ReturnCode_t set_wstring_values (DDS::MemberId, const DDS::WstringSeq &)
 
- Public Member Functions inherited from OpenDDS::XTypes::DynamicDataBase
 DynamicDataBase ()
 
 DynamicDataBase (DDS::DynamicType_ptr type)
 
DDS::ReturnCode_t get_descriptor (DDS::MemberDescriptor *&value, MemberId id)
 
DDS::ReturnCode_t set_descriptor (DDS::MemberId id, DDS::MemberDescriptor *value)
 
DDS::MemberId get_member_id_by_name (const char *name)
 
DDS::DynamicType_ptr type ()
 
DDS::Boolean equals (DDS::DynamicData_ptr other)
 
DDS::DynamicData_ptr loan_value (DDS::MemberId id)
 
DDS::ReturnCode_t return_loaned_value (DDS::DynamicData_ptr other)
 
DDS::DynamicData_ptr clone ()
 
DDS::ReturnCode_t get_int64_value (DDS::Int64 &value, DDS::MemberId id)
 
DDS::ReturnCode_t get_uint64_value (DDS::UInt64 &value, DDS::MemberId id)
 
virtual DDS::ReturnCode_t get_simple_value (DCPS::Value &value, DDS::MemberId id)
 
- Public Member Functions inherited from DDS::DynamicData
DDS::ReturnCode_t get_descriptor (inout MemberDescriptor value, in MemberId id)
 
DDS::ReturnCode_t set_descriptor (in MemberId id, in MemberDescriptor value)
 
boolean equals (in DynamicData other)
 
MemberId get_member_id_by_name (in ObjectName name)
 
MemberId get_member_id_at_index (in unsigned long index)
 
DDS::ReturnCode_t clear_value (in MemberId id)
 
DynamicData loan_value (in MemberId id)
 
DDS::ReturnCode_t return_loaned_value (in DynamicData value)
 
DDS::ReturnCode_t get_int32_value (inout long value, in MemberId id)
 
DDS::ReturnCode_t set_int32_value (in MemberId id, in long value)
 
DDS::ReturnCode_t get_uint32_value (inout unsigned long value, in MemberId id)
 
DDS::ReturnCode_t set_uint32_value (in MemberId id, in unsigned long value)
 
DDS::ReturnCode_t get_int8_value (inout int8 value, in MemberId id)
 
DDS::ReturnCode_t set_int8_value (in MemberId id, in int8 value)
 
DDS::ReturnCode_t get_uint8_value (inout uint8 value, in MemberId id)
 
DDS::ReturnCode_t set_uint8_value (in MemberId id, in uint8 value)
 
DDS::ReturnCode_t get_int16_value (inout short value, in MemberId id)
 
DDS::ReturnCode_t set_int16_value (in MemberId id, in short value)
 
DDS::ReturnCode_t get_uint16_value (inout unsigned short value, in MemberId id)
 
DDS::ReturnCode_t set_uint16_value (in MemberId id, in unsigned short value)
 
DDS::ReturnCode_t get_int64_value (inout long long value, in MemberId id)
 
DDS::ReturnCode_t set_int64_value (in MemberId id, in long long value)
 
DDS::ReturnCode_t get_uint64_value (inout unsigned long long value, in MemberId id)
 
DDS::ReturnCode_t set_uint64_value (in MemberId id, in unsigned long long value)
 
DDS::ReturnCode_t get_float32_value (inout float value, in MemberId id)
 
DDS::ReturnCode_t set_float32_value (in MemberId id, in float value)
 
DDS::ReturnCode_t get_float64_value (inout double value, in MemberId id)
 
DDS::ReturnCode_t set_float64_value (in MemberId id, in double value)
 
DDS::ReturnCode_t get_float128_value (inout long double value, in MemberId id)
 
DDS::ReturnCode_t set_float128_value (in MemberId id, in long double value)
 
DDS::ReturnCode_t get_char8_value (inout char value, in MemberId id)
 
DDS::ReturnCode_t set_char8_value (in MemberId id, in char value)
 
DDS::ReturnCode_t get_char16_value (inout wchar value, in MemberId id)
 
DDS::ReturnCode_t set_char16_value (in MemberId id, in wchar value)
 
DDS::ReturnCode_t get_byte_value (inout octet value, in MemberId id)
 
DDS::ReturnCode_t set_byte_value (in MemberId id, in octet value)
 
DDS::ReturnCode_t get_boolean_value (inout boolean value, in MemberId id)
 
DDS::ReturnCode_t set_boolean_value (in MemberId id, in boolean value)
 
DDS::ReturnCode_t get_string_value (inout string value, in MemberId id)
 
DDS::ReturnCode_t set_string_value (in MemberId id, in string value)
 
DDS::ReturnCode_t get_wstring_value (inout wstring value, in MemberId id)
 
DDS::ReturnCode_t set_wstring_value (in MemberId id, in wstring value)
 
DDS::ReturnCode_t get_complex_value (inout DynamicData value, in MemberId id)
 
DDS::ReturnCode_t set_complex_value (in MemberId id, in DynamicData value)
 
DDS::ReturnCode_t get_int32_values (inout Int32Seq value, in MemberId id)
 
DDS::ReturnCode_t set_int32_values (in MemberId id, in Int32Seq value)
 
DDS::ReturnCode_t get_uint32_values (inout UInt32Seq value, in MemberId id)
 
DDS::ReturnCode_t set_uint32_values (in MemberId id, in UInt32Seq value)
 
DDS::ReturnCode_t get_int8_values (inout Int8Seq value, in MemberId id)
 
DDS::ReturnCode_t set_int8_values (in MemberId id, in Int8Seq value)
 
DDS::ReturnCode_t get_uint8_values (inout UInt8Seq value, in MemberId id)
 
DDS::ReturnCode_t set_uint8_values (in MemberId id, in UInt8Seq value)
 
DDS::ReturnCode_t get_int16_values (inout Int16Seq value, in MemberId id)
 
DDS::ReturnCode_t set_int16_values (in MemberId id, in Int16Seq value)
 
DDS::ReturnCode_t get_uint16_values (inout UInt16Seq value, in MemberId id)
 
DDS::ReturnCode_t set_uint16_values (in MemberId id, in UInt16Seq value)
 
DDS::ReturnCode_t get_int64_values (inout Int64Seq value, in MemberId id)
 
DDS::ReturnCode_t set_int64_values (in MemberId id, in Int64Seq value)
 
DDS::ReturnCode_t get_uint64_values (inout UInt64Seq value, in MemberId id)
 
DDS::ReturnCode_t set_uint64_values (in MemberId id, in UInt64Seq value)
 
DDS::ReturnCode_t get_float32_values (inout Float32Seq value, in MemberId id)
 
DDS::ReturnCode_t set_float32_values (in MemberId id, in Float32Seq value)
 
DDS::ReturnCode_t get_float64_values (inout Float64Seq value, in MemberId id)
 
DDS::ReturnCode_t set_float64_values (in MemberId id, in Float64Seq value)
 
DDS::ReturnCode_t get_float128_values (inout Float128Seq value, in MemberId id)
 
DDS::ReturnCode_t set_float128_values (in MemberId id, in Float128Seq value)
 
DDS::ReturnCode_t get_char8_values (inout CharSeq value, in MemberId id)
 
DDS::ReturnCode_t set_char8_values (in MemberId id, in CharSeq value)
 
DDS::ReturnCode_t get_char16_values (inout WcharSeq value, in MemberId id)
 
DDS::ReturnCode_t set_char16_values (in MemberId id, in WcharSeq value)
 
DDS::ReturnCode_t get_byte_values (inout ByteSeq value, in MemberId id)
 
DDS::ReturnCode_t set_byte_values (in MemberId id, in ByteSeq value)
 
DDS::ReturnCode_t get_boolean_values (inout BooleanSeq value, in MemberId id)
 
DDS::ReturnCode_t set_boolean_values (in MemberId id, in BooleanSeq value)
 
DDS::ReturnCode_t get_string_values (inout StringSeq value, in MemberId id)
 
DDS::ReturnCode_t set_string_values (in MemberId id, in StringSeq value)
 
DDS::ReturnCode_t get_wstring_values (inout WstringSeq value, in MemberId id)
 
DDS::ReturnCode_t set_wstring_values (in MemberId id, in WstringSeq value)
 
- Public Member Functions inherited from OpenDDS::DCPS::LocalObjectBase
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
virtual CORBA::ULong _refcount_value () const
 
- Public Member Functions inherited from CORBA::LocalObject
virtual ~LocalObject (void)
 
virtual CORBA::Boolean _non_existent (void)
 
virtual char * _repository_id (void)
 
virtual CORBA::InterfaceDef_ptr _get_interface (void)
 
virtual CORBA::Object_ptr _get_component (void)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::ExceptionList_ptr exclist, CORBA::ContextList_ptr ctxtlist, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual CORBA::Request_ptr _request (const char *operation)
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 
virtual CORBA::ULong _hash (CORBA::ULong maximum)
 
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj)
 
virtual CORBA::ORB_ptr _get_orb (void)
 
virtual TAO::ObjectKey_key (void)
 
- Public Member Functions inherited from CORBA::Object
virtual ~Object (void)
 
virtual TAO_Abstract_ServantBase_servant (void) const
 
virtual CORBA::Boolean _is_collocated (void) const
 
virtual CORBA::Boolean _is_local (void) const
 
 Object (TAO_Stub *p, CORBA::Boolean collocated=false, TAO_Abstract_ServantBase *servant=0, TAO_ORB_Core *orb_core=0)
 
 Object (IOP::IOR *ior, TAO_ORB_Core *orb_core)
 
virtual TAO_Stub_stubobj (void) const
 
virtual TAO_Stub_stubobj (void)
 
virtual void _proxy_broker (TAO::Object_Proxy_Broker *proxy_broker)
 
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr)
 
CORBA::Boolean is_evaluated (void) const
 
TAO_ORB_Coreorb_core (void) const
 
IOP::IORsteal_ior (void)
 
const IOP::IORior (void) const
 
virtual bool can_convert_to_ior (void) const
 
virtual char * convert_to_ior (bool use_omg_ior_format, const char *ior_prefix) const
 
void _decr_refcount (void)
 
virtual CORBA::Boolean _is_a (const char *logical_type_id)
 
virtual const char * _interface_repository_id (void) const
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 
- Public Member Functions inherited from OpenDDS::DCPS::RcObject
virtual ~RcObject ()
 
long ref_count () const
 
WeakObject_get_weak_object () const
 

Protected Member Functions

DDS::ReturnCode_t invalid_id (const char *method, DDS::MemberId id) const
 
DDS::ReturnCode_t missing_dda (const char *method, DDS::MemberId id) const
 
DDS::ReturnCode_t assert_mutable (const char *method) const
 
DDS::ReturnCode_t check_index (const char *method, DDS::UInt32 index, DDS::UInt32 size) const
 
DDS::ReturnCode_t check_member (DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
 
DDS::ReturnCode_t check_member (const char *method, DDS::TypeKind tk, DDS::MemberId id)
 
virtual DDS::ReturnCode_t get_raw_value (const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
 
virtual DDS::ReturnCode_t set_raw_value (const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0
 
template<typename T >
DDS::ReturnCode_t get_simple_raw_value (const char *method, void *dest, DDS::TypeKind tk, T source, DDS::MemberId id)
 
template<typename T >
DDS::ReturnCode_t set_simple_raw_value (const char *method, T &dest, DDS::MemberId id, const void *source, DDS::TypeKind tk)
 
DDS::ReturnCode_t set_bool_vector_elem_raw_value (const char *method, std::vector< bool >::reference dest, DDS::MemberId id, const void *source, DDS::TypeKind tk)
 
template<typename Enum >
DDS::ReturnCode_t get_enum_raw_value (const char *method, void *dest, DDS::TypeKind tk, Enum source, DDS::MemberId id)
 For now dest must be a Int32 and tk must be TK_INT32. More...
 
template<typename Enum >
DDS::ReturnCode_t set_enum_raw_value (const char *method, Enum &dest, DDS::MemberId id, const void *source, DDS::TypeKind tk)
 For now source must be a Int32 and tk must be TK_INT32. More...
 
DDS::ReturnCode_t get_s8_raw_value (const char *method, void *dest, DDS::TypeKind tk, const char *source, DDS::MemberId id)
 
DDS::ReturnCode_t set_s8_raw_value (const char *method, char *&dest, DDS::MemberId id, const void *source, DDS::TypeKind tk)
 
DDS::ReturnCode_t get_cpp11_s8_raw_value (const char *method, void *dest, DDS::TypeKind tk, const std::string &source, DDS::MemberId id)
 
DDS::ReturnCode_t set_cpp11_s8_raw_value (const char *method, std::string &dest, DDS::MemberId id, const void *source, DDS::TypeKind tk)
 
DDS::ReturnCode_t get_s16_raw_value (const char *method, void *dest, DDS::TypeKind tk, const DDS::Char16 *source, DDS::MemberId id)
 
DDS::ReturnCode_t set_s16_raw_value (const char *method, DDS::Char16 *&dest, DDS::MemberId id, const void *source, DDS::TypeKind tk)
 
DDS::ReturnCode_t get_cpp11_s16_raw_value (const char *method, void *dest, DDS::TypeKind tk, const std::wstring &source, DDS::MemberId id)
 
DDS::ReturnCode_t set_cpp11_s16_raw_value (const char *method, std::wstring &dest, DDS::MemberId id, const void *source, DDS::TypeKind tk)
 
template<typename T , typename Tag >
DDS::ReturnCode_t get_complex_raw_value (const char *method, void *dest, DDS::TypeKind tk, T &source, DDS::MemberId id)
 
template<typename T , typename Tag >
DDS::ReturnCode_t set_indirect_complex_raw_value_impl (const char *method, T &dest, DDS::MemberId id, DDS::DynamicType_ptr member_type, DDS::DynamicData_ptr source_dd)
 
template<typename T , typename Tag >
DDS::ReturnCode_t set_direct_complex_raw_value (const char *method, T &dest, DDS::MemberId id, const void *source, DDS::TypeKind tk)
 
template<typename T , typename Tag >
DDS::ReturnCode_t set_indirect_complex_raw_value (const char *method, T &dest, DDS::MemberId id, const void *source, DDS::TypeKind tk)
 
- Protected Member Functions inherited from OpenDDS::XTypes::DynamicDataBase
bool is_type_supported (TypeKind tk, const char *func_name)
 Verify that a given type is primitive or string or wstring. More...
 
bool get_index_from_id (DDS::MemberId id, ACE_CDR::ULong &index, ACE_CDR::ULong bound) const
 
bool enum_string_helper (char *&strInOut, MemberId id)
 
DDS::ReturnCode_t check_member (DDS::MemberDescriptor_var &member_desc, DDS::DynamicType_var &member_type, const char *method, const char *action, DDS::MemberId id, DDS::TypeKind tk=TK_NONE)
 
DDS::ReturnCode_t check_member (DDS::DynamicType_var &member_type, const char *method, const char *action, DDS::MemberId id, DDS::TypeKind tk=TK_NONE)
 
DDS::ReturnCode_t get_selected_union_branch (DDS::Int32 disc, bool &found_selected_member, DDS::MemberDescriptor_var &selected_md) const
 
DDS::ReturnCode_t get_selected_union_branch (bool &found_selected_member, DDS::MemberDescriptor_var &selected_md)
 
bool discriminator_selects_no_member (DDS::Int32 disc) const
 
DDS::DynamicDatainterface_from_this () const
 
DDS::ReturnCode_t unsupported_method (const char *method_name, bool warning=false) const
 
- Protected Member Functions inherited from CORBA::LocalObject
 LocalObject (void)
 
- Protected Member Functions inherited from CORBA::Object
 Object (int dummy=0)
 
TAO::Object_Proxy_Brokerproxy_broker () const
 
- Protected Member Functions inherited from OpenDDS::DCPS::RcObject
 RcObject ()
 

Protected Attributes

const bool read_only_
 
- Protected Attributes inherited from OpenDDS::XTypes::DynamicDataBase
DDS::DynamicType_var type_
 The actual (i.e., non-alias) DynamicType of the associated type. More...
 
DDS::TypeDescriptor_var type_desc_
 
- Protected Attributes inherited from CORBA::Object
ACE_Atomic_Op< TAO_SYNCH_MUTEX, unsigned long > refcount_
 

Additional Inherited Members

- Public Types inherited from OpenDDS::DCPS::LocalObject< DDS::DynamicData >
typedef DDS::DynamicData ::_ptr_type _ptr_type
 
typedef DDS::DynamicData ::_var_type _var_type
 
- Public Types inherited from CORBA::LocalObject
typedef LocalObject_ptr _ptr_type
 
typedef LocalObject_var _var_type
 
typedef LocalObject_out _out_type
 
- Public Types inherited from CORBA::Object
typedef Object_ptr _ptr_type
 
typedef Object_var _var_type
 
typedef Object_out _out_type
 
- Static Public Member Functions inherited from OpenDDS::XTypes::DynamicDataBase
static bool has_explicit_keys (DDS::DynamicType *dt)
 
static bool exclude_member (DCPS::Sample::Extent ext, bool is_key, bool has_explicit_keys)
 
static DCPS::Sample::Extent nested (DCPS::Sample::Extent ext)
 
- Static Public Member Functions inherited from OpenDDS::DCPS::LocalObject< DDS::DynamicData >
static _ptr_type _narrow (CORBA::Object_ptr obj)
 
- Static Public Member Functions inherited from CORBA::LocalObject
static LocalObject_ptr _duplicate (LocalObject_ptr obj)
 
static LocalObject_ptr _nil (void)
 
static LocalObject_ptr _narrow (CORBA::Object_ptr obj)
 
- Static Public Member Functions inherited from CORBA::Object
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
 
static void _tao_any_destructor (void *)
 
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
 
static void tao_object_initialize (Object *)
 
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)
 
static CORBA::Object_ptr _nil (void)
 
static CORBA::Object_ptr _narrow (CORBA::Object_ptr obj)
 
- Public Attributes inherited from DDS::DynamicData
readonly attribute DynamicType type
 
- Static Protected Member Functions inherited from OpenDDS::XTypes::DynamicDataBase
static DDS::MemberId get_union_default_member (DDS::DynamicType *type)
 

Detailed Description

Base class for all classes that allow interfacing with the C++ mapping types as DynamicData.

TODO:

Definition at line 66 of file DynamicDataAdapter.h.

Constructor & Destructor Documentation

◆ DynamicDataAdapter()

OpenDDS::XTypes::DynamicDataAdapter::DynamicDataAdapter ( DDS::DynamicType_ptr  type,
bool  read_only 
)
inline

Definition at line 68 of file DynamicDataAdapter.h.

References name.

Member Function Documentation

◆ assert_mutable()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::assert_mutable ( const char *  method) const
protected

Definition at line 226 of file DynamicDataAdapter.cpp.

References ACE_ERROR, TAO::String_var< charT >::in(), LM_NOTICE, OpenDDS::DCPS::log_level, OpenDDS::DCPS::LogLevel::Notice, read_only_, DDS::RETCODE_ILLEGAL_OPERATION, DDS::RETCODE_OK, and OpenDDS::XTypes::DynamicDataBase::type_.

227 {
228  if (read_only_) {
230  const CORBA::String_var type_name = type_->get_name();
231  ACE_ERROR((LM_NOTICE, "(%P|%t) NOTICE: DynamicDataAdapterImpl<%C>::%C: "
232  "can't set values as this DynamicDataAdapter is read only\n",
233  type_name.in(), method));
234  }
236  }
237  return DDS::RETCODE_OK;
238 }
#define ACE_ERROR(X)
DDS::DynamicType_var type_
The actual (i.e., non-alias) DynamicType of the associated type.
const ReturnCode_t RETCODE_ILLEGAL_OPERATION
OpenDDS_Dcps_Export LogLevel log_level
const ReturnCode_t RETCODE_OK
const character_type * in(void) const

◆ check_index()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::check_index ( const char *  method,
DDS::UInt32  index,
DDS::UInt32  size 
) const
protected

Definition at line 240 of file DynamicDataAdapter.cpp.

References ACE_ERROR, TAO::String_var< charT >::in(), LM_NOTICE, OpenDDS::DCPS::log_level, OpenDDS::DCPS::LogLevel::Notice, DDS::RETCODE_BAD_PARAMETER, DDS::RETCODE_OK, and OpenDDS::XTypes::DynamicDataBase::type_.

Referenced by get_member_id_at_index().

242 {
243  if (index >= size) {
245  const CORBA::String_var type_name = type_->get_name();
246  ACE_ERROR((LM_NOTICE, "(%P|%t) NOTICE: DynamicDataAdapterImpl<%C>::%C: "
247  "index %u is larger or equal to than the size (%u)\n",
248  type_name.in(), method, index, size));
249  }
251  }
252  return DDS::RETCODE_OK;
253 }
#define ACE_ERROR(X)
DDS::DynamicType_var type_
The actual (i.e., non-alias) DynamicType of the associated type.
OpenDDS_Dcps_Export LogLevel log_level
const ReturnCode_t RETCODE_OK
const character_type * in(void) const
const ReturnCode_t RETCODE_BAD_PARAMETER

◆ check_member() [1/2]

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::check_member ( DDS::DynamicType_var &  member_type,
const char *  method,
DDS::TypeKind  tk,
DDS::MemberId  id 
)
protected

Definition at line 255 of file DynamicDataAdapter.cpp.

References OpenDDS::XTypes::DynamicDataBase::check_member().

Referenced by check_member(), get_cpp11_s16_raw_value(), get_cpp11_s8_raw_value(), get_s16_raw_value(), get_s8_raw_value(), set_cpp11_s16_raw_value(), set_cpp11_s8_raw_value(), set_s16_raw_value(), and set_s8_raw_value().

257 {
258  return DynamicDataBase::check_member(member_type, method, "access", id, tk);
259 }
DDS::ReturnCode_t check_member(DDS::MemberDescriptor_var &member_desc, DDS::DynamicType_var &member_type, const char *method, const char *action, DDS::MemberId id, DDS::TypeKind tk=TK_NONE)

◆ check_member() [2/2]

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::check_member ( const char *  method,
DDS::TypeKind  tk,
DDS::MemberId  id 
)
protected

Definition at line 261 of file DynamicDataAdapter.cpp.

References check_member().

263 {
264  DDS::DynamicType_var member_type;
265  return check_member(member_type, method, tk, id);
266 }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)

◆ clear_all_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::clear_all_values ( )

Implements DDS::DynamicData.

Definition at line 184 of file DynamicDataAdapter.cpp.

References OpenDDS::XTypes::DynamicDataBase::unsupported_method().

185 {
186  return unsupported_method("DynamicDataAdapater::clear_all_values");
187 }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ clear_nonkey_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::clear_nonkey_values ( )

Implements DDS::DynamicData.

Definition at line 189 of file DynamicDataAdapter.cpp.

References OpenDDS::XTypes::DynamicDataBase::unsupported_method().

190 {
191  return unsupported_method("DynamicDataAdapater::clear_nonkey_values");
192 }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ clear_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::clear_value ( DDS::MemberId  )

Definition at line 194 of file DynamicDataAdapter.cpp.

References OpenDDS::XTypes::DynamicDataBase::unsupported_method().

195 {
196  return unsupported_method("DynamicDataAdapater::clear_value");
197 }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ clone()

DDS::DynamicData_ptr OpenDDS::XTypes::DynamicDataAdapter::clone ( void  )

Implements DDS::DynamicData.

Definition at line 199 of file DynamicDataAdapter.cpp.

References OpenDDS::XTypes::DynamicDataBase::unsupported_method().

200 {
201  unsupported_method("DynamicDataAdapater::clone");
202  return 0;
203 }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_boolean_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_boolean_value ( CORBA::Boolean value,
DDS::MemberId  id 
)
inline

Definition at line 250 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_BOOLEAN.

252  {
253  return get_raw_value("get_boolean_value", &value, TK_BOOLEAN, id);
254  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_BOOLEAN
Definition: TypeObject.h:214

◆ get_boolean_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_boolean_values ( DDS::BooleanSeq ,
DDS::MemberId   
)
inline

Definition at line 466 of file DynamicDataAdapter.h.

468  {
469  return unsupported_method("DynamicDataAdapater::get_boolean_values");
470  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_byte_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_byte_value ( DDS::Byte value,
DDS::MemberId  id 
)
inline

Definition at line 238 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_BYTE.

240  {
241  return get_raw_value("get_byte_value", &value, TK_BYTE, id);
242  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_BYTE
Definition: TypeObject.h:215

◆ get_byte_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_byte_values ( DDS::ByteSeq ,
DDS::MemberId   
)
inline

Definition at line 454 of file DynamicDataAdapter.h.

456  {
457  return unsupported_method("DynamicDataAdapater::get_byte_values");
458  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_char16_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_char16_value ( CORBA::WChar value,
DDS::MemberId  id 
)
inline

Definition at line 226 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_CHAR16.

228  {
229  return get_raw_value("get_char16_value", &value, TK_CHAR16, id);
230  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_CHAR16
Definition: TypeObject.h:228

◆ get_char16_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_char16_values ( DDS::WcharSeq ,
DDS::MemberId   
)
inline

Definition at line 442 of file DynamicDataAdapter.h.

444  {
445  return unsupported_method("DynamicDataAdapater::get_char16_values");
446  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_char8_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_char8_value ( CORBA::Char value,
DDS::MemberId  id 
)
inline

Definition at line 214 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_CHAR8.

216  {
217  return get_raw_value("get_char8_value", &value, TK_CHAR8, id);
218  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_CHAR8
Definition: TypeObject.h:227

◆ get_char8_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_char8_values ( DDS::CharSeq ,
DDS::MemberId   
)
inline

Definition at line 430 of file DynamicDataAdapter.h.

432  {
433  return unsupported_method("DynamicDataAdapater::get_char8_values");
434  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_complex_raw_value()

template<typename T , typename Tag >
DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_complex_raw_value ( const char *  method,
void *  dest,
DDS::TypeKind  tk,
T &  source,
DDS::MemberId  id 
)
inlineprotected

Definition at line 615 of file DynamicDataAdapter.h.

References CORBA::release(), and DDS::RETCODE_OK.

617  {
618  DDS::DynamicType_var member_type;
619  const DDS::ReturnCode_t rc = check_member(member_type, method, tk, id);
620  if (rc != DDS::RETCODE_OK) {
621  return rc;
622  }
623  DDS::DynamicData*& dest_value = *static_cast<DDS::DynamicData**>(dest);
624  CORBA::release(dest_value);
625  dest_value = get_dynamic_data_adapter<T, Tag>(member_type, source);
626  if (!dest_value) {
627  return missing_dda(method, id);
628  }
629  return rc;
630  }
void release(T x)
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
DDS::ReturnCode_t missing_dda(const char *method, DDS::MemberId id) const
const ReturnCode_t RETCODE_OK

◆ get_complex_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_complex_value ( DDS::DynamicData_ptr &  value,
DDS::MemberId  id 
)
inline

Definition at line 286 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_NONE.

288  {
289  return get_raw_value("get_complex_value", &value, TK_NONE, id);
290  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_NONE
Definition: TypeObject.h:213

◆ get_cpp11_s16_raw_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_cpp11_s16_raw_value ( const char *  method,
void *  dest,
DDS::TypeKind  tk,
const std::wstring &  source,
DDS::MemberId  id 
)
protected

Definition at line 345 of file DynamicDataAdapter.cpp.

References check_member(), DDS::RETCODE_OK, CORBA::wstring_dup(), and CORBA::wstring_free().

348 {
349  const DDS::ReturnCode_t rc = check_member(method, tk, id);
350  if (rc != DDS::RETCODE_OK) {
351  return rc;
352  }
353  DDS::Char16*& dest_value = *static_cast<DDS::Char16**>(dest);
354  CORBA::wstring_free(dest_value);
355  dest_value = CORBA::wstring_dup(source.c_str());
356  return rc;
357 }
void wstring_free(WChar *const)
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
WChar * wstring_dup(const WChar *const)
const ReturnCode_t RETCODE_OK
wchar Char16
Definition: DdsDcpsCore.idl:45

◆ get_cpp11_s8_raw_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_cpp11_s8_raw_value ( const char *  method,
void *  dest,
DDS::TypeKind  tk,
const std::string &  source,
DDS::MemberId  id 
)
protected

Definition at line 293 of file DynamicDataAdapter.cpp.

References check_member(), DDS::RETCODE_OK, CORBA::string_dup(), and CORBA::string_free().

296 {
297  const DDS::ReturnCode_t rc = check_member(method, tk, id);
298  if (rc != DDS::RETCODE_OK) {
299  return rc;
300  }
301  char*& dest_value = *static_cast<char**>(dest);
302  CORBA::string_free(dest_value);
303  dest_value = CORBA::string_dup(source.c_str());
304  return rc;
305 }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
char * string_dup(const char *)
void string_free(char *)
const ReturnCode_t RETCODE_OK

◆ get_enum_raw_value()

template<typename Enum >
DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_enum_raw_value ( const char *  method,
void *  dest,
DDS::TypeKind  tk,
Enum  source,
DDS::MemberId  id 
)
inlineprotected

For now dest must be a Int32 and tk must be TK_INT32.

Definition at line 569 of file DynamicDataAdapter.h.

References DDS::RETCODE_OK.

571  {
572  const DDS::ReturnCode_t rc = check_member(method, tk, id);
573  if (rc == DDS::RETCODE_OK) {
574  *static_cast<DDS::Int32*>(dest) = static_cast<DDS::Int32>(source);
575  }
576  return rc;
577  }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
const ReturnCode_t RETCODE_OK

◆ get_float128_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_float128_value ( CORBA::LongDouble value,
DDS::MemberId  id 
)
inline

Definition at line 202 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_FLOAT128.

204  {
205  return get_raw_value("get_float128_value", &value, TK_FLOAT128, id);
206  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const TypeKind TK_FLOAT128
Definition: TypeObject.h:224

◆ get_float128_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_float128_values ( DDS::Float128Seq ,
DDS::MemberId   
)
inline

Definition at line 418 of file DynamicDataAdapter.h.

420  {
421  return unsupported_method("DynamicDataAdapater::get_float128_values");
422  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_float32_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_float32_value ( CORBA::Float value,
DDS::MemberId  id 
)
inline

Definition at line 178 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_FLOAT32.

180  {
181  return get_raw_value("get_float32_value", &value, TK_FLOAT32, id);
182  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const TypeKind TK_FLOAT32
Definition: TypeObject.h:222

◆ get_float32_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_float32_values ( DDS::Float32Seq ,
DDS::MemberId   
)
inline

Definition at line 394 of file DynamicDataAdapter.h.

396  {
397  return unsupported_method("DynamicDataAdapater::get_float32_values");
398  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_float64_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_float64_value ( CORBA::Double value,
DDS::MemberId  id 
)
inline

Definition at line 190 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_FLOAT64.

192  {
193  return get_raw_value("get_float64_value", &value, TK_FLOAT64, id);
194  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const TypeKind TK_FLOAT64
Definition: TypeObject.h:223

◆ get_float64_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_float64_values ( DDS::Float64Seq ,
DDS::MemberId   
)
inline

Definition at line 406 of file DynamicDataAdapter.h.

408  {
409  return unsupported_method("DynamicDataAdapater::get_float64_values");
410  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_int16_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_int16_value ( CORBA::Short value,
DDS::MemberId  id 
)
inline

Definition at line 108 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_INT16.

110  {
111  return get_raw_value("get_int16_value", &value, TK_INT16, id);
112  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_INT16
Definition: TypeObject.h:216

◆ get_int16_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_int16_values ( DDS::Int16Seq ,
DDS::MemberId   
)
inline

Definition at line 346 of file DynamicDataAdapter.h.

348  {
349  return unsupported_method("DynamicDataAdapater::get_int16_values");
350  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_int32_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_int32_value ( CORBA::Long value,
DDS::MemberId  id 
)
inline

Definition at line 132 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_INT32.

134  {
135  return get_raw_value("get_int32_value", &value, TK_INT32, id);
136  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_INT32
Definition: TypeObject.h:217

◆ get_int32_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_int32_values ( DDS::Int32Seq ,
DDS::MemberId   
)
inline

Definition at line 298 of file DynamicDataAdapter.h.

300  {
301  return unsupported_method("DynamicDataAdapater::get_int32_values");
302  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_int64_value_impl()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_int64_value_impl ( DDS::Int64 value,
DDS::MemberId  id 
)
inlinevirtual

Implements OpenDDS::XTypes::DynamicDataBase.

Definition at line 156 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_INT64.

157  {
158  return get_raw_value("get_int64_value", &value, TK_INT64, id);
159  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_INT64
Definition: TypeObject.h:218

◆ get_int64_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_int64_values ( DDS::Int64Seq ,
DDS::MemberId   
)
inline

Definition at line 370 of file DynamicDataAdapter.h.

372  {
373  return unsupported_method("DynamicDataAdapater::get_int64_values");
374  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_int8_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_int8_value ( CORBA::Int8 value,
DDS::MemberId  id 
)
inline

Definition at line 84 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_INT8.

86  {
87  return get_raw_value("get_int8_value", &value, TK_INT8, id);
88  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_INT8
Definition: TypeObject.h:225

◆ get_int8_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_int8_values ( DDS::Int8Seq ,
DDS::MemberId   
)
inline

Definition at line 322 of file DynamicDataAdapter.h.

324  {
325  return unsupported_method("DynamicDataAdapater::get_int8_values");
326  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_item_count()

DDS::UInt32 OpenDDS::XTypes::DynamicDataAdapter::get_item_count ( )

Implements DDS::DynamicData.

Definition at line 24 of file DynamicDataAdapter.cpp.

References ACE_ERROR, OpenDDS::DCPS::LogLevel::Error, OpenDDS::XTypes::DynamicDataBase::get_selected_union_branch(), TAO::String_var< charT >::in(), LM_ERROR, LM_WARNING, OpenDDS::DCPS::log_level, OpenDDS::XTypes::MEMBER_ID_INVALID, DDS::RETCODE_OK, OpenDDS::DCPS::retcode_to_string(), OpenDDS::XTypes::TK_ALIAS, OpenDDS::XTypes::TK_ANNOTATION, OpenDDS::XTypes::TK_ARRAY, OpenDDS::XTypes::TK_BITMASK, OpenDDS::XTypes::TK_BITSET, OpenDDS::XTypes::TK_BOOLEAN, OpenDDS::XTypes::TK_BYTE, OpenDDS::XTypes::TK_CHAR16, OpenDDS::XTypes::TK_CHAR8, OpenDDS::XTypes::TK_ENUM, OpenDDS::XTypes::TK_FLOAT128, OpenDDS::XTypes::TK_FLOAT32, OpenDDS::XTypes::TK_FLOAT64, OpenDDS::XTypes::TK_INT16, OpenDDS::XTypes::TK_INT32, OpenDDS::XTypes::TK_INT64, OpenDDS::XTypes::TK_INT8, OpenDDS::XTypes::TK_MAP, OpenDDS::XTypes::TK_SEQUENCE, OpenDDS::XTypes::TK_STRING16, OpenDDS::XTypes::TK_STRING8, OpenDDS::XTypes::TK_STRUCTURE, OpenDDS::XTypes::TK_UINT16, OpenDDS::XTypes::TK_UINT32, OpenDDS::XTypes::TK_UINT64, OpenDDS::XTypes::TK_UINT8, OpenDDS::XTypes::TK_UNION, OpenDDS::XTypes::DynamicDataBase::type_, OpenDDS::XTypes::typekind_to_string(), and OpenDDS::DCPS::LogLevel::Warning.

25 {
26  const TypeKind tk = type_->get_kind();
27  switch (tk) {
28  case TK_BOOLEAN:
29  case TK_BYTE:
30  case TK_UINT8:
31  case TK_UINT16:
32  case TK_UINT32:
33  case TK_UINT64:
34  case TK_INT8:
35  case TK_INT16:
36  case TK_INT32:
37  case TK_INT64:
38  case TK_FLOAT32:
39  case TK_FLOAT64:
40  case TK_FLOAT128:
41  case TK_CHAR8:
42  case TK_CHAR16:
43  case TK_ENUM:
44  return 1;
45  case TK_UNION:
46  {
47  bool branch_active;
48  DDS::MemberDescriptor_var active_branch;
49  DDS::ReturnCode_t rc = get_selected_union_branch(branch_active, active_branch);
50  if (rc != DDS::RETCODE_OK) {
52  const CORBA::String_var type_name = type_->get_name();
53  ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: DynamicDataAdapterImpl<%C>::item: "
54  "get_selected_union_branch returned %C\n",
55  type_name.in(), retcode_to_string(rc)));
56  }
57  return MEMBER_ID_INVALID;
58  }
59  return branch_active ? 2 : 1;
60  }
61  break;
62  case TK_STRING8:
63  case TK_STRING16:
64  case TK_SEQUENCE:
65  case TK_BITMASK:
66  case TK_ARRAY:
67  case TK_STRUCTURE:
68  case TK_MAP:
69  case TK_BITSET:
70  if (log_level >= LogLevel::Error) {
71  const CORBA::String_var type_name = type_->get_name();
72  ACE_ERROR((LM_ERROR, "(%P|%t) ERROR: DynamicDataAdapterImpl<%C>::get_item_count: "
73  "this %C should have implemented get_item_count\n",
74  type_name.in(), typekind_to_string(tk)));
75  }
76  return 0;
77  case TK_ALIAS:
78  case TK_ANNOTATION:
79  default:
81  const CORBA::String_var type_name = type_->get_name();
82  ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: DynamicDataAdapterImpl<%C>::get_item_count: "
83  "unexpected type %C\n", type_name.in(), typekind_to_string(tk)));
84  }
85  return 0;
86  }
87 }
const TypeKind TK_SEQUENCE
Definition: TypeObject.h:248
#define ACE_ERROR(X)
const TypeKind TK_INT32
Definition: TypeObject.h:217
const TypeKind TK_STRING16
Definition: TypeObject.h:232
const TypeKind TK_FLOAT128
Definition: TypeObject.h:224
const TypeKind TK_BYTE
Definition: TypeObject.h:215
const TypeKind TK_UNION
Definition: TypeObject.h:244
const TypeKind TK_INT16
Definition: TypeObject.h:216
const TypeKind TK_UINT16
Definition: TypeObject.h:219
const TypeKind TK_INT8
Definition: TypeObject.h:225
ACE_CDR::Octet TypeKind
Definition: TypeObject.h:210
const TypeKind TK_BOOLEAN
Definition: TypeObject.h:214
const char * typekind_to_string(TypeKind tk)
const TypeKind TK_BITMASK
Definition: TypeObject.h:239
const TypeKind TK_CHAR8
Definition: TypeObject.h:227
const ACE_CDR::ULong MEMBER_ID_INVALID
Definition: TypeObject.h:911
DDS::DynamicType_var type_
The actual (i.e., non-alias) DynamicType of the associated type.
const TypeKind TK_STRUCTURE
Definition: TypeObject.h:243
const TypeKind TK_FLOAT32
Definition: TypeObject.h:222
const TypeKind TK_STRING8
Definition: TypeObject.h:231
const TypeKind TK_UINT64
Definition: TypeObject.h:221
OpenDDS_Dcps_Export LogLevel log_level
const TypeKind TK_INT64
Definition: TypeObject.h:218
const char * retcode_to_string(DDS::ReturnCode_t value)
Definition: DCPS_Utils.cpp:29
const TypeKind TK_UINT32
Definition: TypeObject.h:220
const TypeKind TK_ALIAS
Definition: TypeObject.h:235
const TypeKind TK_ANNOTATION
Definition: TypeObject.h:242
const TypeKind TK_ENUM
Definition: TypeObject.h:238
const ReturnCode_t RETCODE_OK
const TypeKind TK_ARRAY
Definition: TypeObject.h:249
const TypeKind TK_UINT8
Definition: TypeObject.h:226
const character_type * in(void) const
const TypeKind TK_MAP
Definition: TypeObject.h:250
DDS::ReturnCode_t get_selected_union_branch(DDS::Int32 disc, bool &found_selected_member, DDS::MemberDescriptor_var &selected_md) const
const TypeKind TK_CHAR16
Definition: TypeObject.h:228
const TypeKind TK_FLOAT64
Definition: TypeObject.h:223
const TypeKind TK_BITSET
Definition: TypeObject.h:245

◆ get_member_id_at_index()

DDS::MemberId OpenDDS::XTypes::DynamicDataAdapter::get_member_id_at_index ( DDS::UInt32  index)

Definition at line 104 of file DynamicDataAdapter.cpp.

References ACE_ERROR, OpenDDS::XTypes::bound_total(), check_index(), OpenDDS::XTypes::DISCRIMINATOR_ID, get_member_id_at_index_impl(), OpenDDS::XTypes::DynamicDataBase::get_selected_union_branch(), TAO::String_var< charT >::in(), LM_WARNING, OpenDDS::DCPS::log_level, OpenDDS::XTypes::MEMBER_ID_INVALID, DDS::RETCODE_OK, OpenDDS::DCPS::retcode_to_string(), OpenDDS::XTypes::TK_ARRAY, OpenDDS::XTypes::TK_SEQUENCE, OpenDDS::XTypes::TK_STRUCTURE, OpenDDS::XTypes::TK_UNION, OpenDDS::XTypes::DynamicDataBase::type_, OpenDDS::XTypes::DynamicDataBase::type_desc_, OpenDDS::XTypes::typekind_to_string(), and OpenDDS::DCPS::LogLevel::Warning.

105 {
107  const TypeKind tk = type_->get_kind();
108  switch (tk) {
109  case TK_STRUCTURE:
110  {
111  DDS::DynamicTypeMember_var dtm;
112  rc = type_->get_member_by_index(dtm, index);
113  if (rc != DDS::RETCODE_OK) {
115  const CORBA::String_var type_name = type_->get_name();
116  ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: DynamicDataAdapterImpl<%C>::get_member_id_at_index: "
117  "get_member_by_index returned %C\n",
118  type_name.in(), retcode_to_string(rc)));
119  }
120  return MEMBER_ID_INVALID;
121  }
122  return dtm->get_id();
123  }
124  case TK_UNION:
125  {
126  if (index == 0) {
127  return DISCRIMINATOR_ID;
128  } else if (index == 1) {
129  bool branch_active;
130  DDS::MemberDescriptor_var active_branch;
131  DDS::ReturnCode_t rc = get_selected_union_branch(branch_active, active_branch);
132  if (rc != DDS::RETCODE_OK) {
134  const CORBA::String_var type_name = type_->get_name();
135  ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: DynamicDataAdapterImpl<%C>::get_member_id_at_index: "
136  "get_selected_union_branch returned %C\n",
137  type_name.in(), retcode_to_string(rc)));
138  }
139  return MEMBER_ID_INVALID;
140  }
141  if (branch_active) {
142  return active_branch->id();
144  const CORBA::String_var type_name = type_->get_name();
145  ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: DynamicDataAdapterImpl<%C>::get_member_id_at_index: "
146  "union doesn't have an active branch, so index 1 is invalid\n",
147  type_name.in()));
148  }
150  const CORBA::String_var type_name = type_->get_name();
151  ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: DynamicDataAdapterImpl<%C>::get_member_id_at_index: "
152  "index %u is invalid for unions\n",
153  type_name.in(), index));
154  }
155  return MEMBER_ID_INVALID;
156  }
157  case TK_SEQUENCE:
158  return get_member_id_at_index_impl(index);
159  case TK_ARRAY:
160  {
161  DDS::ReturnCode_t rc = check_index("get_member_id_at_index", index, bound_total(type_desc_));
162  if (rc != DDS::RETCODE_OK) {
164  const CORBA::String_var type_name = type_->get_name();
165  ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: DynamicDataAdapterImpl<%C>::get_member_id_at_index: "
166  "check_index returned %C\n",
167  type_name.in(), retcode_to_string(rc)));
168  }
169  return MEMBER_ID_INVALID;
170  }
171  return index;
172  }
173  default:
175  const CORBA::String_var type_name = type_->get_name();
176  ACE_ERROR((LM_WARNING, "(%P|%t) WARNING: DynamicDataAdapterImpl<%C>::get_member_id_at_index: "
177  "not supported for %C\n",
178  type_name.in(), typekind_to_string(tk)));
179  }
180  return MEMBER_ID_INVALID;
181  }
182 }
const TypeKind TK_SEQUENCE
Definition: TypeObject.h:248
#define ACE_ERROR(X)
DDS::ReturnCode_t check_index(const char *method, DDS::UInt32 index, DDS::UInt32 size) const
virtual DDS::MemberId get_member_id_at_index_impl(DDS::UInt32)
const TypeKind TK_UNION
Definition: TypeObject.h:244
const ACE_CDR::ULong DISCRIMINATOR_ID
Implementation specific sentinel for a union discriminator used in DynamicData.
Definition: TypeObject.h:913
DDS::TypeDescriptor_var type_desc_
ACE_CDR::Octet TypeKind
Definition: TypeObject.h:210
const char * typekind_to_string(TypeKind tk)
DDS::UInt32 bound_total(DDS::TypeDescriptor_var descriptor)
const ACE_CDR::ULong MEMBER_ID_INVALID
Definition: TypeObject.h:911
DDS::DynamicType_var type_
The actual (i.e., non-alias) DynamicType of the associated type.
const TypeKind TK_STRUCTURE
Definition: TypeObject.h:243
OpenDDS_Dcps_Export LogLevel log_level
const char * retcode_to_string(DDS::ReturnCode_t value)
Definition: DCPS_Utils.cpp:29
const ReturnCode_t RETCODE_OK
const TypeKind TK_ARRAY
Definition: TypeObject.h:249
const character_type * in(void) const
DDS::ReturnCode_t get_selected_union_branch(DDS::Int32 disc, bool &found_selected_member, DDS::MemberDescriptor_var &selected_md) const

◆ get_member_id_at_index_impl()

DDS::MemberId OpenDDS::XTypes::DynamicDataAdapter::get_member_id_at_index_impl ( DDS::UInt32  )
virtual

Definition at line 98 of file DynamicDataAdapter.cpp.

References OpenDDS::XTypes::MEMBER_ID_INVALID, and OPENDDS_ASSERT.

Referenced by get_member_id_at_index().

99 {
100  OPENDDS_ASSERT(false);
101  return MEMBER_ID_INVALID;
102 }
#define OPENDDS_ASSERT(C)
Definition: Definitions.h:72
const ACE_CDR::ULong MEMBER_ID_INVALID
Definition: TypeObject.h:911

◆ get_member_id_by_name()

DDS::MemberId OpenDDS::XTypes::DynamicDataAdapter::get_member_id_by_name ( const char *  name)

Definition at line 89 of file DynamicDataAdapter.cpp.

References OpenDDS::XTypes::MEMBER_ID_INVALID, DDS::RETCODE_OK, and OpenDDS::XTypes::DynamicDataBase::type_.

90 {
91  DDS::DynamicTypeMember_var dtm;
92  if (type_->get_member_by_name(dtm, name) != DDS::RETCODE_OK) {
93  return MEMBER_ID_INVALID;
94  }
95  return dtm->get_id();
96 }
const ACE_CDR::ULong MEMBER_ID_INVALID
Definition: TypeObject.h:911
DDS::DynamicType_var type_
The actual (i.e., non-alias) DynamicType of the associated type.
const char *const name
Definition: debug.cpp:60
const ReturnCode_t RETCODE_OK

◆ get_raw_value()

virtual DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_raw_value ( const char *  method,
void *  dest,
DDS::TypeKind  tk,
DDS::MemberId  id 
)
protectedpure virtual

◆ get_s16_raw_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_s16_raw_value ( const char *  method,
void *  dest,
DDS::TypeKind  tk,
const DDS::Char16 source,
DDS::MemberId  id 
)
protected

Definition at line 318 of file DynamicDataAdapter.cpp.

References check_member(), DDS::RETCODE_OK, CORBA::wstring_dup(), and CORBA::wstring_free().

321 {
322  const DDS::ReturnCode_t rc = check_member(method, tk, id);
323  if (rc != DDS::RETCODE_OK) {
324  return rc;
325  }
326  DDS::Char16*& dest_value = *static_cast<DDS::Char16**>(dest);
327  CORBA::wstring_free(dest_value);
328  dest_value = CORBA::wstring_dup(source);
329  return rc;
330 }
void wstring_free(WChar *const)
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
WChar * wstring_dup(const WChar *const)
const ReturnCode_t RETCODE_OK
wchar Char16
Definition: DdsDcpsCore.idl:45

◆ get_s8_raw_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_s8_raw_value ( const char *  method,
void *  dest,
DDS::TypeKind  tk,
const char *  source,
DDS::MemberId  id 
)
protected

Definition at line 268 of file DynamicDataAdapter.cpp.

References check_member(), DDS::RETCODE_OK, CORBA::string_dup(), and CORBA::string_free().

270 {
271  const DDS::ReturnCode_t rc = check_member(method, tk, id);
272  if (rc != DDS::RETCODE_OK) {
273  return rc;
274  }
275  char*& dest_value = *static_cast<char**>(dest);
276  CORBA::string_free(dest_value);
277  dest_value = CORBA::string_dup(source);
278  return rc;
279 }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
char * string_dup(const char *)
void string_free(char *)
const ReturnCode_t RETCODE_OK

◆ get_simple_raw_value()

template<typename T >
DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_simple_raw_value ( const char *  method,
void *  dest,
DDS::TypeKind  tk,
source,
DDS::MemberId  id 
)
inlineprotected

Definition at line 520 of file DynamicDataAdapter.h.

References DDS::RETCODE_OK.

522  {
523  const DDS::ReturnCode_t rc = check_member(method, tk, id);
524  if (rc == DDS::RETCODE_OK) {
525  *static_cast<T*>(dest) = source;
526  }
527  return rc;
528  }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
const ReturnCode_t RETCODE_OK

◆ get_string_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_string_value ( char *&  value,
DDS::MemberId  id 
)
inline

Definition at line 262 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_STRING8.

264  {
265  return get_raw_value("get_string_value", &value, TK_STRING8, id);
266  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_STRING8
Definition: TypeObject.h:231

◆ get_string_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_string_values ( DDS::StringSeq ,
DDS::MemberId   
)
inline

Definition at line 478 of file DynamicDataAdapter.h.

480  {
481  return unsupported_method("DynamicDataAdapater::get_string_values");
482  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_uint16_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_uint16_value ( CORBA::UShort value,
DDS::MemberId  id 
)
inline

Definition at line 120 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_UINT16.

122  {
123  return get_raw_value("get_uint16_value", &value, TK_UINT16, id);
124  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_UINT16
Definition: TypeObject.h:219

◆ get_uint16_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_uint16_values ( DDS::UInt16Seq ,
DDS::MemberId   
)
inline

Definition at line 358 of file DynamicDataAdapter.h.

360  {
361  return unsupported_method("DynamicDataAdapater::get_uint16_values");
362  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_uint32_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_uint32_value ( CORBA::ULong value,
DDS::MemberId  id 
)
inline

Definition at line 144 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_UINT32.

146  {
147  return get_raw_value("get_uint32_value", &value, TK_UINT32, id);
148  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_UINT32
Definition: TypeObject.h:220

◆ get_uint32_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_uint32_values ( DDS::UInt32Seq ,
DDS::MemberId   
)
inline

Definition at line 310 of file DynamicDataAdapter.h.

312  {
313  return unsupported_method("DynamicDataAdapater::get_uint32_values");
314  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_uint64_value_impl()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_uint64_value_impl ( DDS::UInt64 value,
DDS::MemberId  id 
)
inlinevirtual

Implements OpenDDS::XTypes::DynamicDataBase.

Definition at line 167 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_UINT64.

168  {
169  return get_raw_value("get_uint64_value", &value, TK_UINT64, id);
170  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_UINT64
Definition: TypeObject.h:221

◆ get_uint64_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_uint64_values ( DDS::UInt64Seq ,
DDS::MemberId   
)
inline

Definition at line 382 of file DynamicDataAdapter.h.

384  {
385  return unsupported_method("DynamicDataAdapater::get_uint64_values");
386  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_uint8_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_uint8_value ( CORBA::UInt8 value,
DDS::MemberId  id 
)
inline

Definition at line 96 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_UINT8.

98  {
99  return get_raw_value("get_uint8_value", &value, TK_UINT8, id);
100  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_UINT8
Definition: TypeObject.h:226

◆ get_uint8_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_uint8_values ( DDS::UInt8Seq ,
DDS::MemberId   
)
inline

Definition at line 334 of file DynamicDataAdapter.h.

336  {
337  return unsupported_method("DynamicDataAdapater::get_uint8_values");
338  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ get_wstring_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_wstring_value ( CORBA::WChar *&  value,
DDS::MemberId  id 
)
inline

Definition at line 274 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_STRING16.

276  {
277  return get_raw_value("get_wstring_value", &value, TK_STRING16, id);
278  }
virtual DDS::ReturnCode_t get_raw_value(const char *method, void *dest, DDS::TypeKind tk, DDS::MemberId id)=0
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_STRING16
Definition: TypeObject.h:232

◆ get_wstring_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::get_wstring_values ( DDS::WstringSeq ,
DDS::MemberId   
)
inline

Definition at line 490 of file DynamicDataAdapter.h.

492  {
493  return unsupported_method("DynamicDataAdapater::get_wstring_values");
494  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ invalid_id()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::invalid_id ( const char *  method,
DDS::MemberId  id 
) const
protected

Definition at line 205 of file DynamicDataAdapter.cpp.

References ACE_ERROR, TAO::String_var< charT >::in(), LM_NOTICE, OpenDDS::DCPS::log_level, OpenDDS::DCPS::LogLevel::Notice, DDS::RETCODE_BAD_PARAMETER, and OpenDDS::XTypes::DynamicDataBase::type_.

206 {
208  const CORBA::String_var type_name = type_->get_name();
209  ACE_ERROR((LM_NOTICE, "(%P|%t) NOTICE: DynamicDataAdapterImpl<%C>::%C: invalid member id %u\n",
210  type_name.in(), method, id));
211  }
213 }
#define ACE_ERROR(X)
DDS::DynamicType_var type_
The actual (i.e., non-alias) DynamicType of the associated type.
OpenDDS_Dcps_Export LogLevel log_level
const character_type * in(void) const
const ReturnCode_t RETCODE_BAD_PARAMETER

◆ missing_dda()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::missing_dda ( const char *  method,
DDS::MemberId  id 
) const
protected

Definition at line 215 of file DynamicDataAdapter.cpp.

References ACE_ERROR, TAO::String_var< charT >::in(), LM_NOTICE, OpenDDS::DCPS::log_level, OpenDDS::DCPS::LogLevel::Notice, DDS::RETCODE_BAD_PARAMETER, and OpenDDS::XTypes::DynamicDataBase::type_.

216 {
218  const CORBA::String_var type_name = type_->get_name();
219  ACE_ERROR((LM_NOTICE, "(%P|%t) NOTICE: DynamicDataAdapterImpl<%C>::%C: "
220  "member id %u doesn't have a DynamicDataAdapterImpl\n",
221  type_name.in(), method, id));
222  }
224 }
#define ACE_ERROR(X)
DDS::DynamicType_var type_
The actual (i.e., non-alias) DynamicType of the associated type.
OpenDDS_Dcps_Export LogLevel log_level
const character_type * in(void) const
const ReturnCode_t RETCODE_BAD_PARAMETER

◆ set_bool_vector_elem_raw_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_bool_vector_elem_raw_value ( const char *  method,
std::vector< bool >::reference  dest,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
inlineprotected

Definition at line 556 of file DynamicDataAdapter.h.

References DDS::RETCODE_OK.

559  {
560  const DDS::ReturnCode_t rc = check_member(method, tk, id);
561  if (rc == DDS::RETCODE_OK) {
562  dest = *static_cast<const bool*>(source);
563  }
564  return rc;
565  }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
const ReturnCode_t RETCODE_OK

◆ set_boolean_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_boolean_value ( DDS::MemberId  id,
CORBA::Boolean  value 
)
inline

Definition at line 256 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_BOOLEAN.

258  {
259  return set_raw_value("set_boolean_value", id, &value, TK_BOOLEAN);
260  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_BOOLEAN
Definition: TypeObject.h:214
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_boolean_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_boolean_values ( DDS::MemberId  ,
const DDS::BooleanSeq  
)
inline

Definition at line 472 of file DynamicDataAdapter.h.

474  {
475  return unsupported_method("DynamicDataAdapater::set_boolean_values");
476  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_byte_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_byte_value ( DDS::MemberId  id,
CORBA::Octet  value 
)
inline

Definition at line 244 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_BYTE.

246  {
247  return set_raw_value("set_byte_value", id, &value, TK_BYTE);
248  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_BYTE
Definition: TypeObject.h:215
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_byte_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_byte_values ( DDS::MemberId  ,
const DDS::ByteSeq  
)
inline

Definition at line 460 of file DynamicDataAdapter.h.

462  {
463  return unsupported_method("DynamicDataAdapater::set_byte_values");
464  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_char16_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_char16_value ( DDS::MemberId  id,
CORBA::WChar  value 
)
inline

Definition at line 232 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_CHAR16.

234  {
235  return set_raw_value("set_char16_value", id, &value, TK_CHAR16);
236  }
const LogLevel::Value value
Definition: debug.cpp:61
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0
const TypeKind TK_CHAR16
Definition: TypeObject.h:228

◆ set_char16_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_char16_values ( DDS::MemberId  ,
const DDS::WcharSeq  
)
inline

Definition at line 448 of file DynamicDataAdapter.h.

450  {
451  return unsupported_method("DynamicDataAdapater::set_char16_values");
452  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_char8_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_char8_value ( DDS::MemberId  id,
CORBA::Char  value 
)
inline

Definition at line 220 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_CHAR8.

222  {
223  return set_raw_value("set_char8_value", id, &value, TK_CHAR8);
224  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_CHAR8
Definition: TypeObject.h:227
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_char8_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_char8_values ( DDS::MemberId  ,
const DDS::CharSeq  
)
inline

Definition at line 436 of file DynamicDataAdapter.h.

438  {
439  return unsupported_method("DynamicDataAdapater::set_char8_values");
440  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_complex_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_complex_value ( DDS::MemberId  id,
DDS::DynamicData_ptr  value 
)
inline

Definition at line 292 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_NONE.

294  {
295  return set_raw_value("set_complex_value", id, value, TK_NONE);
296  }
const LogLevel::Value value
Definition: debug.cpp:61
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0
const TypeKind TK_NONE
Definition: TypeObject.h:213

◆ set_cpp11_s16_raw_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_cpp11_s16_raw_value ( const char *  method,
std::wstring &  dest,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
protected

Definition at line 359 of file DynamicDataAdapter.cpp.

References check_member(), OPENDDS_END_VERSIONED_NAMESPACE_DECL, and DDS::RETCODE_OK.

362 {
363  const DDS::ReturnCode_t rc = check_member(method, tk, id);
364  if (rc == DDS::RETCODE_OK) {
365  dest = static_cast<const DDS::Char16*>(source);
366  }
367  return rc;
368 }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
const ReturnCode_t RETCODE_OK
wchar Char16
Definition: DdsDcpsCore.idl:45

◆ set_cpp11_s8_raw_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_cpp11_s8_raw_value ( const char *  method,
std::string &  dest,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
protected

Definition at line 307 of file DynamicDataAdapter.cpp.

References check_member(), and DDS::RETCODE_OK.

310 {
311  const DDS::ReturnCode_t rc = check_member(method, tk, id);
312  if (rc == DDS::RETCODE_OK) {
313  dest = static_cast<const char*>(source);
314  }
315  return rc;
316 }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
const ReturnCode_t RETCODE_OK

◆ set_direct_complex_raw_value()

template<typename T , typename Tag >
DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_direct_complex_raw_value ( const char *  method,
T &  dest,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
inlineprotected

Definition at line 645 of file DynamicDataAdapter.h.

References DDS::RETCODE_OK.

647  {
648  DDS::DynamicType_var member_type;
649  const DDS::ReturnCode_t rc = check_member(member_type, method, tk, id);
650  if (rc != DDS::RETCODE_OK) {
651  return rc;
652  }
653 
654  DDS::DynamicData* const source_dd = static_cast<DDS::DynamicData*>(const_cast<void*>(source));
655 
656  // If the source is another DynamicDataAdapter of the member type then do a
657  // direct copy, else do an indirect copy.
658  const T* const source_value = get_dynamic_data_adapter_value<T, Tag>(source_dd);
659  if (source_value) {
660  if (source_value != &dest) {
661  dest = *source_value;
662  }
663  return DDS::RETCODE_OK;
664  }
665 
666  return set_indirect_complex_raw_value_impl<T, Tag>(method, dest, id, member_type, source_dd);
667  }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
const ReturnCode_t RETCODE_OK

◆ set_enum_raw_value()

template<typename Enum >
DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_enum_raw_value ( const char *  method,
Enum &  dest,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
inlineprotected

For now source must be a Int32 and tk must be TK_INT32.

Definition at line 581 of file DynamicDataAdapter.h.

References DDS::RETCODE_OK.

583  {
584  const DDS::ReturnCode_t rc = check_member(method, tk, id);
585  if (rc == DDS::RETCODE_OK) {
586  dest = static_cast<Enum>(*static_cast<const DDS::Int32*>(source));
587  }
588  return rc;
589  }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
const ReturnCode_t RETCODE_OK

◆ set_float128_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_float128_value ( DDS::MemberId  id,
CORBA::LongDouble  value 
)
inline

Definition at line 208 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_FLOAT128.

210  {
211  return set_raw_value("set_float128_value", id, &value, TK_FLOAT128);
212  }
const TypeKind TK_FLOAT128
Definition: TypeObject.h:224
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_float128_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_float128_values ( DDS::MemberId  ,
const DDS::Float128Seq  
)
inline

Definition at line 424 of file DynamicDataAdapter.h.

426  {
427  return unsupported_method("DynamicDataAdapater::set_float128_values");
428  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_float32_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_float32_value ( DDS::MemberId  id,
CORBA::Float  value 
)
inline

Definition at line 184 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_FLOAT32.

186  {
187  return set_raw_value("set_float32_value", id, &value, TK_FLOAT32);
188  }
const TypeKind TK_FLOAT32
Definition: TypeObject.h:222
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_float32_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_float32_values ( DDS::MemberId  ,
const DDS::Float32Seq  
)
inline

Definition at line 400 of file DynamicDataAdapter.h.

402  {
403  return unsupported_method("DynamicDataAdapater::set_float32_values");
404  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_float64_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_float64_value ( DDS::MemberId  id,
CORBA::Double  value 
)
inline

Definition at line 196 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_FLOAT64.

198  {
199  return set_raw_value("set_float64_value", id, &value, TK_FLOAT64);
200  }
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0
const TypeKind TK_FLOAT64
Definition: TypeObject.h:223

◆ set_float64_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_float64_values ( DDS::MemberId  ,
const DDS::Float64Seq  
)
inline

Definition at line 412 of file DynamicDataAdapter.h.

414  {
415  return unsupported_method("DynamicDataAdapater::set_float64_values");
416  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_indirect_complex_raw_value()

template<typename T , typename Tag >
DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_indirect_complex_raw_value ( const char *  method,
T &  dest,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
inlineprotected

Definition at line 672 of file DynamicDataAdapter.h.

References DDS::RETCODE_OK.

674  {
675  DDS::DynamicType_var member_type;
676  const DDS::ReturnCode_t rc = check_member(member_type, method, tk, id);
677  if (rc != DDS::RETCODE_OK) {
678  return rc;
679  }
680  return set_indirect_complex_raw_value_impl<T, Tag>(method, dest, id, member_type,
681  static_cast<DDS::DynamicData*>(const_cast<void*>(source)));
682  }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
const ReturnCode_t RETCODE_OK

◆ set_indirect_complex_raw_value_impl()

template<typename T , typename Tag >
DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_indirect_complex_raw_value_impl ( const char *  method,
T &  dest,
DDS::MemberId  id,
DDS::DynamicType_ptr  member_type,
DDS::DynamicData_ptr  source_dd 
)
inlineprotected

Definition at line 633 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::copy().

636  {
637  DDS::DynamicData_var dest_dda = get_dynamic_data_adapter<T, Tag>(member_type, dest);
638  if (!dest_dda) {
639  return missing_dda(method, id);
640  }
641  return copy(dest_dda, source_dd);
642  }
DDS::ReturnCode_t missing_dda(const char *method, DDS::MemberId id) const
DDS::ReturnCode_t copy(DDS::DynamicData_ptr dest, DDS::DynamicData_ptr src)

◆ set_int16_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_int16_value ( DDS::MemberId  id,
CORBA::Short  value 
)
inline

Definition at line 114 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_INT16.

116  {
117  return set_raw_value("set_int16_value", id, &value, TK_INT16);
118  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_INT16
Definition: TypeObject.h:216
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_int16_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_int16_values ( DDS::MemberId  ,
const DDS::Int16Seq  
)
inline

Definition at line 352 of file DynamicDataAdapter.h.

354  {
355  return unsupported_method("DynamicDataAdapater::set_int16_values");
356  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_int32_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_int32_value ( DDS::MemberId  id,
CORBA::Long  value 
)
inline

Definition at line 138 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_INT32.

140  {
141  return set_raw_value("set_int32_value", id, &value, TK_INT32);
142  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_INT32
Definition: TypeObject.h:217
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_int32_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_int32_values ( DDS::MemberId  ,
const DDS::Int32Seq  
)
inline

Definition at line 304 of file DynamicDataAdapter.h.

306  {
307  return unsupported_method("DynamicDataAdapater::set_int32_values");
308  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_int64_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_int64_value ( DDS::MemberId  id,
CORBA::LongLong  value 
)
inline

Definition at line 161 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_INT64.

163  {
164  return set_raw_value("set_int64_value", id, &value, TK_INT64);
165  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_INT64
Definition: TypeObject.h:218
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_int64_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_int64_values ( DDS::MemberId  ,
const DDS::Int64Seq  
)
inline

Definition at line 376 of file DynamicDataAdapter.h.

378  {
379  return unsupported_method("DynamicDataAdapater::set_int64_values");
380  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_int8_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_int8_value ( DDS::MemberId  id,
CORBA::Int8  value 
)
inline

Definition at line 90 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_INT8.

92  {
93  return set_raw_value("set_int8_value", id, &value, TK_INT8);
94  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_INT8
Definition: TypeObject.h:225
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_int8_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_int8_values ( DDS::MemberId  ,
const DDS::Int8Seq  
)
inline

Definition at line 328 of file DynamicDataAdapter.h.

330  {
331  return unsupported_method("DynamicDataAdapater::set_int8_values");
332  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_raw_value()

virtual DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_raw_value ( const char *  method,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
protectedpure virtual

◆ set_s16_raw_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_s16_raw_value ( const char *  method,
DDS::Char16 *&  dest,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
protected

Definition at line 332 of file DynamicDataAdapter.cpp.

References check_member(), DDS::RETCODE_OK, CORBA::wstring_dup(), and CORBA::wstring_free().

335 {
336  const DDS::ReturnCode_t rc = check_member(method, tk, id);
337  if (rc != DDS::RETCODE_OK) {
338  return rc;
339  }
340  CORBA::wstring_free(dest);
341  dest = CORBA::wstring_dup(static_cast<const DDS::Char16*>(source));
342  return rc;
343 }
void wstring_free(WChar *const)
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
WChar * wstring_dup(const WChar *const)
const ReturnCode_t RETCODE_OK

◆ set_s8_raw_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_s8_raw_value ( const char *  method,
char *&  dest,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
protected

Definition at line 281 of file DynamicDataAdapter.cpp.

References check_member(), DDS::RETCODE_OK, CORBA::string_dup(), and CORBA::string_free().

283 {
284  const DDS::ReturnCode_t rc = check_member(method, tk, id);
285  if (rc != DDS::RETCODE_OK) {
286  return rc;
287  }
288  CORBA::string_free(dest);
289  dest = CORBA::string_dup(static_cast<const char*>(source));
290  return rc;
291 }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
char * string_dup(const char *)
void string_free(char *)
const ReturnCode_t RETCODE_OK

◆ set_simple_raw_value()

template<typename T >
DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_simple_raw_value ( const char *  method,
T &  dest,
DDS::MemberId  id,
const void *  source,
DDS::TypeKind  tk 
)
inlineprotected

Definition at line 541 of file DynamicDataAdapter.h.

References DDS::RETCODE_OK.

543  {
544  const DDS::ReturnCode_t rc = check_member(method, tk, id);
545  if (rc == DDS::RETCODE_OK) {
546  dest = *static_cast<const T*>(source);
547  }
548  return rc;
549  }
DDS::ReturnCode_t check_member(DDS::DynamicType_var &member_type, const char *method, DDS::TypeKind tk, DDS::MemberId id)
const ReturnCode_t RETCODE_OK

◆ set_string_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_string_value ( DDS::MemberId  id,
const char *  value 
)
inline

Definition at line 268 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_STRING8.

270  {
271  return set_raw_value("set_string_value", id, value, TK_STRING8);
272  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_STRING8
Definition: TypeObject.h:231
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_string_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_string_values ( DDS::MemberId  ,
const DDS::StringSeq  
)
inline

Definition at line 484 of file DynamicDataAdapter.h.

486  {
487  return unsupported_method("DynamicDataAdapater::set_string_values");
488  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_uint16_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_uint16_value ( DDS::MemberId  id,
CORBA::UShort  value 
)
inline

Definition at line 126 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_UINT16.

128  {
129  return set_raw_value("set_uint16_value", id, &value, TK_UINT16);
130  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_UINT16
Definition: TypeObject.h:219
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_uint16_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_uint16_values ( DDS::MemberId  ,
const DDS::UInt16Seq  
)
inline

Definition at line 364 of file DynamicDataAdapter.h.

366  {
367  return unsupported_method("DynamicDataAdapater::set_uint16_values");
368  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_uint32_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_uint32_value ( DDS::MemberId  id,
CORBA::ULong  value 
)
inline

Definition at line 150 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_UINT32.

152  {
153  return set_raw_value("set_uint32_value", id, &value, TK_UINT32);
154  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_UINT32
Definition: TypeObject.h:220
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_uint32_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_uint32_values ( DDS::MemberId  ,
const DDS::UInt32Seq  
)
inline

Definition at line 316 of file DynamicDataAdapter.h.

318  {
319  return unsupported_method("DynamicDataAdapater::set_uint32_values");
320  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_uint64_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_uint64_value ( DDS::MemberId  id,
CORBA::ULongLong  value 
)
inline

Definition at line 172 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_UINT64.

174  {
175  return set_raw_value("set_uint64_value", id, &value, TK_UINT64);
176  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_UINT64
Definition: TypeObject.h:221
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_uint64_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_uint64_values ( DDS::MemberId  ,
const DDS::UInt64Seq  
)
inline

Definition at line 388 of file DynamicDataAdapter.h.

390  {
391  return unsupported_method("DynamicDataAdapater::set_uint64_values");
392  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_uint8_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_uint8_value ( DDS::MemberId  id,
CORBA::UInt8  value 
)
inline

Definition at line 102 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_UINT8.

104  {
105  return set_raw_value("set_uint8_value", id, &value, TK_UINT8);
106  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_UINT8
Definition: TypeObject.h:226
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_uint8_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_uint8_values ( DDS::MemberId  ,
const DDS::UInt8Seq  
)
inline

Definition at line 340 of file DynamicDataAdapter.h.

342  {
343  return unsupported_method("DynamicDataAdapater::set_uint8_values");
344  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

◆ set_wstring_value()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_wstring_value ( DDS::MemberId  id,
const CORBA::WChar value 
)
inline

Definition at line 280 of file DynamicDataAdapter.h.

References OpenDDS::XTypes::TK_STRING16.

282  {
283  return set_raw_value("set_wstring_value", id, value, TK_STRING16);
284  }
const LogLevel::Value value
Definition: debug.cpp:61
const TypeKind TK_STRING16
Definition: TypeObject.h:232
virtual DDS::ReturnCode_t set_raw_value(const char *method, DDS::MemberId id, const void *source, DDS::TypeKind tk)=0

◆ set_wstring_values()

DDS::ReturnCode_t OpenDDS::XTypes::DynamicDataAdapter::set_wstring_values ( DDS::MemberId  ,
const DDS::WstringSeq  
)
inline

Definition at line 496 of file DynamicDataAdapter.h.

498  {
499  return unsupported_method("DynamicDataAdapater::set_wstring_values");
500  }
DDS::ReturnCode_t unsupported_method(const char *method_name, bool warning=false) const

Member Data Documentation

◆ read_only_

const bool OpenDDS::XTypes::DynamicDataAdapter::read_only_
protected

Definition at line 503 of file DynamicDataAdapter.h.

Referenced by assert_mutable().


The documentation for this class was generated from the following files: