| 1256 | } |
| 1257 | |
| 1258 | DDS::ReturnCode_t |
| 1259 | DataWriterImpl::get_matched_subscriptions( |
| 1260 | DDS::InstanceHandleSeq & subscription_handles) |
| 1261 | { |
| 1262 | if (!enabled_) { |
| 1263 | ACE_ERROR_RETURN((LM_ERROR, |
| 1264 | ACE_TEXT("(%P|%t) ERROR: ") |
| 1265 | ACE_TEXT("DataWriterImpl::get_matched_subscriptions: ") |
| 1266 | ACE_TEXT(" Entity is not enabled.\n")), |
| 1267 | DDS::RETCODE_NOT_ENABLED); |
| 1268 | } |
| 1269 | |
| 1270 | ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, |
| 1271 | guard, |
| 1272 | this->lock_, |
| 1273 | DDS::RETCODE_ERROR); |
| 1274 | |
| 1275 | // Copy out the handles for the current set of subscriptions. |
| 1276 | subscription_handles.length( |
| 1277 | static_cast<CORBA::ULong>(this->id_to_handle_map_.size())); |
| 1278 | |
| 1279 | DDS::UInt32 index = 0; |
| 1280 | for (RepoIdToHandleMap::iterator current = this->id_to_handle_map_.begin(); |
| 1281 | current != this->id_to_handle_map_.end(); |
| 1282 | ++current, ++index) { |
| 1283 | subscription_handles[index] = current->second; |
| 1284 | } |
| 1285 | |
| 1286 | return DDS::RETCODE_OK; |
| 1287 | } |
| 1288 | |
| 1289 | #if !defined (DDS_HAS_MINIMUM_BIT) |
| 1290 | DDS::ReturnCode_t |