OpenDDS  Snapshot(2023/04/28-20:55)
Public Member Functions | Private Member Functions | Private Attributes | List of all members
OpenDDS::DCPS::DataReaderImpl::OnDataAvailable Class Reference

#include <DataReaderImpl.h>

Inheritance diagram for OpenDDS::DCPS::DataReaderImpl::OnDataAvailable:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::DataReaderImpl::OnDataAvailable:
Collaboration graph
[legend]

Public Member Functions

 OnDataAvailable (DDS::DataReaderListener_var listener, WeakRcHandle< DataReaderImpl > data_reader, bool call, bool set_reader_status, bool set_subscriber_status)
 
- Public Member Functions inherited from OpenDDS::DCPS::Job
virtual ~Job ()
 
- Public Member Functions inherited from OpenDDS::DCPS::RcObject
virtual ~RcObject ()
 
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
long ref_count () const
 
WeakObject_get_weak_object () const
 

Private Member Functions

virtual void execute ()
 

Private Attributes

DDS::DataReaderListener_var listener_
 
WeakRcHandle< DataReaderImpldata_reader_
 
const bool call_
 
const bool set_reader_status_
 
const bool set_subscriber_status_
 

Additional Inherited Members

- Protected Member Functions inherited from OpenDDS::DCPS::RcObject
 RcObject ()
 

Detailed Description

Definition at line 1078 of file DataReaderImpl.h.

Constructor & Destructor Documentation

◆ OnDataAvailable()

OpenDDS::DCPS::DataReaderImpl::OnDataAvailable::OnDataAvailable ( DDS::DataReaderListener_var  listener,
WeakRcHandle< DataReaderImpl data_reader,
bool  call,
bool  set_reader_status,
bool  set_subscriber_status 
)
inline

Definition at line 1080 of file DataReaderImpl.h.

1085  : listener_(listener)
1086  , data_reader_(data_reader)
1087  , call_(call)
1088  , set_reader_status_(set_reader_status)
1089  , set_subscriber_status_(set_subscriber_status)
1090  {}
WeakRcHandle< DataReaderImpl > data_reader_

Member Function Documentation

◆ execute()

void OpenDDS::DCPS::DataReaderImpl::OnDataAvailable::execute ( void  )
privatevirtual

Implements OpenDDS::DCPS::Job.

Definition at line 3513 of file DataReaderImpl.cpp.

References DDS::DATA_AVAILABLE_STATUS, DDS::DATA_ON_READERS_STATUS, and OpenDDS::DCPS::RcHandle< T >::in().

3514 {
3515  RcHandle<DataReaderImpl> data_reader = data_reader_.lock();
3516 
3517  if (data_reader && set_reader_status_) {
3518  data_reader->set_status_changed_flag(::DDS::DATA_AVAILABLE_STATUS, false);
3519  }
3520 
3521  if (data_reader && set_subscriber_status_) {
3522  RcHandle<SubscriberImpl> subscriber = data_reader->get_subscriber_servant();
3523  if (subscriber) {
3524  subscriber->set_status_changed_flag(::DDS::DATA_ON_READERS_STATUS, false);
3525  }
3526  }
3527 
3528  if (call_ && data_reader) {
3529  listener_->on_data_available(data_reader.in());
3530  }
3531 }
const StatusKind DATA_ON_READERS_STATUS
const StatusKind DATA_AVAILABLE_STATUS
WeakRcHandle< DataReaderImpl > data_reader_
RcHandle< T > lock() const
Definition: RcObject.h:188

Member Data Documentation

◆ call_

const bool OpenDDS::DCPS::DataReaderImpl::OnDataAvailable::call_
private

Definition at line 1097 of file DataReaderImpl.h.

◆ data_reader_

WeakRcHandle<DataReaderImpl> OpenDDS::DCPS::DataReaderImpl::OnDataAvailable::data_reader_
private

Definition at line 1096 of file DataReaderImpl.h.

◆ listener_

DDS::DataReaderListener_var OpenDDS::DCPS::DataReaderImpl::OnDataAvailable::listener_
private

Definition at line 1095 of file DataReaderImpl.h.

◆ set_reader_status_

const bool OpenDDS::DCPS::DataReaderImpl::OnDataAvailable::set_reader_status_
private

Definition at line 1098 of file DataReaderImpl.h.

◆ set_subscriber_status_

const bool OpenDDS::DCPS::DataReaderImpl::OnDataAvailable::set_subscriber_status_
private

Definition at line 1099 of file DataReaderImpl.h.


The documentation for this class was generated from the following files: