6 #ifndef OPENDDS_DCPS_XTYPES_DYNAMIC_TYPE_SUPPORT_H 7 #define OPENDDS_DCPS_XTYPES_DYNAMIC_TYPE_SUPPORT_H 9 #ifndef OPENDDS_SAFETY_PROFILE 11 #include <dds/DdsDynamicTypeSupportC.h> 12 #include <dds/DdsDcpsTypeSupportExtC.h> 21 class DynamicTypeSupport;
27 class ReceivedDataElement;
63 static const char*
type_name() {
return "Dynamic"; }
93 , name_(type->get_name())
105 bool is_dcps_key(
const char* field)
const;
123 DataWriter_ptr create_datawriter();
124 DataReader_ptr create_datareader();
125 #ifndef OPENDDS_NO_MULTI_TOPIC 126 DataReader_ptr create_multitopic_datareader();
138 return DynamicType::_duplicate(type_);
141 #ifndef OPENDDS_NO_CONTENT_SUBSCRIPTION_PROFILE 147 return DynamicTypeSupportInterf::_is_a(type_id);
152 return DynamicTypeSupportInterf::_interface_repository_id();
160 static DynamicTypeSupport_ptr
_duplicate(DynamicTypeSupport_ptr obj);
181 #endif // OPENDDS_SAFETY_PROFILE 183 #endif // OPENDDS_DCPS_XTYPES_DYNAMIC_TYPE_SUPPORT_H
CORBA::Boolean operator>>(TAO_InputCDR &, CORBA::Object *&)
CORBA::Boolean _is_a(const char *type_id)
#define TAO_BEGIN_VERSIONED_NAMESPACE_DECL
static bool to_message_block(ACE_Message_Block &, const XTypes::DynamicSample &)
const XTypes::TypeIdentifier & getCompleteTypeIdentifier()
TAO_Objref_Var_T< DynamicTypeSupport > DynamicTypeSupport_var
const XTypes::TypeMap & getMinimalTypeMap()
void increment_references()
DynamicTypeSupport(DynamicType_ptr type)
DCPS::KeyOnly< const XTypes::DynamicSample > KeyOnlyType
#define OpenDDS_Dcps_Export
const char * name() const
sequence< DynamicData > DynamicDataSeq
sequence< DataRepresentationId_t > DataRepresentationIdSeq
DynamicTypeSupport * DynamicTypeSupport_ptr
DDS::DynamicDataReader DataReaderType
virtual ~DynamicTypeSupport()
DynamicType_ptr get_type()
DDS::DynamicDataSeq MessageSequenceType
Class to serialize and deserialize data for DDS.
DynamicTypeSupport_ptr _ptr_type
DynamicSequenceAdapter(DDS::DynamicDataSeq &seq)
void assign_sample(ACE_CDR::ULong i, const DynamicSample &d)
void assign_ptr(ACE_CDR::ULong, const DCPS::ReceivedDataElement *)
OpenDDS::DCPS::SerializedSizeBound serialized_size_bound(const OpenDDS::DCPS::Encoding &) const
Implements the DDS::DataReader interface.
XTypes::DynamicSample::KeyLessThan LessThanType
DDS::DynamicData_var dynamic_data() const
DDS::DynamicDataWriter DataWriterType
const XTypes::TypeMap & getCompleteTypeMap()
DDS::DynamicTypeSupport TypeSupportType
CORBA::Boolean marshal(TAO_OutputCDR &)
const XTypes::TypeIdentifier & getMinimalTypeIdentifier()
DDS::DynamicDataSeq & seq_
TAO_AnyTypeCode_Export bool marshal(TAO_OutputCDR &cdr, CORBA::TypeCode_ptr tc, CORBA::ULong offset)
XTypes::DynamicSample MessageType
XTypes::DynamicSequenceAdapter MessageSequenceAdapterType
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
void set_loaner(DCPS::DataReaderImpl *)
DynamicTypeSupport_var _var_type
ACE_CDR::ULong max_slots() const
DDS::ReturnCode_t max_extensibility(DDS::DynamicType_ptr type, DCPS::Extensibility &ext)
#define TAO_END_VERSIONED_NAMESPACE_DECL
static bool from_message_block(XTypes::DynamicSample &, const ACE_Message_Block &)
OpenDDS::DCPS::SerializedSizeBound key_only_serialized_size_bound(const OpenDDS::DCPS::Encoding &) const
The Internal API and Implementation of OpenDDS.
DDS::ReturnCode_t key_count(DDS::DynamicType_ptr type, size_t &count)
const char * _interface_repository_id() const
void internal_set_length(ACE_CDR::ULong len)
static const char * type_name()