All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
JobHistory.h
Go to the documentation of this file.
1 // $Id: JobHistory.h,v 1.1 2006/11/09 10:24:05 mato Exp $
2 
3 #ifndef GAUDIKERNEL_JOBHISTORY_H
4 #define GAUDIKERNEL_JOBHISTORY_H
5 
8 
9 #include <string>
10 #include <vector>
11 #include <utility>
12 #include <iosfwd>
13 #include <ctime>
14 
23 class Property;
24 
25 class GAUDI_API JobHistory: public HistoryObj, virtual public IVersHistoryObj {
26 
27 public:
28 
29  typedef std::vector< std::pair<std::string,const Property*> > PropertyPairList;
30 
31 private: // data
32 
33  std::string m_release_version;
34  std::string m_dir;
35  std::string m_cmtconfig;
36 
37  std::string m_osname;
38  std::string m_hostname;
39  std::string m_os_version;
40  std::string m_machine;
41 
42  std::vector<std::string> m_environ;
43 
46 
47  std::vector<std::string> m_CVSid;
48  time_t m_start_time;
49 
50 public: // functions
51 
52  // Constructor.
53  JobHistory();
54  JobHistory(const std::string& rel, const std::string& os,
55  const std::string& host, const std::string& dir,
56  const std::string& osver, const std::string& mach,
57  const std::string& cmtconfig,
58  const time_t& time);
59 
60  // Destructor.
61  virtual ~JobHistory();
62 
63  // Class IDs
64  virtual const CLID& clID() const { return classID(); }
65  static const CLID& classID();
66 
67  // add a global property
68  void addProperty( const std::string&, const Property* );
69 
70  // Return the job history data.
71  std::string release_version() const { return m_release_version; }
72  std::string os() const { return m_osname; }
73  std::string hostname() const { return m_hostname; }
74  std::string os_version() const { return m_os_version; }
75  std::string machine() const { return m_machine; }
76  std::string dir() const { return m_dir; }
77  std::string cmtconfig() const { return m_cmtconfig; }
78  std::vector<std::string> environment() const { return m_environ; }
79  const PropertyList& properties() const { return m_props; }
80  const PropertyPairList& propertyPairs() const { return m_ppl; }
81  time_t start_time() const { return m_start_time; }
82 
83  void dump(std::ostream &, const bool isXML=false, int indent=0) const;
84 
85  const std::string& name() const { return m_machine; }
86  const std::string& version() const { return m_release_version;}
87  const std::string& type() const { return m_osname; }
88 
89 private:
90 
91 };
92 
93 // Output stream.
94 GAUDI_API std::ostream& operator<<(std::ostream& lhs, const JobHistory& rhs);
95 
96 #endif
std::string os_version() const
Definition: JobHistory.h:74
PropertyPairList m_ppl
Definition: JobHistory.h:45
std::vector< std::string > m_CVSid
Definition: JobHistory.h:47
std::string m_dir
Definition: JobHistory.h:34
std::string os() const
Definition: JobHistory.h:72
std::vector< std::pair< std::string, const Property * > > PropertyPairList
Definition: JobHistory.h:29
const PropertyList & properties() const
Definition: JobHistory.h:79
static const CLID & classID()
Definition: HistoryObj.cpp:62
virtual void dump(std::ostream &, const bool isXML=false, int indent=0) const =0
std::string m_os_version
Definition: JobHistory.h:39
time_t start_time() const
Definition: JobHistory.h:81
std::string m_osname
Definition: JobHistory.h:37
std::vector< Property * > PropertyList
Base class for History Objects.
Definition: HistoryObj.h:24
std::string m_hostname
Definition: JobHistory.h:38
JobHistory class definition.
Definition: JobHistory.h:25
std::vector< std::string > m_environ
Definition: JobHistory.h:42
time_t m_start_time
Definition: JobHistory.h:48
GAUDI_API std::ostream & operator<<(std::ostream &lhs, const JobHistory &rhs)
Definition: JobHistory.cpp:136
std::string release_version() const
Definition: JobHistory.h:71
std::string m_cmtconfig
Definition: JobHistory.h:35
std::string machine() const
Definition: JobHistory.h:75
std::vector< std::string > environment() const
Definition: JobHistory.h:78
std::string m_machine
Definition: JobHistory.h:40
std::string cmtconfig() const
Definition: JobHistory.h:77
const std::string & version() const
Definition: JobHistory.h:86
unsigned int CLID
Class ID definition.
Definition: ClassID.h:9
const std::string & type() const
Definition: JobHistory.h:87
const PropertyPairList & propertyPairs() const
Definition: JobHistory.h:80
std::string m_release_version
Definition: JobHistory.h:33
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:43
const std::string & name() const
Definition: JobHistory.h:85
PropertyList m_props
Definition: JobHistory.h:44
Interface for Versioned History Objects.
std::string dir() const
Definition: JobHistory.h:76
#define GAUDI_API
Definition: Kernel.h:108
std::string hostname() const
Definition: JobHistory.h:73
virtual const CLID & clID() const
Retrieve reference to class definition structure.
Definition: JobHistory.h:64