| 188 | } |
| 189 | |
| 190 | int DCPS_IR_Topic::remove_subscription_reference(DCPS_IR_Subscription* subscription) |
| 191 | { |
| 192 | int status = subscriptionRefs_.remove(subscription); |
| 193 | |
| 194 | if (0 == status) { |
| 195 | if (OpenDDS::DCPS::DCPS_debug_level > 0) { |
| 196 | OpenDDS::DCPS::RepoIdConverter topic_converter(id_); |
| 197 | OpenDDS::DCPS::RepoIdConverter sub_converter(subscription->get_id()); |
| 198 | ACE_DEBUG((LM_DEBUG, |
| 199 | ACE_TEXT("(%P|%t) DCPS_IR_Topic::remove_subscription_reference: ") |
| 200 | ACE_TEXT("topic %C removed subscription %C.\n"), |
| 201 | std::string(topic_converter).c_str(), |
| 202 | std::string(sub_converter).c_str())); |
| 203 | } |
| 204 | |
| 205 | this->description_->remove_subscription_reference(subscription); |
| 206 | |
| 207 | } else { |
| 208 | OpenDDS::DCPS::RepoIdConverter topic_converter(id_); |
| 209 | OpenDDS::DCPS::RepoIdConverter sub_converter(subscription->get_id()); |
| 210 | ACE_ERROR((LM_ERROR, |
| 211 | ACE_TEXT("(%P|%t) ERROR: DCPS_IR_Topic::remove_subscription_reference: ") |
| 212 | ACE_TEXT("topic %C failed to remove subscription %C.\n"), |
| 213 | std::string(topic_converter).c_str(), |
| 214 | std::string(sub_converter).c_str())); |
| 215 | } // if (0 == status) |
| 216 | |
| 217 | return status; |
| 218 | } |
| 219 | |
| 220 | OpenDDS::DCPS::GUID_t DCPS_IR_Topic::get_id() const |
| 221 | { |
no test coverage detected