OpenDDS  Snapshot(2023/04/07-19:43)
Public Member Functions | Private Attributes | List of all members
OpenDDS::DCPS::DPMonitorImpl Class Reference

#include <DPMonitorImpl.h>

Inheritance diagram for OpenDDS::DCPS::DPMonitorImpl:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::DPMonitorImpl:
Collaboration graph
[legend]

Public Member Functions

 DPMonitorImpl (DomainParticipantImpl *dp, OpenDDS::DCPS::DomainParticipantReportDataWriter_ptr dp_writer)
 
virtual ~DPMonitorImpl ()
 
virtual void report ()
 
- Public Member Functions inherited from OpenDDS::DCPS::Monitor
 Monitor ()
 
virtual ~Monitor ()
 

Private Attributes

DomainParticipantImpldp_
 
OpenDDS::DCPS::DomainParticipantReportDataWriter_var dp_writer_
 
std::string hostname_
 
pid_t pid_
 

Detailed Description

Definition at line 24 of file DPMonitorImpl.h.

Constructor & Destructor Documentation

◆ DPMonitorImpl()

OpenDDS::DCPS::DPMonitorImpl::DPMonitorImpl ( DomainParticipantImpl dp,
OpenDDS::DCPS::DomainParticipantReportDataWriter_ptr  dp_writer 
)

Definition at line 19 of file DPMonitorImpl.cpp.

References _duplicate(), ACE_OS::getpid(), ACE_OS::hostname(), hostname_, and pid_.

21  : dp_(dp)
22  , dp_writer_(DomainParticipantReportDataWriter::_duplicate(dp_writer))
23 {
24  char host[256];
25  ACE_OS::hostname(host, 256);
26  hostname_ = host;
27  pid_ = ACE_OS::getpid();
28 }
DomainParticipantImpl * dp_
Definition: DPMonitorImpl.h:32
int hostname(char name[], size_t maxnamelen)
OpenDDS::DCPS::DomainParticipantReportDataWriter_var dp_writer_
Definition: DPMonitorImpl.h:33
pid_t getpid(void)

◆ ~DPMonitorImpl()

OpenDDS::DCPS::DPMonitorImpl::~DPMonitorImpl ( )
virtual

Definition at line 30 of file DPMonitorImpl.cpp.

31 {
32 }

Member Function Documentation

◆ report()

void OpenDDS::DCPS::DPMonitorImpl::report ( )
virtual

Implements OpenDDS::DCPS::Monitor.

Definition at line 35 of file DPMonitorImpl.cpp.

References OpenDDS::DCPS::DomainParticipantReport::domain_id, dp_, OpenDDS::DCPS::DomainParticipantReport::dp_id, dp_writer_, OpenDDS::DCPS::DomainParticipantImpl::get_domain_id(), OpenDDS::DCPS::DomainParticipantImpl::get_id(), OpenDDS::DCPS::DomainParticipantImpl::get_topic_ids(), DDS::HANDLE_NIL, OpenDDS::DCPS::DomainParticipantReport::host, hostname_, CORBA::is_nil(), OPENDDS_END_VERSIONED_NAMESPACE_DECL, OpenDDS::DCPS::DomainParticipantReport::pid, pid_, and OpenDDS::DCPS::DomainParticipantReport::topics.

35  {
36  if (!CORBA::is_nil(dp_writer_.in())) {
37  DomainParticipantReport report;
38  report.host = hostname_.c_str();
39  report.pid = pid_;
40  report.dp_id = dp_->get_id();
41  report.domain_id = dp_->get_domain_id();
42  DomainParticipantImpl::TopicIdVec topics;
43  dp_->get_topic_ids(topics);
44  CORBA::ULong length = 0;
45  report.topics.length(static_cast<CORBA::ULong>(topics.size()));
46  for (DomainParticipantImpl::TopicIdVec::iterator iter = topics.begin();
47  iter != topics.end();
48  ++iter) {
49  report.topics[length++] = *iter;
50  }
51  dp_writer_->write(report, DDS::HANDLE_NIL);
52  }
53 }
DomainParticipantImpl * dp_
Definition: DPMonitorImpl.h:32
const InstanceHandle_t HANDLE_NIL
ACE_CDR::ULong ULong
OpenDDS::DCPS::DomainParticipantReportDataWriter_var dp_writer_
Definition: DPMonitorImpl.h:33
Boolean is_nil(T x)

Member Data Documentation

◆ dp_

DomainParticipantImpl* OpenDDS::DCPS::DPMonitorImpl::dp_
private

Definition at line 32 of file DPMonitorImpl.h.

Referenced by report().

◆ dp_writer_

OpenDDS::DCPS::DomainParticipantReportDataWriter_var OpenDDS::DCPS::DPMonitorImpl::dp_writer_
private

Definition at line 33 of file DPMonitorImpl.h.

Referenced by report().

◆ hostname_

std::string OpenDDS::DCPS::DPMonitorImpl::hostname_
private

Definition at line 34 of file DPMonitorImpl.h.

Referenced by DPMonitorImpl(), and report().

◆ pid_

pid_t OpenDDS::DCPS::DPMonitorImpl::pid_
private

Definition at line 35 of file DPMonitorImpl.h.

Referenced by DPMonitorImpl(), and report().


The documentation for this class was generated from the following files: