00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #ifndef OPENDDS_DCPS_SPMONITOR_IMPL_H 00009 #define OPENDDS_DCPS_SPMONITOR_IMPL_H 00010 00011 #include "monitor_export.h" 00012 #include "dds/DCPS/MonitorFactory.h" 00013 #include "monitorTypeSupportImpl.h" 00014 00015 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00016 #pragma once 00017 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00018 00019 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00020 00021 namespace OpenDDS { 00022 namespace DCPS { 00023 00024 class MonitorFactoryImpl; 00025 00026 class SPMonitorImpl : public Monitor { 00027 public: 00028 SPMonitorImpl(MonitorFactoryImpl* monitor_factory, 00029 Service_Participant* sp); 00030 virtual ~SPMonitorImpl(); 00031 virtual void report(); 00032 00033 private: 00034 MonitorFactoryImpl* monitor_factory_; 00035 OpenDDS::DCPS::ServiceParticipantReportDataWriter_var sp_writer_; 00036 std::string hostname_; 00037 pid_t pid_; 00038 }; 00039 00040 00041 } // namespace DCPS 00042 } // namespace OpenDDS 00043 00044 OPENDDS_END_VERSIONED_NAMESPACE_DECL 00045 00046 #endif /* OPENDDS_DCPS_SPMONITOR_IMPL_H */