OpenDDS::DCPS::DataReaderRemoteImpl Class Reference

Implements the OpenDDS::DCPS::ReaderRemote interface that is used to add and remove associations. More...

#include <DataReaderRemoteImpl.h>

Collaboration diagram for OpenDDS::DCPS::DataReaderRemoteImpl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DataReaderRemoteImpl (DataReaderCallbacks *parent)
virtual ~DataReaderRemoteImpl ()
virtual void add_association (const RepoId &yourId, const WriterAssociation &writer, bool active)
virtual void association_complete (const RepoId &remote_id)
virtual void remove_associations (const WriterIdSeq &writers, CORBA::Boolean callback)
virtual void update_incompatible_qos (const IncompatibleQosStatus &status)
void detach_parent ()

Private Attributes

DataReaderCallbacksparent_
ACE_Thread_Mutex mutex_

Detailed Description

Implements the OpenDDS::DCPS::ReaderRemote interface that is used to add and remove associations.

Definition at line 33 of file DataReaderRemoteImpl.h.


Constructor & Destructor Documentation

OpenDDS::DCPS::DataReaderRemoteImpl::DataReaderRemoteImpl ( DataReaderCallbacks parent  )  [explicit]

Definition at line 14 of file DataReaderRemoteImpl.cpp.

00014                                                                       :
00015     parent_(parent)
00016 {
00017 }

OpenDDS::DCPS::DataReaderRemoteImpl::~DataReaderRemoteImpl (  )  [virtual]

Definition at line 21 of file DataReaderRemoteImpl.cpp.

00022 {
00023 }


Member Function Documentation

void OpenDDS::DCPS::DataReaderRemoteImpl::add_association ( const RepoId yourId,
const WriterAssociation writer,
bool  active 
) [virtual]

Definition at line 44 of file DataReaderRemoteImpl.cpp.

References OpenDDS::DCPS::DataReaderCallbacks::add_association(), OpenDDS::DCPS::getDataReader(), and parent_.

00047 {
00048   DataReaderCallbacks* parent = 0;
00049   DDS::DataReader_var drv;
00050   {
00051     ACE_GUARD(ACE_Thread_Mutex, g, this->mutex_);
00052     drv = getDataReader(this->parent_);
00053     parent = this->parent_;
00054   }
00055   if (parent) {
00056     parent->add_association(yourId, writer, active);
00057   }
00058 }

void OpenDDS::DCPS::DataReaderRemoteImpl::association_complete ( const RepoId remote_id  )  [virtual]

Definition at line 61 of file DataReaderRemoteImpl.cpp.

References OpenDDS::DCPS::DataReaderCallbacks::association_complete(), OpenDDS::DCPS::getDataReader(), and parent_.

00062 {
00063   DataReaderCallbacks* parent = 0;
00064   DDS::DataReader_var drv;
00065   {
00066     ACE_GUARD(ACE_Thread_Mutex, g, this->mutex_);
00067     drv = getDataReader(this->parent_);
00068     parent = this->parent_;
00069   }
00070   if (parent) {
00071     parent->association_complete(remote_id);
00072   }
00073 }

void OpenDDS::DCPS::DataReaderRemoteImpl::detach_parent (  ) 

Definition at line 26 of file DataReaderRemoteImpl.cpp.

References parent_.

Referenced by OpenDDS::DCPS::InfoRepoDiscovery::removeDataReaderRemote().

00027 {
00028   ACE_GUARD(ACE_Thread_Mutex, g, this->mutex_);
00029   this->parent_ = 0;
00030 }

void OpenDDS::DCPS::DataReaderRemoteImpl::remove_associations ( const WriterIdSeq writers,
CORBA::Boolean  callback 
) [virtual]

Definition at line 76 of file DataReaderRemoteImpl.cpp.

References OpenDDS::DCPS::getDataReader(), parent_, and OpenDDS::DCPS::DataReaderCallbacks::remove_associations().

00078 {
00079   DataReaderCallbacks* parent = 0;
00080   DDS::DataReader_var drv;
00081   {
00082     ACE_GUARD(ACE_Thread_Mutex, g, this->mutex_);
00083     drv = getDataReader(this->parent_);
00084     parent = this->parent_;
00085   }
00086   if (parent) {
00087     parent->remove_associations(writers, notify_lost);
00088   }
00089 }

void OpenDDS::DCPS::DataReaderRemoteImpl::update_incompatible_qos ( const IncompatibleQosStatus status  )  [virtual]

Definition at line 92 of file DataReaderRemoteImpl.cpp.

References OpenDDS::DCPS::getDataReader(), parent_, and OpenDDS::DCPS::DataReaderCallbacks::update_incompatible_qos().

00094 {
00095   DataReaderCallbacks* parent = 0;
00096   DDS::DataReader_var drv;
00097   {
00098     ACE_GUARD(ACE_Thread_Mutex, g, this->mutex_);
00099     drv = getDataReader(this->parent_);
00100     parent = this->parent_;
00101   }
00102   if (parent) {
00103     parent->update_incompatible_qos(status);
00104   }
00105 }


Member Data Documentation

ACE_Thread_Mutex OpenDDS::DCPS::DataReaderRemoteImpl::mutex_ [private]

Definition at line 56 of file DataReaderRemoteImpl.h.

DataReaderCallbacks* OpenDDS::DCPS::DataReaderRemoteImpl::parent_ [private]

Definition at line 55 of file DataReaderRemoteImpl.h.

Referenced by add_association(), association_complete(), detach_parent(), remove_associations(), and update_incompatible_qos().


The documentation for this class was generated from the following files:
Generated on Fri Feb 12 20:06:18 2016 for OpenDDS by  doxygen 1.4.7