#include <DataReaderRemoteImpl.h>
Collaboration diagram for OpenDDS::DCPS::DataReaderRemoteImpl:
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 | |
DataReaderCallbacks * | parent_ |
ACE_Thread_Mutex | mutex_ |
Definition at line 33 of file DataReaderRemoteImpl.h.
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] |
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 }
ACE_Thread_Mutex OpenDDS::DCPS::DataReaderRemoteImpl::mutex_ [private] |
Definition at line 56 of file DataReaderRemoteImpl.h.
Definition at line 55 of file DataReaderRemoteImpl.h.
Referenced by add_association(), association_complete(), detach_parent(), remove_associations(), and update_incompatible_qos().