#include <TopicMonitorImpl.h>
Public Member Functions | |
TopicMonitorImpl (TopicImpl *topic, OpenDDS::DCPS::TopicReportDataWriter_ptr topic_writer) | |
virtual | ~TopicMonitorImpl () |
virtual void | report () |
Private Attributes | |
TopicImpl * | topic_ |
OpenDDS::DCPS::TopicReportDataWriter_var | topic_writer_ |
Definition at line 24 of file TopicMonitorImpl.h.
OpenDDS::DCPS::TopicMonitorImpl::TopicMonitorImpl | ( | TopicImpl * | topic, | |
OpenDDS::DCPS::TopicReportDataWriter_ptr | topic_writer | |||
) |
Definition at line 21 of file TopicMonitorImpl.cpp.
References _duplicate().
00023 : topic_(topic), 00024 topic_writer_(TopicReportDataWriter::_duplicate(topic_writer)) 00025 { 00026 }
OpenDDS::DCPS::TopicMonitorImpl::~TopicMonitorImpl | ( | ) | [virtual] |
Definition at line 28 of file TopicMonitorImpl.cpp.
void OpenDDS::DCPS::TopicMonitorImpl::report | ( | void | ) | [virtual] |
Implements OpenDDS::DCPS::Monitor.
Definition at line 33 of file TopicMonitorImpl.cpp.
References ACE_TEXT(), OpenDDS::DCPS::TopicReport::dp_id, OpenDDS::DCPS::TopicImpl::get_id(), OpenDDS::DCPS::DomainParticipantImpl::get_id(), OpenDDS::DCPS::TopicDescriptionImpl::get_name(), OpenDDS::DCPS::TopicDescriptionImpl::get_participant(), OpenDDS::DCPS::TopicDescriptionImpl::get_type_name(), DDS::HANDLE_NIL, CORBA::is_nil(), LM_ERROR, topic_, OpenDDS::DCPS::TopicReport::topic_id, OpenDDS::DCPS::TopicReport::topic_name, topic_writer_, and OpenDDS::DCPS::TopicReport::type_name.
00033 { 00034 if (!CORBA::is_nil(this->topic_writer_.in())) { 00035 TopicReport report; 00036 DDS::DomainParticipant_var dp = this->topic_->get_participant(); 00037 DomainParticipantImpl* dp_impl = 00038 dynamic_cast<DomainParticipantImpl*>(dp.in()); 00039 if (dp_impl) { 00040 report.dp_id = dp_impl->get_id(); 00041 report.topic_id = this->topic_->get_id(); 00042 report.topic_name = this->topic_->get_name(); 00043 report.type_name = this->topic_->get_type_name(); 00044 this->topic_writer_->write(report, DDS::HANDLE_NIL); 00045 } else { 00046 ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) TopicMonitorImpl::report(): ") 00047 ACE_TEXT("failed to obtain DomainParticipantImpl.\n"))); 00048 } 00049 } 00050 }
TopicImpl* OpenDDS::DCPS::TopicMonitorImpl::topic_ [private] |
Definition at line 32 of file TopicMonitorImpl.h.
Referenced by report().
OpenDDS::DCPS::TopicReportDataWriter_var OpenDDS::DCPS::TopicMonitorImpl::topic_writer_ [private] |
Definition at line 33 of file TopicMonitorImpl.h.
Referenced by report().