The Gaudi Framework  v33r0 (d5ea422b)
JobHistory.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 
12 #ifndef GAUDIKERNEL_JOBHISTORY_H
13 #define GAUDIKERNEL_JOBHISTORY_H
14 
15 #include "GaudiKernel/HistoryObj.h"
18 
19 #include <ctime>
20 #include <iosfwd>
21 #include <string>
22 #include <utility>
23 #include <vector>
24 
32 class GAUDI_API JobHistory : public HistoryObj, virtual public IVersHistoryObj {
33 
34 public:
36 
37 private: // data
41 
46 
48 
51 
53  time_t m_start_time;
54 
55 public: // functions
56  // Constructor.
57  JobHistory();
58  JobHistory( const std::string& rel, const std::string& os, const std::string& host, const std::string& dir,
59  const std::string& osver, const std::string& mach, const std::string& cmtconfig, const time_t& time );
60 
61  // Destructor.
62  virtual ~JobHistory();
63 
64  // Class IDs
65  const CLID& clID() const override { return classID(); }
66  static const CLID& classID();
67 
68  // add a global property
69  void addProperty( const std::string&, const Gaudi::Details::PropertyBase* );
70 
71  // Return the job history data.
72  std::string release_version() const { return m_release_version; }
73  std::string os() const { return m_osname; }
74  std::string hostname() const { return m_hostname; }
75  std::string os_version() const { return m_os_version; }
76  std::string machine() const { return m_machine; }
77  std::string dir() const { return m_dir; }
78  std::string cmtconfig() const { return m_cmtconfig; }
79  std::vector<std::string> environment() const { return m_environ; }
80  const PropertyList& properties() const override { return m_props; }
81  const PropertyPairList& propertyPairs() const { return m_ppl; }
82  time_t start_time() const { return m_start_time; }
83 
84  void dump( std::ostream&, const bool isXML = false, int indent = 0 ) const override;
85 
86  const std::string& name() const override { return m_machine; }
87  const std::string& version() const override { return m_release_version; }
88  const std::string& type() const override { return m_osname; }
89 
90 private:
91 };
92 
93 // Output stream.
95 
96 #endif
PropertyPairList m_ppl
Definition: JobHistory.h:50
std::vector< std::string > m_CVSid
Definition: JobHistory.h:52
std::string m_dir
Definition: JobHistory.h:39
const PropertyList & properties() const override
Definition: JobHistory.h:80
static const CLID & classID()
Definition: HistoryObj.cpp:65
virtual void dump(std::ostream &, const bool isXML=false, int indent=0) const =0
std::string m_os_version
Definition: JobHistory.h:44
std::string os() const
Definition: JobHistory.h:73
std::string machine() const
Definition: JobHistory.h:76
std::string m_osname
Definition: JobHistory.h:42
std::string dir() const
Definition: JobHistory.h:77
Base class for History Objects.
Definition: HistoryObj.h:31
std::string m_hostname
Definition: JobHistory.h:43
const CLID & clID() const override
Retrieve reference to class definition structure.
Definition: JobHistory.h:65
std::vector< std::pair< std::string, const Gaudi::Details::PropertyBase * > > PropertyPairList
Definition: JobHistory.h:35
std::vector< std::string > environment() const
Definition: JobHistory.h:79
JobHistory class definition.
Definition: JobHistory.h:32
time_t start_time() const
Definition: JobHistory.h:82
STL class.
std::vector< std::string > m_environ
Definition: JobHistory.h:47
time_t m_start_time
Definition: JobHistory.h:53
std::string hostname() const
Definition: JobHistory.h:74
GAUDI_API std::ostream & operator<<(std::ostream &lhs, const JobHistory &rhs)
Definition: JobHistory.cpp:128
std::string cmtconfig() const
Definition: JobHistory.h:78
std::string m_cmtconfig
Definition: JobHistory.h:40
std::string m_machine
Definition: JobHistory.h:45
std::string os_version() const
Definition: JobHistory.h:75
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Definition: Property.h:42
const std::string & version() const override
Definition: JobHistory.h:87
unsigned int CLID
Class ID definition.
Definition: ClassID.h:18
std::string m_release_version
Definition: JobHistory.h:38
STL class.
const PropertyPairList & propertyPairs() const
Definition: JobHistory.h:81
const std::string & type() const override
Definition: JobHistory.h:88
PropertyList m_props
Definition: JobHistory.h:49
Interface for Versioned History Objects.
const std::string & name() const override
Definition: JobHistory.h:86
std::string release_version() const
Definition: JobHistory.h:72
#define GAUDI_API
Definition: Kernel.h:81
STL class.