Implements the OpenDDS::DCPS::DataWriterRemote interface. More...
#include <DataWriterRemoteImpl.h>
Public Member Functions | |
DataWriterRemoteImpl (DataWriterCallbacks &parent) | |
virtual | ~DataWriterRemoteImpl () |
virtual void | add_association (const RepoId &yourId, const ReaderAssociation &readers, bool active) |
virtual void | association_complete (const RepoId &remote_id) |
virtual void | remove_associations (const ReaderIdSeq &readers, CORBA::Boolean callback) |
virtual void | update_incompatible_qos (const IncompatibleQosStatus &status) |
virtual void | update_subscription_params (const RepoId &readerId, const DDS::StringSeq &exprParams) |
void | detach_parent () |
Private Attributes | |
WeakRcHandle< DataWriterCallbacks > | parent_ |
Implements the OpenDDS::DCPS::DataWriterRemote interface.
Definition at line 31 of file DataWriterRemoteImpl.h.
OpenDDS::DCPS::DataWriterRemoteImpl::DataWriterRemoteImpl | ( | DataWriterCallbacks & | parent | ) | [explicit] |
Definition at line 17 of file DataWriterRemoteImpl.cpp.
00018 : parent_(parent) 00019 { 00020 }
OpenDDS::DCPS::DataWriterRemoteImpl::~DataWriterRemoteImpl | ( | ) | [virtual] |
Definition at line 24 of file DataWriterRemoteImpl.cpp.
void OpenDDS::DCPS::DataWriterRemoteImpl::add_association | ( | const RepoId & | yourId, | |
const ReaderAssociation & | readers, | |||
bool | active | |||
) | [virtual] |
Definition at line 34 of file DataWriterRemoteImpl.cpp.
References ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, OpenDDS::DCPS::RcHandle< T >::in(), LM_DEBUG, OpenDDS::DCPS::WeakRcHandle< T >::lock(), parent_, and OpenDDS::DCPS::ReaderAssociation::readerId.
00037 { 00038 if (DCPS_debug_level) { 00039 GuidConverter writer_converter(yourId); 00040 GuidConverter reader_converter(reader.readerId); 00041 ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%P|%t) DataWriterRemoteImpl::add_association - ") 00042 ACE_TEXT("local %C remote %C\n"), 00043 std::string(writer_converter).c_str(), 00044 std::string(reader_converter).c_str())); 00045 } 00046 00047 // the local copy of parent_ is necessary to prevent race condition 00048 RcHandle<DataWriterCallbacks> parent = parent_.lock(); 00049 if (parent.in()) { 00050 parent->add_association(yourId, reader, active); 00051 } 00052 }
void OpenDDS::DCPS::DataWriterRemoteImpl::association_complete | ( | const RepoId & | remote_id | ) | [virtual] |
Definition at line 55 of file DataWriterRemoteImpl.cpp.
References OpenDDS::DCPS::RcHandle< T >::in(), OpenDDS::DCPS::WeakRcHandle< T >::lock(), and parent_.
00056 { 00057 // the local copy of parent_ is necessary to prevent race condition 00058 RcHandle<DataWriterCallbacks> parent = parent_.lock(); 00059 if (parent.in()) { 00060 parent->association_complete(remote_id); 00061 } 00062 }
void OpenDDS::DCPS::DataWriterRemoteImpl::detach_parent | ( | ) |
Definition at line 29 of file DataWriterRemoteImpl.cpp.
Referenced by OpenDDS::DCPS::InfoRepoDiscovery::removeDataWriterRemote().
void OpenDDS::DCPS::DataWriterRemoteImpl::remove_associations | ( | const ReaderIdSeq & | readers, | |
CORBA::Boolean | callback | |||
) | [virtual] |
Definition at line 65 of file DataWriterRemoteImpl.cpp.
References OpenDDS::DCPS::RcHandle< T >::in(), OpenDDS::DCPS::WeakRcHandle< T >::lock(), and parent_.
00067 { 00068 // the local copy of parent_ is necessary to prevent race condition 00069 RcHandle<DataWriterCallbacks> parent = parent_.lock(); 00070 if (parent.in()) { 00071 parent->remove_associations(readers, notify_lost); 00072 } 00073 }
void OpenDDS::DCPS::DataWriterRemoteImpl::update_incompatible_qos | ( | const IncompatibleQosStatus & | status | ) | [virtual] |
Definition at line 76 of file DataWriterRemoteImpl.cpp.
References OpenDDS::DCPS::RcHandle< T >::in(), OpenDDS::DCPS::WeakRcHandle< T >::lock(), and parent_.
00078 { 00079 // the local copy of parent_ is necessary to prevent race condition 00080 RcHandle<DataWriterCallbacks> parent = parent_.lock(); 00081 if (parent.in()) { 00082 parent->update_incompatible_qos(status); 00083 } 00084 }
void OpenDDS::DCPS::DataWriterRemoteImpl::update_subscription_params | ( | const RepoId & | readerId, | |
const DDS::StringSeq & | exprParams | |||
) | [virtual] |
Definition at line 87 of file DataWriterRemoteImpl.cpp.
References OpenDDS::DCPS::RcHandle< T >::in(), OpenDDS::DCPS::WeakRcHandle< T >::lock(), and parent_.
00089 { 00090 // the local copy of parent_ is necessary to prevent race condition 00091 RcHandle<DataWriterCallbacks> parent = parent_.lock(); 00092 if (parent.in()) { 00093 parent->update_subscription_params(readerId, params); 00094 } 00095 }
Definition at line 55 of file DataWriterRemoteImpl.h.
Referenced by add_association(), association_complete(), remove_associations(), update_incompatible_qos(), and update_subscription_params().