Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef BYTES_SENT_MONITOR_H
00014 #define BYTES_SENT_MONITOR_H
00015
00016 #include "ace/pre.h"
00017
00018 #include "ace/Monitor_Base.h"
00019
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 #pragma once
00022 #endif
00023
00024 #if defined (ACE_HAS_MONITOR_FRAMEWORK) && (ACE_HAS_MONITOR_FRAMEWORK == 1)
00025
00026 #if defined (ACE_HAS_PDH_H) && !defined (ACE_LACKS_PDH_H)
00027 #include "ace/Monitor_Control/Windows_Multi_Instance_Monitor.h"
00028 #elif defined (linux) || defined (AIX)
00029 #include "ace/Monitor_Control/Linux_Network_Interface_Monitor.h"
00030 #elif defined (ACE_HAS_KSTAT)
00031 #include "ace/Monitor_Control/Solaris_Network_Interface_Monitor.h"
00032 #elif defined (__FreeBSD__) || defined (__Lynx__)
00033 #include "ace/Monitor_Control/FreeBSD_Network_Interface_Monitor.h"
00034 #elif defined (__NetBSD__) || defined (__OpenBSD__)
00035 #include "ace/Monitor_Control/BSD_Network_Interface_Monitor.h"
00036 #else
00037 #include "ace/Monitor_Control/Null_Network_Interface_Monitor.h"
00038 #endif
00039
00040 #include "ace/Monitor_Control/Monitor_Control_export.h"
00041
00042 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00043
00044 namespace ACE
00045 {
00046 namespace Monitor_Control
00047 {
00048
00049
00050
00051
00052
00053 class MONITOR_CONTROL_Export Bytes_Sent_Monitor
00054 : public Monitor_Base
00055 #if defined (ACE_HAS_WIN32_PDH)
00056 , public Windows_Multi_Instance_Monitor
00057 #elif defined (linux) || defined (AIX)
00058 , public Linux_Network_Interface_Monitor
00059 #elif defined (ACE_HAS_KSTAT)
00060 , public Solaris_Network_Interface_Monitor
00061 #elif defined (__NetBSD__) || defined (__OpenBSD__)
00062 , public BSD_Network_Interface_Monitor
00063 #elif defined (__FreeBSD__) || defined (__Lynx__)
00064 , public FreeBSD_Network_Interface_Monitor
00065 #else
00066 , public Null_Network_Interface_Monitor
00067 #endif
00068 {
00069 public:
00070 Bytes_Sent_Monitor (const char* name);
00071
00072
00073 virtual void update (void);
00074
00075
00076 static const char* default_name (void);
00077
00078 private:
00079
00080 virtual void clear_i (void);
00081
00082 private:
00083 static const char* default_name_;
00084 };
00085 }
00086 }
00087
00088 ACE_END_VERSIONED_NAMESPACE_DECL
00089
00090 #endif
00091
00092 #include "ace/post.h"
00093
00094 #endif // BYTESSENTMONITOR_H