00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #include "DRPeriodicMonitorImpl.h" 00009 #include "monitorC.h" 00010 #include "monitorTypeSupportImpl.h" 00011 #include "dds/DCPS/DataReaderImpl.h" 00012 #include <dds/DdsDcpsInfrastructureC.h> 00013 00014 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00015 00016 namespace OpenDDS { 00017 namespace DCPS { 00018 00019 00020 DRPeriodicMonitorImpl::DRPeriodicMonitorImpl(DataReaderImpl* dr, 00021 OpenDDS::DCPS::DataReaderPeriodicReportDataWriter_ptr dr_per_writer) 00022 : dr_(dr), 00023 dr_per_writer_(DataReaderPeriodicReportDataWriter::_duplicate(dr_per_writer)) 00024 { 00025 } 00026 00027 DRPeriodicMonitorImpl::~DRPeriodicMonitorImpl() 00028 { 00029 } 00030 00031 void 00032 DRPeriodicMonitorImpl::report() { 00033 if (!CORBA::is_nil(this->dr_per_writer_.in())) { 00034 DataReaderPeriodicReport report; 00035 report.dr_id = dr_->get_subscription_id(); 00036 //report.associations = dr_-> 00037 this->dr_per_writer_->write(report, DDS::HANDLE_NIL); 00038 } 00039 } 00040 00041 00042 } // namespace DCPS 00043 } // namespace OpenDDS 00044 00045 OPENDDS_END_VERSIONED_NAMESPACE_DECL