| 2351 | } |
| 2352 | |
| 2353 | void |
| 2354 | DataReaderImpl::notify_subscription_lost(const DDS::InstanceHandleSeq& handles) |
| 2355 | { |
| 2356 | DBG_ENTRY_LVL("DataReaderImpl","notify_subscription_lost",6); |
| 2357 | |
| 2358 | if (!this->is_bit_) { |
| 2359 | // Narrow to DDS::DCPS::DataReaderListener. If a DDS::DataReaderListener |
| 2360 | // is given to this DataReader then narrow() fails. |
| 2361 | DataReaderListener_var the_listener = get_ext_listener(); |
| 2362 | |
| 2363 | if (!CORBA::is_nil(the_listener.in())) { |
| 2364 | SubscriptionLostStatus status; |
| 2365 | |
| 2366 | CORBA::ULong len = handles.length(); |
| 2367 | status.publication_handles.length(len); |
| 2368 | |
| 2369 | for (CORBA::ULong i = 0; i < len; ++ i) { |
| 2370 | status.publication_handles[i] = handles[i]; |
| 2371 | } |
| 2372 | |
| 2373 | the_listener->on_subscription_lost(this, status); |
| 2374 | } |
| 2375 | } |
| 2376 | } |
| 2377 | |
| 2378 | void |
| 2379 | DataReaderImpl::notify_subscription_lost(const WriterIdSeq& pubids) |
no test coverage detected