Commits

bi...@4525493e-7705-40b1-a816-d608a930855b  committed 4f4a6e0

added IPerfMonTupleSvc interface

  • Participants
  • Parent commits 6ce9f07

Comments (0)

Files changed (6)

+2007-04-06  Sebastien Binet  <binet@lblbox>
+
+	* tagging PerfMonKernel-00-00-02
+	* added IPerfMonTupleSvc interface
+
 2007-04-04  Sebastien Binet  <binet@lblbox>
 
 	* tagging PerfMonKernel-00-00-01

File PerfMonKernel/IPerfMonCpuSvc.h

 #include "GaudiKernel/IService.h"
 
 // Forward declaration
+namespace PerfMon { class CpuHdr;  }
 namespace PerfMon { class CpuData; }
 
 class IPerfMonCpuSvc : virtual public IService
   /////////////////////////////////////////////////////////////////// 
 
   /// fill the @c PerfMon::CpuData object with interesting informations
-  virtual void monitor( PerfMon::CpuData& cpu ) = 0;
+  virtual void monitor( const PerfMon::CpuHdr&  hdr,
+			      PerfMon::CpuData& cpu ) = 0;
 
   /////////////////////////////////////////////////////////////////// 
   // Protected methods: 

File PerfMonKernel/IPerfMonIoSvc.h

 #include "GaudiKernel/IService.h"
 
 // Forward declaration
+namespace PerfMon { class IoHdr;  }
 namespace PerfMon { class IoData; }
 
 class IPerfMonIoSvc : virtual public IService
   /////////////////////////////////////////////////////////////////// 
 
   /// fill the @c PerfMon::IoData object with interesting informations
-  virtual void monitor( PerfMon::IoData& io ) = 0;
+  virtual void monitor( const PerfMon::IoHdr&  hdr,
+			      PerfMon::IoData& io ) = 0;
 
   /////////////////////////////////////////////////////////////////// 
   // Protected methods: 

File PerfMonKernel/IPerfMonMemSvc.h

 #include "GaudiKernel/IService.h"
 
 // Forward declaration
+namespace PerfMon { class MemHdr;  }
 namespace PerfMon { class MemData; }
 
 class IPerfMonMemSvc : virtual public IService
   /////////////////////////////////////////////////////////////////// 
 
   /// fill the @c PerfMon::MemData object with interesting informations
-  virtual void monitor( PerfMon::MemData& mem ) = 0;
+  virtual void monitor( const PerfMon::MemHdr&  hdr,
+			      PerfMon::MemData& mem ) = 0;
 
   /////////////////////////////////////////////////////////////////// 
   // Protected methods: 

File PerfMonKernel/IPerfMonTupleSvc.h

+///////////////////////// -*- C++ -*- /////////////////////////////
+// IPerfMonTupleSvc.h 
+// Header file for class IPerfMonTupleSvc
+// Author: S.Binet<binet@cern.ch>
+/////////////////////////////////////////////////////////////////// 
+#ifndef PERFMONKERNEL_IPERFMONTUPLESVC_H 
+#define PERFMONKERNEL_IPERFMONTUPLESVC_H 
+
+// STL includes
+
+// FrameWork includes
+#include "GaudiKernel/IService.h"
+
+// Forward declaration
+namespace PerfMon { class Header; }
+namespace PerfMon { class Data; }
+
+class IPerfMonTupleSvc : virtual public IService
+{ 
+
+  /////////////////////////////////////////////////////////////////// 
+  // Public methods: 
+  /////////////////////////////////////////////////////////////////// 
+ public: 
+
+  /** Destructor: 
+   */
+  virtual ~IPerfMonTupleSvc();
+
+  /////////////////////////////////////////////////////////////////// 
+  // Const methods: 
+  ///////////////////////////////////////////////////////////////////
+  static const InterfaceID& interfaceID();
+
+  /////////////////////////////////////////////////////////////////// 
+  // Non-const methods: 
+  /////////////////////////////////////////////////////////////////// 
+
+  /// register the @c PerfMon::Header layout into the tuple back-end storage
+  virtual void book( const PerfMon::Header& o ) = 0;
+
+  /// record the @c PerfMon::Data into the tuple back-end storage
+  virtual void record( const PerfMon::Data& o ) = 0;
+
+  /////////////////////////////////////////////////////////////////// 
+  // Protected methods: 
+  /////////////////////////////////////////////////////////////////// 
+ protected: 
+
+}; 
+
+// I/O operators
+//////////////////////
+
+/////////////////////////////////////////////////////////////////// 
+// Inline methods: 
+/////////////////////////////////////////////////////////////////// 
+inline const InterfaceID& IPerfMonTupleSvc::interfaceID() 
+{ 
+  static const InterfaceID IID_IPerfMonTupleSvc("IPerfMonTupleSvc", 1, 0);
+  return IID_IPerfMonTupleSvc; 
+}
+
+#endif //> PERFMONKERNEL_IPERFMONTUPLESVC_H

File src/IPerfMonTupleSvc.cxx

+///////////////////////// -*- C++ -*- /////////////////////////////
+// IPerfMonTupleSvc.cxx 
+// Implementation file for class IPerfMonTupleSvc
+// Author: S.Binet<binet@cern.ch>
+/////////////////////////////////////////////////////////////////// 
+
+// PerfMonKernel includes
+#include "PerfMonKernel/IPerfMonTupleSvc.h"
+
+/////////////////////////////////////////////////////////////////// 
+// Public methods: 
+/////////////////////////////////////////////////////////////////// 
+
+// Constructors
+////////////////
+
+// Destructor
+///////////////
+IPerfMonTupleSvc::~IPerfMonTupleSvc()
+{}
+
+/////////////////////////////////////////////////////////////////// 
+// Const methods: 
+///////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////// 
+// Non-const methods: 
+/////////////////////////////////////////////////////////////////// 
+
+/////////////////////////////////////////////////////////////////// 
+// Protected methods: 
+/////////////////////////////////////////////////////////////////// 
+
+/////////////////////////////////////////////////////////////////// 
+// Const methods: 
+///////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////// 
+// Non-const methods: 
+///////////////////////////////////////////////////////////////////