Representative of a Topic. More...
#include <DCPS_IR_Topic.h>
Representative of a Topic.
Definition at line 43 of file DCPS_IR_Topic.h.
DCPS_IR_Topic h OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL DCPS_IR_Topic::DCPS_IR_Topic | ( | const OpenDDS::DCPS::RepoId & | id, | |
const DDS::TopicQos & | qos, | |||
DCPS_IR_Domain * | domain, | |||
DCPS_IR_Participant * | creator, | |||
DCPS_IR_Topic_Description * | description, | |||
bool | isBIT | |||
) |
Definition at line 25 of file DCPS_IR_Topic.cpp.
00031 : id_(id), 00032 qos_(qos), 00033 domain_(domain), 00034 participant_(creator), 00035 description_(description), 00036 handle_(0), 00037 isBIT_(isBIT), 00038 removed_(false) 00039 { 00040 }
DCPS_IR_Topic::~DCPS_IR_Topic | ( | ) |
Definition at line 42 of file DCPS_IR_Topic.cpp.
int DCPS_IR_Topic::add_publication_reference | ( | DCPS_IR_Publication * | publication, | |
bool | associate = true | |||
) |
Adds the publication to the list of publications Calls the topic description's try associate if successfully added 'associate' switch toggles association attempt. Returns 0 if added, 1 if already exists, -1 other failure
Definition at line 57 of file DCPS_IR_Topic.cpp.
References ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, description_, domain_, DCPS_IR_Publication::get_id(), id_, ACE_Unbounded_Set_Ex< T, C >::insert(), LM_DEBUG, LM_ERROR, LM_WARNING, publicationRefs_, DCPS_IR_Domain::publish_publication_bit(), status, and DCPS_IR_Topic_Description::try_associate_publication().
Referenced by TAO_DDS_DCPSInfo_i::add_publication().
00059 { 00060 int status = publicationRefs_.insert(publication); 00061 00062 switch (status) { 00063 case 0: 00064 00065 // Publish the BIT information 00066 domain_->publish_publication_bit(publication); 00067 00068 if (associate) { 00069 description_->try_associate_publication(publication); 00070 // Do not check incompatible qos here. The check is done 00071 // in the DCPS_IR_Topic_Description::try_associate_publication method 00072 } 00073 00074 if (OpenDDS::DCPS::DCPS_debug_level > 0) { 00075 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00076 OpenDDS::DCPS::RepoIdConverter pub_converter(publication->get_id()); 00077 ACE_DEBUG((LM_DEBUG, 00078 ACE_TEXT("(%P|%t) DCPS_IR_Topic::add_publication_reference: ") 00079 ACE_TEXT("topic %C added publication %C at %x\n"), 00080 std::string(topic_converter).c_str(), 00081 std::string(pub_converter).c_str(), 00082 publication)); 00083 } 00084 00085 break; 00086 00087 case 1: 00088 00089 if (OpenDDS::DCPS::DCPS_debug_level > 0) { 00090 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00091 OpenDDS::DCPS::RepoIdConverter pub_converter(publication->get_id()); 00092 ACE_DEBUG((LM_WARNING, 00093 ACE_TEXT("(%P|%t) WARNING: DCPS_IR_Topic::add_publication_reference: ") 00094 ACE_TEXT("topic %C attempt to re-add publication %C.\n"), 00095 std::string(topic_converter).c_str(), 00096 std::string(pub_converter).c_str())); 00097 } 00098 00099 break; 00100 00101 case -1: { 00102 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00103 OpenDDS::DCPS::RepoIdConverter pub_converter(publication->get_id()); 00104 ACE_ERROR((LM_ERROR, 00105 ACE_TEXT("(%P|%t) ERROR: DCPS_IR_Topic::add_publication_reference: ") 00106 ACE_TEXT("topic %C failed to add publication %C\n"), 00107 std::string(topic_converter).c_str(), 00108 std::string(pub_converter).c_str())); 00109 } 00110 }; 00111 00112 return status; 00113 }
int DCPS_IR_Topic::add_subscription_reference | ( | DCPS_IR_Subscription * | subscription, | |
bool | associate = true | |||
) |
Adds the subscription to the list of subscriptions and let description handle the association. Returns 0 if added, 1 if already exists, -1 other failure
Definition at line 143 of file DCPS_IR_Topic.cpp.
References ACE_TEXT(), DCPS_IR_Topic_Description::add_subscription_reference(), OpenDDS::DCPS::DCPS_debug_level, description_, DCPS_IR_Subscription::get_id(), id_, ACE_Unbounded_Set_Ex< T, C >::insert(), LM_DEBUG, LM_ERROR, status, and subscriptionRefs_.
Referenced by TAO_DDS_DCPSInfo_i::add_subscription().
00145 { 00146 int status = subscriptionRefs_.insert(subscription); 00147 00148 switch (status) { 00149 case 0: 00150 00151 if (OpenDDS::DCPS::DCPS_debug_level > 0) { 00152 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00153 OpenDDS::DCPS::RepoIdConverter sub_converter(subscription->get_id()); 00154 ACE_DEBUG((LM_DEBUG, 00155 ACE_TEXT("(%P|%t) DCPS_IR_Topic::add_subscription_reference: ") 00156 ACE_TEXT("topic %C added subscription %C at %x.\n"), 00157 std::string(topic_converter).c_str(), 00158 std::string(sub_converter).c_str(), 00159 subscription)); 00160 } 00161 00162 status = this->description_->add_subscription_reference(subscription, associate); 00163 break; 00164 00165 case 1: { 00166 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00167 OpenDDS::DCPS::RepoIdConverter sub_converter(subscription->get_id()); 00168 ACE_ERROR((LM_ERROR, 00169 ACE_TEXT("(%P|%t) ERROR: DCPS_IR_Topic::add_subscription_reference: ") 00170 ACE_TEXT("topic %C attempt to re-add subscription %C.\n"), 00171 std::string(topic_converter).c_str(), 00172 std::string(sub_converter).c_str())); 00173 } 00174 break; 00175 00176 case -1: { 00177 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00178 OpenDDS::DCPS::RepoIdConverter sub_converter(subscription->get_id()); 00179 ACE_ERROR((LM_ERROR, 00180 ACE_TEXT("(%P|%t) ERROR: DCPS_IR_Topic::add_subscription_reference: ") 00181 ACE_TEXT("topic %C failed to add subscription %C.\n"), 00182 std::string(topic_converter).c_str(), 00183 std::string(sub_converter).c_str())); 00184 } 00185 }; 00186 00187 return status; 00188 }
std::string DCPS_IR_Topic::dump_to_string | ( | const std::string & | prefix, | |
int | depth | |||
) | const |
Definition at line 375 of file DCPS_IR_Topic.cpp.
References ACE_Unbounded_Set_Ex< T, C >::begin(), ACE_Unbounded_Set_Ex< T, C >::end(), id_, isBIT_, publicationRefs_, str, and subscriptionRefs_.
00376 { 00377 std::string str; 00378 #if !defined (OPENDDS_INFOREPO_REDUCED_FOOTPRINT) 00379 OpenDDS::DCPS::RepoIdConverter local_converter(id_); 00380 00381 for (int i=0; i < depth; i++) 00382 str += prefix; 00383 std::string indent = str + prefix; 00384 str += "DCPS_IR_Topic["; 00385 str += std::string(local_converter); 00386 str += "]"; 00387 if (isBIT_) 00388 str += " (BIT)"; 00389 str += "\n"; 00390 00391 str += indent + "Publications:\n"; 00392 for (DCPS_IR_Publication_Set::const_iterator pub = publicationRefs_.begin(); 00393 pub != publicationRefs_.end(); 00394 pub++) 00395 { 00396 OpenDDS::DCPS::RepoIdConverter pub_converter((*pub)->get_id()); 00397 str += indent + std::string(pub_converter); 00398 str += "\n"; 00399 00400 } 00401 00402 str += indent + "Subscriptions:\n"; 00403 for (DCPS_IR_Subscription_Set::const_iterator sub = subscriptionRefs_.begin(); 00404 sub != subscriptionRefs_.end(); 00405 sub++) 00406 { 00407 OpenDDS::DCPS::RepoIdConverter sub_converter((*sub)->get_id()); 00408 str += indent + std::string(sub_converter); 00409 str += "\n"; 00410 } 00411 #endif // !defined (OPENDDS_INFOREPO_REDUCED_FOOTPRINT) 00412 return str; 00413 }
DDS::InstanceHandle_t DCPS_IR_Topic::get_handle | ( | void | ) |
Definition at line 327 of file DCPS_IR_Topic.cpp.
References handle_.
Referenced by DCPS_IR_Domain::dispose_topic_bit().
00328 { 00329 return handle_; 00330 }
OpenDDS::DCPS::RepoId DCPS_IR_Topic::get_id | ( | void | ) | const |
Definition at line 220 of file DCPS_IR_Topic.cpp.
References id_.
Referenced by DCPS_IR_Topic_Description::add_topic(), DCPS_IR_Participant::add_topic_reference(), TAO_DDS_DCPSInfo_i::find_topic(), DCPS_IR_Domain::find_topic(), DCPS_IR_Topic_Description::get_first_topic(), DCPS_IR_Subscription::get_topic_id(), DCPS_IR_Publication::get_topic_id(), DCPS_IR_Domain::publish_topic_bit(), DCPS_IR_Topic_Description::remove_topic(), and DCPS_IR_Domain::remove_topic().
00221 { 00222 return id_; 00223 }
OpenDDS::DCPS::RepoId DCPS_IR_Topic::get_participant_id | ( | ) | const |
Definition at line 225 of file DCPS_IR_Topic.cpp.
References DCPS_IR_Participant::get_id(), and participant_.
00226 { 00227 return participant_->get_id(); 00228 }
DCPS_IR_Topic_Description * DCPS_IR_Topic::get_topic_description | ( | ) |
Return pointer to the Topic Description Domain retains ownership
Definition at line 322 of file DCPS_IR_Topic.cpp.
References description_.
Referenced by TAO_DDS_DCPSInfo_i::find_topic(), DCPS_IR_Subscription::get_topic_description(), DCPS_IR_Publication::get_topic_description(), DCPS_IR_Domain::publish_topic_bit(), DCPS_IR_Subscription::reevaluate_association(), DCPS_IR_Publication::reevaluate_association(), DCPS_IR_Domain::remove_topic(), DCPS_IR_Subscription::set_qos(), and DCPS_IR_Publication::set_qos().
00323 { 00324 return description_; 00325 }
DDS::TopicQos * DCPS_IR_Topic::get_topic_qos | ( | ) |
Return pointer to the Topic qos Topic retains ownership
Definition at line 230 of file DCPS_IR_Topic.cpp.
References qos_.
Referenced by TAO_DDS_DCPSInfo_i::find_topic(), DCPS_IR_Domain::publish_publication_bit(), DCPS_IR_Domain::publish_subscription_bit(), and DCPS_IR_Domain::publish_topic_bit().
00231 { 00232 return &qos_; 00233 }
CORBA::Boolean DCPS_IR_Topic::is_bit | ( | ) |
Definition at line 337 of file DCPS_IR_Topic.cpp.
References isBIT_.
Referenced by DCPS_IR_Domain::dispose_topic_bit().
00338 { 00339 return isBIT_; 00340 }
void DCPS_IR_Topic::reassociate_all_publications | ( | ) |
Try to associate all the current publications. This is used to reconnect Built in Topics after a persistent restart.
Definition at line 363 of file DCPS_IR_Topic.cpp.
References ACE_Unbounded_Set_Ex< T, C >::begin(), description_, ACE_Unbounded_Set_Ex< T, C >::end(), publicationRefs_, and DCPS_IR_Topic_Description::try_associate_publication().
00364 { 00365 DCPS_IR_Publication_Set::ITERATOR iter = publicationRefs_.begin(); 00366 DCPS_IR_Publication_Set::ITERATOR end = publicationRefs_.end(); 00367 00368 for ( ; iter != end; ++iter) 00369 { 00370 description_->try_associate_publication(*iter); 00371 } 00372 }
void DCPS_IR_Topic::reevaluate_associations | ( | DCPS_IR_Subscription * | subscription | ) |
Called by the DCPS_IR_Topic_Description to re-evaluate the association between the publications of this topic and the provided subscription.
Definition at line 347 of file DCPS_IR_Topic.cpp.
References ACE_Unbounded_Set_Ex< T, C >::begin(), ACE_Unbounded_Set_Ex< T, C >::end(), publicationRefs_, DCPS_IR_Publication::reevaluate_association(), and DCPS_IR_Subscription::reevaluate_association().
Referenced by DCPS_IR_Topic_Description::reevaluate_associations().
00348 { 00349 DCPS_IR_Publication * pub = 0; 00350 DCPS_IR_Publication_Set::ITERATOR iter = publicationRefs_.begin(); 00351 DCPS_IR_Publication_Set::ITERATOR end = publicationRefs_.end(); 00352 00353 while (iter != end) { 00354 pub = *iter; 00355 ++iter; 00356 00357 subscription->reevaluate_association(pub); 00358 pub->reevaluate_association(subscription); 00359 } 00360 }
void DCPS_IR_Topic::release | ( | bool | removing | ) |
Delete the topic object upon last topic associated sub/pub and topic object deletion. It's kind of reference counting. The removing true indicates it's called upon delete_topic, otherwise it's upon remove_publication/remove_subcription.
Definition at line 46 of file DCPS_IR_Topic.cpp.
References domain_, id_, publicationRefs_, DCPS_IR_Domain::remove_topic_id_mapping(), removed_, ACE_Unbounded_Set_Ex< T, C >::size(), and subscriptionRefs_.
Referenced by DCPS_IR_Participant::remove_all_dependents(), DCPS_IR_Participant::remove_publication(), DCPS_IR_Participant::remove_subscription(), and DCPS_IR_Domain::remove_topic().
00047 { 00048 if (removing || this->removed_) { 00049 this->removed_ = true; 00050 00051 if (publicationRefs_.size() == 0 && subscriptionRefs_.size() == 0) { 00052 this->domain_->remove_topic_id_mapping(this->id_); 00053 } 00054 } 00055 }
int DCPS_IR_Topic::remove_publication_reference | ( | DCPS_IR_Publication * | publication | ) |
Removes the publication from the list of publications Returns 0 if successful
Definition at line 115 of file DCPS_IR_Topic.cpp.
References ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, DCPS_IR_Publication::get_id(), id_, LM_DEBUG, LM_ERROR, publicationRefs_, ACE_Unbounded_Set_Ex< T, C >::remove(), and status.
Referenced by DCPS_IR_Participant::remove_all_dependents(), and DCPS_IR_Participant::remove_publication().
00116 { 00117 int status = publicationRefs_.remove(publication); 00118 00119 if (0 == status) { 00120 if (OpenDDS::DCPS::DCPS_debug_level > 0) { 00121 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00122 OpenDDS::DCPS::RepoIdConverter pub_converter(publication->get_id()); 00123 ACE_DEBUG((LM_DEBUG, 00124 ACE_TEXT("(%P|%t) DCPS_IR_Topic::remove_publication_reference: ") 00125 ACE_TEXT("topic %C removed publication %C.\n"), 00126 std::string(topic_converter).c_str(), 00127 std::string(pub_converter).c_str())); 00128 } 00129 00130 } else { 00131 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00132 OpenDDS::DCPS::RepoIdConverter pub_converter(publication->get_id()); 00133 ACE_ERROR((LM_ERROR, 00134 ACE_TEXT("(%P|%t) ERROR: DCPS_IR_Topic::remove_publication_reference: ") 00135 ACE_TEXT("topic %C failed to remove publication %C.\n"), 00136 std::string(topic_converter).c_str(), 00137 std::string(pub_converter).c_str())); 00138 } 00139 00140 return status; 00141 }
int DCPS_IR_Topic::remove_subscription_reference | ( | DCPS_IR_Subscription * | subscription | ) |
Removes the subscription from the list of subscriptions Returns 0 if successful
Definition at line 190 of file DCPS_IR_Topic.cpp.
References ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, description_, DCPS_IR_Subscription::get_id(), id_, LM_DEBUG, LM_ERROR, ACE_Unbounded_Set_Ex< T, C >::remove(), DCPS_IR_Topic_Description::remove_subscription_reference(), status, and subscriptionRefs_.
Referenced by DCPS_IR_Participant::remove_all_dependents(), and DCPS_IR_Participant::remove_subscription().
00191 { 00192 int status = subscriptionRefs_.remove(subscription); 00193 00194 if (0 == status) { 00195 if (OpenDDS::DCPS::DCPS_debug_level > 0) { 00196 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00197 OpenDDS::DCPS::RepoIdConverter sub_converter(subscription->get_id()); 00198 ACE_DEBUG((LM_DEBUG, 00199 ACE_TEXT("(%P|%t) DCPS_IR_Topic::remove_subscription_reference: ") 00200 ACE_TEXT("topic %C removed subscription %C.\n"), 00201 std::string(topic_converter).c_str(), 00202 std::string(sub_converter).c_str())); 00203 } 00204 00205 this->description_->remove_subscription_reference(subscription); 00206 00207 } else { 00208 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00209 OpenDDS::DCPS::RepoIdConverter sub_converter(subscription->get_id()); 00210 ACE_ERROR((LM_ERROR, 00211 ACE_TEXT("(%P|%t) ERROR: DCPS_IR_Topic::remove_subscription_reference: ") 00212 ACE_TEXT("topic %C failed to remove subscription %C.\n"), 00213 std::string(topic_converter).c_str(), 00214 std::string(sub_converter).c_str())); 00215 } // if (0 == status) 00216 00217 return status; 00218 }
void DCPS_IR_Topic::set_bit_status | ( | CORBA::Boolean | isBIT | ) |
Definition at line 342 of file DCPS_IR_Topic.cpp.
References isBIT_.
Referenced by DCPS_IR_Participant::add_topic_reference(), and DCPS_IR_Domain::publish_topic_bit().
00343 { 00344 isBIT_ = isBIT; 00345 }
void DCPS_IR_Topic::set_handle | ( | DDS::InstanceHandle_t | handle | ) |
Definition at line 332 of file DCPS_IR_Topic.cpp.
References handle_.
Referenced by DCPS_IR_Domain::publish_topic_bit().
00333 { 00334 handle_ = handle; 00335 }
bool DCPS_IR_Topic::set_topic_qos | ( | const DDS::TopicQos & | qos | ) |
Reset topic qos and also propagate the qos change to related BITs that has the qos copy. Return false if the provided QoS makes the DataWriter and DataReader QoS incompatible. Currently supported changeable QoS in TopicQos do not affect.
Definition at line 235 of file DCPS_IR_Topic.cpp.
References ACE_Unbounded_Set_Ex< T, C >::begin(), domain_, ACE_Unbounded_Set_Ex< T, C >::end(), publicationRefs_, DCPS_IR_Domain::publish_publication_bit(), DCPS_IR_Domain::publish_subscription_bit(), DCPS_IR_Domain::publish_topic_bit(), qos_, subscriptionRefs_, and DDS::TopicQos::topic_data.
Referenced by TAO_DDS_DCPSInfo_i::update_topic_qos().
00236 { 00237 // Do not need re-evaluate compatibility and associations when 00238 // TopicQos changes since only datareader and datawriter QoS 00239 // are evaludated during normal associations establishment. 00240 using OpenDDS::DCPS::operator==; 00241 bool pub_to_rd_wr = !(qos.topic_data == qos_.topic_data); 00242 00243 qos_ = qos; 00244 domain_->publish_topic_bit(this); 00245 00246 if (!pub_to_rd_wr) 00247 return true; 00248 00249 // The only changeable TopicQos used by DataWriter and DataReader 00250 // is topic_data so we need publish it to DW/DR BIT to make they 00251 // are consistent. 00252 00253 // Update qos in datawriter BIT for associated datawriters. 00254 00255 { 00256 DCPS_IR_Publication_Set::ITERATOR iter = publicationRefs_.begin(); 00257 DCPS_IR_Publication_Set::ITERATOR end = publicationRefs_.end(); 00258 00259 while (iter != end) { 00260 domain_->publish_publication_bit(*iter); 00261 ++iter; 00262 } 00263 } 00264 00265 // Update qos in datareader BIT for associated datareader. 00266 00267 { 00268 DCPS_IR_Subscription_Set::ITERATOR iter = subscriptionRefs_.begin(); 00269 DCPS_IR_Subscription_Set::ITERATOR end = subscriptionRefs_.end(); 00270 00271 while (iter != end) { 00272 domain_->publish_subscription_bit(*iter); 00273 ++iter; 00274 } 00275 } 00276 00277 return true; 00278 }
void DCPS_IR_Topic::try_associate | ( | DCPS_IR_Subscription * | subscription | ) |
Called by the DCPS_IR_Topic_Description Find any compatible publications and associate them using the DCPS_IR_Topic_Description's associate method. This method does not check the subscription's incompatible qos status.
Definition at line 280 of file DCPS_IR_Topic.cpp.
References ACE_TEXT(), ACE_Unbounded_Set_Ex< T, C >::begin(), OpenDDS::DCPS::IncompatibleQosStatus::count_since_last_send, OpenDDS::DCPS::DCPS_debug_level, description_, ACE_Unbounded_Set_Ex< T, C >::end(), DCPS_IR_Subscription::get_id(), DCPS_IR_Publication::get_incompatibleQosStatus(), DCPS_IR_Subscription::get_participant_id(), DCPS_IR_Subscription::get_topic_id(), id_, DCPS_IR_Participant::is_participant_ignored(), DCPS_IR_Participant::is_subscription_ignored(), DCPS_IR_Participant::is_topic_ignored(), LM_DEBUG, participant_, publicationRefs_, DCPS_IR_Topic_Description::try_associate(), and DCPS_IR_Publication::update_incompatible_qos().
Referenced by DCPS_IR_Topic_Description::try_associate_subscription().
00281 { 00282 // check if we should ignore this subscription 00283 if (participant_->is_subscription_ignored(subscription->get_id()) || 00284 participant_->is_participant_ignored(subscription->get_participant_id()) || 00285 participant_->is_topic_ignored(subscription->get_topic_id())) { 00286 if (OpenDDS::DCPS::DCPS_debug_level > 0) { 00287 OpenDDS::DCPS::RepoIdConverter topic_converter(id_); 00288 OpenDDS::DCPS::RepoIdConverter sub_converter(subscription->get_id()); 00289 ACE_DEBUG((LM_DEBUG, 00290 ACE_TEXT("(%P|%t) DCPS_IR_Topic::try_associate: ") 00291 ACE_TEXT("topic %C ignoring subscription %C.\n"), 00292 std::string(topic_converter).c_str(), 00293 std::string(sub_converter).c_str())); 00294 } 00295 00296 } else { 00297 // check all publications for compatibility 00298 DCPS_IR_Publication* pub = 0; 00299 OpenDDS::DCPS::IncompatibleQosStatus* qosStatus = 0; 00300 00301 DCPS_IR_Publication_Set::ITERATOR iter = publicationRefs_.begin(); 00302 DCPS_IR_Publication_Set::ITERATOR end = publicationRefs_.end(); 00303 00304 while (iter != end) { 00305 pub = *iter; 00306 ++iter; 00307 description_->try_associate(pub, subscription); 00308 // Check the publications QOS status 00309 qosStatus = pub->get_incompatibleQosStatus(); 00310 00311 if (0 < qosStatus->count_since_last_send) { 00312 pub->update_incompatible_qos(); 00313 } 00314 } /* while (iter != end) */ 00315 00316 // The subscription QOS is not checked because 00317 // we don't know if the subscription is finished cycling 00318 // through topics. 00319 } 00320 }
Definition at line 131 of file DCPS_IR_Topic.h.
Referenced by add_publication_reference(), add_subscription_reference(), get_topic_description(), reassociate_all_publications(), remove_subscription_reference(), and try_associate().
DCPS_IR_Domain* DCPS_IR_Topic::domain_ [private] |
Definition at line 129 of file DCPS_IR_Topic.h.
Referenced by add_publication_reference(), release(), and set_topic_qos().
DDS::InstanceHandle_t DCPS_IR_Topic::handle_ [private] |
Definition at line 132 of file DCPS_IR_Topic.h.
Referenced by get_handle(), and set_handle().
OpenDDS::DCPS::RepoId DCPS_IR_Topic::id_ [private] |
Definition at line 127 of file DCPS_IR_Topic.h.
Referenced by add_publication_reference(), add_subscription_reference(), dump_to_string(), get_id(), release(), remove_publication_reference(), remove_subscription_reference(), and try_associate().
CORBA::Boolean DCPS_IR_Topic::isBIT_ [private] |
Definition at line 133 of file DCPS_IR_Topic.h.
Referenced by dump_to_string(), is_bit(), and set_bit_status().
DCPS_IR_Participant* DCPS_IR_Topic::participant_ [private] |
Definition at line 130 of file DCPS_IR_Topic.h.
Referenced by get_participant_id(), and try_associate().
Definition at line 135 of file DCPS_IR_Topic.h.
Referenced by add_publication_reference(), dump_to_string(), reassociate_all_publications(), reevaluate_associations(), release(), remove_publication_reference(), set_topic_qos(), and try_associate().
DDS::TopicQos DCPS_IR_Topic::qos_ [private] |
Definition at line 128 of file DCPS_IR_Topic.h.
Referenced by get_topic_qos(), and set_topic_qos().
bool DCPS_IR_Topic::removed_ [private] |
True means release() is called upon delete_topic, but topic object is not deleted because there are still pub/sub associated.
Definition at line 142 of file DCPS_IR_Topic.h.
Referenced by release().
Keep track the subscriptions of this topic so the TopicQos change can be published for those subscriptions.
Definition at line 138 of file DCPS_IR_Topic.h.
Referenced by add_subscription_reference(), dump_to_string(), release(), remove_subscription_reference(), and set_topic_qos().