26 const char* type_name)
28 const char*
const type =
29 (!type_name || !type_name[0]) ?
name() : type_name;
35 const char* type_name)
37 if (type_name == 0 || type_name[0] ==
'\0') {
61 str =
"not an equivalence hash";
64 "TypeIdentifier \"%C\" of topic type \"%C\" not found in local type map.\n",
65 method_name, str.c_str(),
name));
72 const XTypes::TypeMap& type_map)
const 74 const XTypes::TypeMap::const_iterator pos = type_map.find(ti);
76 if (pos == type_map.end()) {
77 log_ti_not_found(
"to_type_info_i",
name(), ti);
118 using namespace XTypes;
125 tls->add(minTypeMap.begin(), minTypeMap.end());
127 tls->add(comTypeMap.begin(), comTypeMap.end());
136 for (TypeMap::const_iterator iter = minTypeMap.begin(); iter != minTypeMap.end(); ++iter) {
137 const TypeObject& minTypeObject = iter->second;
139 altMinMap[typeId] = minTypeObject;
141 tls->add(altMinMap.begin(), altMinMap.end());
144 for (TypeMap::const_iterator iter = comTypeMap.begin(); iter != comTypeMap.end(); ++iter) {
145 const TypeObject& comTypeObject = iter->second;
147 altComMap[typeId] = comTypeObject;
149 tls->add(altComMap.begin(), altComMap.end());
172 for (; it != dependencies.end(); ++it) {
173 XTypes::TypeMap::const_iterator iter = type_map.find(*it);
174 if (iter != type_map.end()) {
177 deps_with_size.
append(ti_with_size);
179 log_ti_not_found(
"populate_dependencies_i",
name(), *it);
182 tls->add_type_dependencies(type_id, deps_with_size);
186 #ifndef OPENDDS_SAFETY_PROFILE 224 switch (representation) {
virtual char * get_type_name()
RepresentationFormat * make_format(DDS::DataRepresentationId_t representation)
ACE_CDR::ULong typeobject_serialized_size
CdrRepresentationFormatImpl(DDS::DataRepresentationId_t)
const Encoding & get_typeobject_encoding()
void compute_dependencies(const TypeMap &type_map, const TypeIdentifier &type_identifier, OPENDDS_SET(TypeIdentifier)&dependencies)
virtual ~TypeSupportImpl()
const GUID_t GUID_UNKNOWN
Nil value for GUID.
ACE_CDR::Octet kind() const
DDS::DynamicType_var type_
void set_complete_type_map(const TypeMap &tm)
const DDS::DataRepresentationId_t JSON_DATA_REPRESENTATION
const DataRepresentationId_t XCDR_DATA_REPRESENTATION
void serialized_size(const Encoding &encoding, size_t &size, const SequenceNumber &)
XTypes::TypeLookupService_rch type_lookup_service_
virtual const XTypes::TypeIdentifier & getMinimalTypeIdentifier() const =0
virtual DDS::ReturnCode_t register_type(DDS::DomainParticipant_ptr participant, const char *type_name)
static const ACE_CDR::Long TYPE_INFO_DEPENDENT_COUNT_NOT_PROVIDED
void set_minimal_type_map(const TypeMap &tm)
const EquivalenceKind EK_COMPLETE
#define Registered_Data_Types
virtual const char * name() const =0
const DataRepresentationId_t XCDR2_DATA_REPRESENTATION
TypeIdentifierWithSize typeid_with_size
TypeIdentifierWithDependencies complete
void add_types(const XTypes::TypeLookupService_rch &tls) const
DCPS::String equivalence_hash_to_string(const EquivalenceHash &equivalence_hash)
bool skip_sequence_dheader() const
ACE_CDR::Long dependent_typeid_count
void populate_dependencies_i(const XTypes::TypeLookupService_rch &tls, XTypes::EquivalenceKind ek) const
void set_complete_type_identifier(const TypeIdentifier &ti)
const DDS::DataRepresentationId_t UNALIGNED_CDR_DATA_REPRESENTATION
void get_type_from_type_lookup_service()
Sequence & append(const T &member)
character_type * _retn(void)
virtual const XTypes::TypeIdentifier & getCompleteTypeIdentifier() const =0
virtual const XTypes::TypeMap & getCompleteTypeMap() const =0
ACE_CDR::Octet EquivalenceKind
OpenDDS_Dcps_Export LogLevel log_level
void set_minimal_type_identifier(const TypeIdentifier &ti)
void to_type_info(XTypes::TypeInformation &type_info) const
virtual const XTypes::TypeInformation * preset_type_info() const
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
const EquivalenceKind EK_MINIMAL
virtual const XTypes::TypeMap & getMinimalTypeMap() const =0
short DataRepresentationId_t
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)
#define TheServiceParticipant
virtual DDS::ReturnCode_t unregister_type(DDS::DomainParticipant_ptr participant, const char *type_name)
TypeIdentifier makeTypeIdentifier(const TypeObject &type_object, const DCPS::Encoding *encoding_option)
The Internal API and Implementation of OpenDDS.
TypeIdentifierWithDependencies minimal
bool has_type_object(const TypeIdentifier &ti)
void to_type_info_i(XTypes::TypeIdentifierWithDependencies &ti_with_deps, const XTypes::TypeIdentifier &ti, const XTypes::TypeMap &type_map) const
typedef OPENDDS_SET(NetworkAddress) AddrSet
const ReturnCode_t RETCODE_BAD_PARAMETER