13 #include "dds/DdsDcpsDomainC.h" 39 DDS::DomainParticipant_ptr domain_participant,
40 const char* type_name,
41 TypeSupport_ptr the_type)
46 const TypeSupport_var typeSupport = TypeSupport::_duplicate(the_type);
48 TypeSupportMap::iterator iter = tsm.find(type_name);
49 if (iter == tsm.end()) {
50 tsm[type_name] = typeSupport;
54 if (std::strcmp(typeSupport->_interface_repository_id(),
55 iter->second->_interface_repository_id()) == 0) {
63 DDS::DomainParticipant_ptr domain_participant,
64 const char* type_name,
65 TypeSupport_ptr the_type)
71 TypeSupportMap::iterator iter = tsm.find(type_name);
72 if (iter == tsm.end()) {
77 if (std::strcmp(the_type->_interface_repository_id(), iter->second->_interface_repository_id()) == 0) {
88 DDS::DomainParticipant_ptr domain_participant)
96 DDS::DomainParticipant_ptr domain_participant,
97 const char* type_name)
const 101 ParticipantMap::const_iterator iter1 =
participants_.find(domain_participant);
106 TypeSupportMap::const_iterator iter2 = iter1->second.find(type_name);
107 if (iter2 == iter1->second.end()) {
111 TypeSupport_var typeSupport = iter2->second;
112 return typeSupport._retn();
TypeSupport_ptr lookup(DDS::DomainParticipant_ptr domain_participant, const char *type_name) const
static Data_Types_Register * instance()
Return a singleton instance of this class.
ParticipantMap participants_
DDS::ReturnCode_t register_type(DDS::DomainParticipant_ptr domain_participant, const char *type_name, TypeSupport_ptr the_type)
DDS::ReturnCode_t unregister_participant(DDS::DomainParticipant_ptr domain_participant)
#define ACE_GUARD_RETURN(MUTEX, OBJ, LOCK, RETURN)
DDS::ReturnCode_t unregister_type(DDS::DomainParticipant_ptr domain_participant, const char *type_name, TypeSupport_ptr the_type)
static TYPE * instance(void)
const ReturnCode_t RETCODE_ERROR
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
const ReturnCode_t RETCODE_OK
The Internal API and Implementation of OpenDDS.