22 #ifndef DDS_HAS_MINIMUM_BIT 27 #include <dds/DCPS/InfoRepoDiscovery/InfoC.h> 41 participantIdGenerator_(generator),
58 DCPS_IR_Participant_Map::const_iterator where =
participants_.find(
id);
72 return p ? p.
in() : 0;
80 DCPS_IR_Participant_Map::iterator where
85 DCPS_IR_Participant_Map::value_type(participantId, participant));
92 ACE_TEXT(
"(%P|%t) DCPS_IR_Domain::add_participant: ")
93 ACE_TEXT(
"added participant %C in domain %d ")
95 std::string(converter).c_str(),
103 ACE_TEXT(
"(%P|%t) NOTICE: DCPS_IR_Domain::add_participant: ")
104 ACE_TEXT(
"attempt to add already existing participant %C in domain %d.\n"),
105 std::string(converter).c_str(),
118 DCPS_IR_Participant_Map::iterator where
127 participant->remove_all_dependents(notify_lost);
135 ACE_TEXT(
"(%P|%t) DCPS_IR_Domain::remove_participant: ")
136 ACE_TEXT(
"removed participant %C at 0x%x from domain %d.\n"),
137 std::string(converter).c_str(),
148 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::remove_participant: ")
149 ACE_TEXT(
"unable to find participant %C in domain %d.\n"),
150 std::string(converter).c_str(),
157 const char * topicName,
158 const char * dataTypeName,
168 , qos, participantPtr, isBIT);
171 topicId = new_topic_id;
179 const char* topicName,
180 const char* dataTypeName,
188 , qos, participantPtr, isBIT);
194 const char * topicName,
195 const char * dataTypeName,
203 if (1 == descriptionLookup) {
207 }
else if (-1 == descriptionLookup) {
214 description = desc.
get();
217 if (0 != descriptionAddition) {
220 if (2 == descriptionAddition) {
247 ACE_TEXT(
"(%P|%t) DCPS_IR_Domain::add_topic_i: ")
248 ACE_TEXT(
"Domain %d successfully added topic %C ")
251 std::string(converter).c_str(),
271 ACE_TEXT(
"(%P|%t) NOTICE: DCPS_IR_Domain::add_topic_i: ")
272 ACE_TEXT(
"Domain %d declined to add duplicate topic %C at 0x%x.\n"),
274 std::string(converter).c_str(),
286 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::add_topic_i: ")
287 ACE_TEXT(
"Domain %d failed to add topic %C at 0x%x.\n"),
289 std::string(converter).c_str(),
305 ACE_TEXT(
"Unable to add topic 0x%x id %C to Topic Description\n"),
307 std::string(converter).c_str()));
317 ACE_TEXT(
"Unable to add topic 0x%x id %C to Topic Description\n"),
319 std::string(converter).c_str()));
332 DCPS_IR_Topic_Description_Set::iterator which
337 topic = which->second->get_first_topic();
343 ACE_TEXT(
"(%P|%t) DCPS_IR_Domain::find_topic: ")
344 ACE_TEXT(
"located topic %C in domain %d.\n"),
345 std::string(converter).c_str(),
360 IdToTopicMap::const_iterator location = this->
idToTopicMap_.find(
id);
366 return location->second.get();
387 ACE_TEXT(
"(%P|%t) ERROR: Topic Description %C %C ")
388 ACE_TEXT(
"was not correctly removed from Domain %d"),
402 ACE_TEXT(
"(%P|%t) ERROR: Domain %d Topic %C ")
403 ACE_TEXT(
"was not correctly removed from Participant %C"),
405 std::string(topic_converter).c_str(),
406 std::string(part_converter).c_str()));
420 const char* dataTypeName,
423 DCPS_IR_Topic_Description_Set::iterator which
427 if (0 ==
ACE_OS::strcmp(dataTypeName, which->second->get_dataTypeName())) {
430 ACE_TEXT(
"(%P|%t) DCPS_IR_Domain::find_topic_description: ")
431 ACE_TEXT(
"located topic description %C/%C in domain %d.\n"),
437 desc = which->second.get();
443 ACE_TEXT(
"(%P|%t) NOTICE: DCPS_IR_Domain::find_topic_description: ")
444 ACE_TEXT(
"searching for topic description %C/%C, ")
445 ACE_TEXT(
"located topic description %C/%C instead in domain %d.\n"),
448 which->second->get_name(),
449 which->second->get_dataTypeName(),
463 #if defined (DDS_HAS_MINIMUM_BIT) 476 ACE_TEXT(
"(%P|%t) DCPS_IR_Domain::init_built_in_topics() ")
477 ACE_TEXT(
" Initializing Built In Topics for domain %d\n"),
495 ACE_TEXT(
"Nil DomainParticipant in ")
496 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n")),
503 if (0 != transportResult) {
504 return transportResult;
509 if (0 != topicsResult) {
515 if (0 != datawritersResult) {
516 return datawritersResult;
528 #endif // !defined (DDS_HAS_MINIMUM_BIT) 530 #if defined (DDS_HAS_MINIMUM_BIT) 540 ACE_TEXT(
"(%P|%t) DCPS_IR_Domain::reassociate_built_in_topic_pubs() ")
541 ACE_TEXT(
" Re-associating Built In Topics for domain %d\n"),
545 DCPS_IR_Participant_Map::iterator participantIter =
participants_.begin();
547 while (participantIter != end
548 && !participantIter->second->isBitPublisher() ) {
552 if (participantIter != end) {
553 for (DCPS_IR_Topic_Map::const_iterator topicIter
554 = participantIter->second->topics().begin();
555 topicIter != participantIter->second->topics().end();
557 topicIter->second->reassociate_all_publications();
563 #endif // !defined (DDS_HAS_MINIMUM_BIT) 567 #if !defined (DDS_HAS_MINIMUM_BIT) 574 DDS::ParticipantBuiltinTopicDataTypeSupport_var
575 participantTypeSupport(
new DDS::ParticipantBuiltinTopicDataTypeSupportImpl());
581 ACE_TEXT(
"(%P|%t) ERROR: Failed to register the ParticipantBuiltinTopicDataTypeSupport.")));
589 DDS::TopicListener::_nil(),
596 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n"),
602 DDS::TopicBuiltinTopicDataTypeSupport_var
603 topicTypeSupport(
new DDS::TopicBuiltinTopicDataTypeSupportImpl());
609 ACE_TEXT(
"(%P|%t) ERROR: Failed to register the TopicBuiltinTopicDataTypeSupport.")));
617 DDS::TopicListener::_nil(),
624 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n"),
630 DDS::SubscriptionBuiltinTopicDataTypeSupport_var
631 subscriptionTypeSupport(
new DDS::SubscriptionBuiltinTopicDataTypeSupportImpl());
637 ACE_TEXT(
"(%P|%t) ERROR: Failed to register the SubscriptionBuiltinTopicDataTypeSupport.")));
645 DDS::TopicListener::_nil(),
652 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n"),
658 DDS::PublicationBuiltinTopicDataTypeSupport_var
659 publicationTypeSupport(
new DDS::PublicationBuiltinTopicDataTypeSupportImpl());
665 ACE_TEXT(
"(%P|%t) ERROR: Failed to register the PublicationBuiltinTopicDataTypeSupport.")));
673 DDS::TopicListener::_nil(),
680 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n"),
687 "ERROR: Exception caught in DCPS_IR_Domain::init_built_in_topics_topics:");
696 #endif // !defined (DDS_HAS_MINIMUM_BIT) 699 #if defined (DDS_HAS_MINIMUM_BIT) 709 DDS::DataWriter_var datawriter;
712 bitPublisher_->get_default_datawriter_qos(participantWriterQos);
724 participantWriterQos,
725 DDS::DataWriterListener::_nil(),
729 DDS::ParticipantBuiltinTopicDataDataWriter::_narrow(datawriter.in());
734 ACE_TEXT(
"Nil DomainParticipant DataWriter from ")
735 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n")),
747 DDS::DataWriterListener::_nil(),
751 DDS::TopicBuiltinTopicDataDataWriter::_narrow(datawriter.in());
756 ACE_TEXT(
"Nil Topic DataWriter from ")
757 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n")),
765 DDS::DataWriterListener::_nil(),
769 DDS::SubscriptionBuiltinTopicDataDataWriter::_narrow(
775 ACE_TEXT(
"Nil Subscription DataWriter from ")
776 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n")),
784 DDS::DataWriterListener::_nil(),
788 DDS::PublicationBuiltinTopicDataDataWriter::_narrow(datawriter.in());
793 ACE_TEXT(
"Nil Publication DataWriter from ")
794 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n")),
800 "ERROR: Exception caught in DCPS_IR_Domain::init_built_in_topics_datawriters:");
805 #endif // defined (DDS_HAS_MINIMUM_BIT) 809 #if !defined (DDS_HAS_MINIMUM_BIT) 812 std::string config_name =
814 + std::string(
"InfoRepoBITTransportConfig");
821 DDS::PublisherListener::_nil(),
828 ACE_TEXT(
"DCPS_IR_Domain::init_built_in_topics.\n")),
846 "ERROR: Exception caught in DCPS_IR_Domain::init_built_in_topics_transport:");
852 ACE_UNUSED_ARG (persistent);
854 #endif // !defined (DDS_HAS_MINIMUM_BIT) 859 #ifndef DDS_HAS_MINIMUM_BIT 866 if (entities_error) {
868 "failed to delete entities: %C\n",
887 "failed to delete participant: %C\n",
914 ACE_TEXT(
"(%P|%t) DCPS_IR_Domain::add_topic_description: ")
915 ACE_TEXT(
"added Topic Description 0x%x in domain %d.\n"),
924 ACE_TEXT(
"(%P|%t) NOTICE: DCPS_IR_Domain::add_topic_description: ")
925 ACE_TEXT(
"attempt to add existing Topic Description 0x%x to domain %d.\n"),
932 ACE_TEXT(
"(%P|%t) NOTICE: DCPS_IR_Domain::add_topic_description: ")
933 ACE_TEXT(
"attempt to add incompatible Topic Description 0x%x to domain %d.\n"),
940 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::add_topic_description: ")
941 ACE_TEXT(
"unknown error adding Topic Description 0x%x to domain %d.\n"),
958 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::remove_topic_description: ")
959 ACE_TEXT(
"unable to remove Topic Description 0x%x from domain %d.\n"),
983 if (part_of_cleanup) {
987 "(%P|%t) DCPS_IR_Domain::remove_dead_participants: " 988 "Removing dead participant 0x%x id %C\n",
990 LogGuid(dead->get_id()).c_str()));
993 "(%P|%t) WARNING: DCPS_IR_Domain::remove_dead_participants: " 994 "Removing dead participant 0x%x id %C\n",
996 LogGuid(dead->get_id()).c_str()));
1000 dead->set_alive(
false);
1025 #if !defined (DDS_HAS_MINIMUM_BIT) 1033 data.user_data = participantQos->
user_data;
1041 "(%P|%t) DCPS_IR_Domain::publish_participant_bit: %C, handle %d.\n",
1049 "(%P|%t) ERROR: Exception caught in DCPS_IR_Domain::publish_participant_bit:");
1054 ACE_UNUSED_ARG(participant);
1055 #endif // !defined (DDS_HAS_MINIMUM_BIT) 1060 #if !defined (DDS_HAS_MINIMUM_BIT) 1075 data.type_name = type;
1078 data.deadline = topicQos->
deadline;
1083 data.lifespan = topicQos->
lifespan;
1085 data.history = topicQos->
history;
1097 "(%P|%t) DCPS_IR_Domain::publish_topic_bit: %C, handle %d.\n",
1105 "(%P|%t) ERROR: Exception caught in DCPS_IR_Domain::publish_topic_bit:");
1114 ACE_UNUSED_ARG(topic);
1115 #endif // !defined (DDS_HAS_MINIMUM_BIT) 1121 #if !defined (DDS_HAS_MINIMUM_BIT) 1140 data.topic_name =
name;
1141 data.type_name = type;
1143 data.deadline = readerQos->
deadline;
1152 data.partition = publisherQos->
partition;
1163 "(%P|%t) DCPS_IR_Domain::publish_subscription_bit: %C, handle %d.\n",
1172 "(%P|%t) ERROR: Exception caught in DCPS_IR_Domain::publish_subscription_bit:");
1181 ACE_UNUSED_ARG(subscription);
1182 #endif // !defined (DDS_HAS_MINIMUM_BIT) 1188 #if !defined (DDS_HAS_MINIMUM_BIT) 1214 data.topic_name = desc->
get_name();
1218 data.deadline = writerQos->
deadline;
1222 data.lifespan = writerQos->
lifespan;
1228 data.partition = publisherQos->
partition;
1239 "(%P|%t) DCPS_IR_Domain::publish_publication_bit: %C, handle %d.\n",
1246 "(%P|%t) DCPS_IR_Domain::publish_publication_bit: write() status of %d\n",
1252 "(%P|%t) ERROR: Exception caught in DCPS_IR_Domain::publish_publication_bit:");
1261 ACE_UNUSED_ARG(publication);
1262 #endif // !defined (DDS_HAS_MINIMUM_BIT) 1268 #if !defined (DDS_HAS_MINIMUM_BIT) 1283 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::dispose_participant_bit ")
1284 ACE_TEXT(
"Unable to get_key_value for participant %C handle %d.\n"),
1285 std::string(converter).c_str(),
1296 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::dispose_participant_bit ")
1297 ACE_TEXT(
"Unable to dispose for participant %C handle %d.\n"),
1298 std::string(converter).c_str(),
1304 "ERROR: Exception caught in DCPS_IR_Domain::dispose_participant_bit:");
1310 ACE_UNUSED_ARG(participant);
1311 #endif // !defined (DDS_HAS_MINIMUM_BIT) 1316 #if !defined (DDS_HAS_MINIMUM_BIT) 1330 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::dispose_topic_bit ")
1331 ACE_TEXT(
"Unable to get_key_value for topic ptr 0x%x handle %d. ")
1344 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::dispose_topic_bit ")
1345 ACE_TEXT(
"Unable to dispose for topic ptr 0x%x handle %d. ")
1354 "(%P|%t) ERROR: Exception caught in DCPS_IR_Domain::dispose_topic_bit:");
1360 ACE_UNUSED_ARG(topic);
1361 #endif // !defined (DDS_HAS_MINIMUM_BIT) 1366 #if !defined (DDS_HAS_MINIMUM_BIT) 1369 if (!subscription->
is_bit()) {
1380 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::dispose_subscription_bit ")
1381 ACE_TEXT(
"Unable to get_key_value for subscription ptr 0x%x handle %d. ")
1394 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::dispose_subscription_bit ")
1395 ACE_TEXT(
"Unable to dispose for subscription ptr 0x%x handle %d. ")
1404 "(%P|%t) ERROR: Exception caught in DCPS_IR_Domain::dispose_subscription_bit:");
1410 ACE_UNUSED_ARG(subscription);
1411 #endif // !defined (DDS_HAS_MINIMUM_BIT) 1416 #if !defined (DDS_HAS_MINIMUM_BIT) 1419 if (!publication->
is_bit()) {
1429 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::dispose_publication_bit ")
1430 ACE_TEXT(
"Unable to get_key_value for publication ptr 0x%x handle %d. ")
1443 ACE_TEXT(
"(%P|%t) ERROR: DCPS_IR_Domain::dispose_publication_bit ")
1444 ACE_TEXT(
"Unable to dispose for publication ptr 0x%x handle %d. ")
1453 "(%P|%t) ERROR: Exception caught in DCPS_IR_Domain::dispose_publication_bit:");
1459 ACE_UNUSED_ARG(publication);
1460 #endif // !defined (DDS_HAS_MINIMUM_BIT) 1465 IdToTopicMap::iterator map_entry = this->
idToTopicMap_.find(topicId);
1473 #if !defined (OPENDDS_INFOREPO_REDUCED_FOOTPRINT) 1474 for (
int i=0; i < depth; i++)
1476 std::string indent = str + prefix;
1477 std::ostringstream os;
1478 os <<
"DCPS_IR_Domain[" <<
id_ <<
"]";
1484 str += indent +
"Participants:\n";
1485 for (DCPS_IR_Participant_Map::const_iterator pm =
participants_.begin();
1489 str += pm->second->dump_to_string(prefix, depth+1);
1492 str += indent +
"Dead Participants:\n";
1498 str += indent + std::string(sub_converter);
1502 str += indent +
"Topic Descriptions:\n";
1507 str += tdi->second->dump_to_string(prefix, depth+1);
1509 #endif // !defined (OPENDDS_INFOREPO_REDUCED_FOOTPRINT) const char *const BUILT_IN_SUBSCRIPTION_TOPIC_TYPE
DCPS_IR_Topic * get_topic()
UserDataQosPolicy user_data
PartitionQosPolicy partition
#define PARTICIPANT_QOS_DEFAULT
DDS::DomainParticipant_var bitParticipant_
OpenDDS::DCPS::GUID_t get_participant_id()
int find_topic_description(const char *name, const char *dataTypeName, DCPS_IR_Topic_Description *&desc)
void set_bit_status(CORBA::Boolean isBIT)
DDS::InstanceHandle_t get_handle()
int remove_topic_description(DCPS_IR_Topic_Description *desc)
Returns 0 if successful.
boolean autodispose_unregistered_instances
OpenDDS::DCPS::GUID_t get_next_participant_id()
Next Entity Id value in sequence.
LatencyBudgetQosPolicy latency_budget
ReliabilityQosPolicy reliability
GroupDataQosPolicy group_data
LifespanQosPolicy lifespan
DDS::Publisher_var bitPublisher_
OwnershipQosPolicy ownership
OpenDDS::DCPS::GUID_t get_id()
DurabilityQosPolicy durability
Conversion processing and value testing utilities for DCPS Information Repository identifiers...
void remove_dead_participants(bool part_of_cleanup=false)
Remove any participants currently marked as dead.
const GUID_t GUID_UNKNOWN
Nil value for GUID.
OpenDDS::DCPS::GUID_t get_id() const
TimeBasedFilterQosPolicy time_based_filter
TransportPriorityQosPolicy transport_priority
const DDS::DomainParticipantQos * get_qos()
CORBA::ULong get_number_topics() const
Returns the number of topics.
DDS::Topic_var bitSubscriptionTopic_
void last_participant_key(long key)
Ensure no conflicts with sequence values from persistent storage.
int add_topic(DCPS_IR_Topic *topic)
OwnershipQosPolicy ownership
const char * c_str() const
OpenDDS::DCPS::AtomicBool useBIT_
indicates if the BuiltIn Topics are enabled
void set_bit_status(CORBA::Boolean isBIT)
DDS::SubscriptionBuiltinTopicDataDataWriter_var bitSubscriptionDataWriter_
LivelinessQosPolicy liveliness
DCPS_IR_Topic_Description * get_topic_description()
DeadlineQosPolicy deadline
DestinationOrderQosPolicy destination_order
DDS::Topic_var bitParticipantTopic_
OpenDDS::DCPS::GUID_t get_next_topic_id(bool builtin)
int remove_participant(const OpenDDS::DCPS::GUID_t &particpantId, CORBA::Boolean notify_lost)
DCPS_IR_Participant_Set deadParticipants_
bool topicIsBIT(const char *name, const char *type)
T::rv_reference move(T &p)
const char * get_name() const
int init_built_in_topics(bool federated, bool persistent)
ResourceLimitsQosPolicy resource_limits
void publish_subscription_bit(DCPS_IR_Subscription *subscription)
Publish Subscription in the Subscription Built-In Topic.
DCPS_IR_Topic_Description_Set topicDescriptions_
all the topics
DCPS_IR_Domain(DDS::DomainId_t id, OpenDDS::DCPS::RepoIdGenerator &generator)
void bind_config(const OPENDDS_STRING &name, DDS::Entity_ptr entity)
const DDS::StatusMask DEFAULT_STATUS_MASK
DDS::TopicBuiltinTopicDataDataWriter_var bitTopicDataWriter_
DCPS_IR_Participant * participant(const OpenDDS::DCPS::GUID_t &id) const
Find the participant with the id.
DDS::InstanceHandle_t get_handle()
DDS::TopicQos * get_topic_qos()
LatencyBudgetQosPolicy latency_budget
DestinationOrderQosPolicy destination_order
const char *const BUILT_IN_PUBLICATION_TOPIC
OpenDDS::DCPS::TopicStatus remove_topic(DCPS_IR_Participant *part, DCPS_IR_Topic *&topic)
OpenDDS::DCPS::TransportConfig_rch transportConfig_
const char * get_dataTypeName() const
DurabilityServiceQosPolicy durability_service
DCPS_IR_Participant_Map participants_
all the participants
DOMAINID_TYPE_NATIVE DomainId_t
DDS::InstanceHandle_t get_handle()
int init_built_in_topics_datawriters(bool federated)
PresentationQosPolicy presentation
DDS::Topic_var bitTopicTopic_
Duration_t lease_duration
void set_handle(DDS::InstanceHandle_t handle)
DurabilityQosPolicyKind kind
int reassociate_built_in_topic_pubs()
DurabilityQosPolicy durability
OwnershipStrengthQosPolicy ownership_strength
DCPS_IR_Topic_Description * get_topic_description()
DDS::DomainParticipantFactory_var bitParticipantFactory_
DestinationOrderQosPolicy destination_order
TransportConfig_rch get_config(const OPENDDS_STRING &name) const
#define TheTransientKludge
void publish_topic_bit(DCPS_IR_Topic *topic)
Publish Topic in the Topic Built-In Topic.
int remove_topic(DCPS_IR_Topic *topic)
Representative of a Topic.
DurabilityQosPolicy durability
int init_built_in_topics_transport(bool persistent)
OpenDDS::DCPS::TopicStatus force_add_topic(const OpenDDS::DCPS::GUID_t &topicId, const char *topicName, const char *dataTypeName, const DDS::TopicQos &qos, DCPS_IR_Participant *participantPtr)
Representative of the Domain Participant.
Create RepoId values for use within DDS.
int add_participant(DCPS_IR_Participant_rch participant)
DDS::InstanceHandle_t get_handle()
int add_topic_description(OpenDDS::DCPS::unique_ptr< DCPS_IR_Topic_Description > desc)
void set_handle(DDS::InstanceHandle_t handle)
#define PUBLISHER_QOS_DEFAULT
int cleanup_built_in_topics()
Cleans up the Built-In Topic structures.
TopicDataQosPolicy topic_data
const char *const BUILT_IN_PARTICIPANT_TOPIC
DeadlineQosPolicy deadline
void set_handle(DDS::InstanceHandle_t handle)
ReliabilityQosPolicy reliability
int init_built_in_topics_topics()
DDS::PublisherQos * get_publisher_qos()
int remove_topic_reference(OpenDDS::DCPS::GUID_t topicId, DCPS_IR_Topic *&topic)
OpenDDS::DCPS::GUID_t get_id()
int strcmp(const char *s, const char *t)
void set_handle(DDS::InstanceHandle_t handle)
GUID_t next(bool builtin=false)
Obtain the next GUID_t value.
HANDLE_TYPE_NATIVE InstanceHandle_t
const char *const BUILT_IN_PARTICIPANT_TOPIC_TYPE
OpenDDS::DCPS::RepoIdGenerator & participantIdGenerator_
void add_dead_participant(DCPS_IR_Participant_rch participant)
void remove_topic_id_mapping(const OpenDDS::DCPS::GUID_t &topicId)
OwnershipQosPolicy ownership
const char *const BUILT_IN_SUBSCRIPTION_TOPIC
void dispose_participant_bit(DCPS_IR_Participant *participant)
Dispose Participant in the Participant Built-In Topic.
void publish_participant_bit(DCPS_IR_Participant *participant)
Publish Participant in the Participant Built-In Topic.
void publish_publication_bit(DCPS_IR_Publication *publication)
Publish Publication in the Publication Built-In Topic.
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
const DCPS_IR_Participant_Map & participants() const
Expose a readable reference to the participant map.
ReliabilityQosPolicy reliability
OpenDDS::DCPS::GUID_t get_id()
OpenDDS::DCPS::GUID_t get_participant_id()
void set_bit_status(CORBA::Boolean isBIT)
const char *const BUILT_IN_TOPIC_TOPIC
const DDS::SubscriberQos * get_subscriber_qos()
DDS::Topic_var bitPublicationTopic_
const char * retcode_to_string(DDS::ReturnCode_t value)
DCPS_IR_Participant_rch participant_rch(const OpenDDS::DCPS::GUID_t &id) const
OpenDDS::DCPS::TopicStatus find_topic(const char *topicName, DCPS_IR_Topic *&topic)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
LifespanQosPolicy lifespan
std::string dump_to_string(const std::string &prefix, int depth) const
static const char DEFAULT_INST_PREFIX[]
static TransportRegistry * instance()
Return a singleton instance of this class.
WriterDataLifecycleQosPolicy writer_data_lifecycle
DCPS_IR_Topic_Description * get_topic_description()
Representative of a Subscription.
void dispose_subscription_bit(DCPS_IR_Subscription *subscription)
Dispose Subscription in the Subscription Built-In Topic.
const ReturnCode_t RETCODE_OK
int add_topic_reference(DCPS_IR_Topic *topic)
DCPS_IR_Topic * get_topic()
#define ACE_ERROR_RETURN(X, Y)
LivelinessQosPolicy liveliness
#define TheParticipantFactory
UserDataQosPolicy user_data
UserDataQosPolicy user_data
void dispose_topic_bit(DCPS_IR_Topic *topic)
Dispose Topic in the Topic Built-In Topic.
DeadlineQosPolicy deadline
OpenDDS_Dcps_Export GUID_t bit_key_to_guid(const DDS::BuiltinTopicKey_t &key)
DDS::ParticipantBuiltinTopicDataDataWriter_var bitParticipantDataWriter_
GroupDataQosPolicy group_data
#define TheServiceParticipant
void dispose_publication_bit(DCPS_IR_Publication *publication)
Dispose Publication in the Publication Built-In Topic.
OpenDDS_Dcps_Export DDS::BuiltinTopicKey_t guid_to_bit_key(const GUID_t &guid)
PartitionQosPolicy partition
void _tao_print_exception(const char *info, FILE *f=stdout) const
PresentationQosPolicy presentation
Representative of a Topic Description.
IdToTopicMap idToTopicMap_
Actual mapping of Id values to Topic object references.
std::map< OpenDDS::DCPS::GUID_t, DCPS_IR_Participant_rch, OpenDDS::DCPS::GUID_tKeyLessThan > DCPS_IR_Participant_Map
Representative of a Publication.
OpenDDS::DCPS::TopicStatus add_topic_i(OpenDDS::DCPS::GUID_t &topicId, const char *topicName, const char *dataTypeName, const DDS::TopicQos &qos, DCPS_IR_Participant *participantPtr, bool isBIT)
LivelinessQosPolicy liveliness
DDS::PublicationBuiltinTopicDataDataWriter_var bitPublicationDataWriter_
DDS::DataWriterQos * get_datawriter_qos()
const char *const BUILT_IN_TOPIC_TOPIC_TYPE
const char *const BUILT_IN_PUBLICATION_TOPIC_TYPE
OpenDDS::DCPS::RcHandle< DCPS_IR_Participant > DCPS_IR_Participant_rch
void release(bool removing)
DurabilityServiceQosPolicy durability_service
LatencyBudgetQosPolicy latency_budget
OpenDDS::DCPS::TopicStatus add_topic(OpenDDS::DCPS::GUID_t_out topicId, const char *topicName, const char *dataTypeName, const DDS::TopicQos &qos, DCPS_IR_Participant *participantPtr)
DDS::DomainParticipantListener_var bitParticipantListener_
const DDS::DataReaderQos * get_datareader_qos()