00001
00002
00003 #ifndef GAUDIKERNEL_JOBHISTORY_H
00004 #define GAUDIKERNEL_JOBHISTORY_H
00005
00006 #include "GaudiKernel/HistoryObj.h"
00007
00008 #include <string>
00009 #include <vector>
00010 #include <utility>
00011 #include <iosfwd>
00012 #include <ctime>
00013
00022 class Property;
00023
00024 class JobHistory: public HistoryObj {
00025
00026 public:
00027
00028 typedef std::vector< std::pair<std::string,const Property*> > PropertyList;
00029
00030 private:
00031
00032 std::string m_release_version;
00033 std::string m_dir;
00034 std::string m_cmtconfig;
00035
00036 std::string m_osname;
00037 std::string m_hostname;
00038 std::string m_os_version;
00039 std::string m_machine;
00040
00041 std::vector<std::string> m_environ;
00042
00043 PropertyList m_props;
00044
00045 std::vector<std::string> m_CVSid;
00046 time_t m_start_time;
00047
00048 public:
00049
00050
00051 JobHistory();
00052 JobHistory(const std::string& rel, const std::string& os,
00053 const std::string& host, const std::string& dir,
00054 const std::string& osver, const std::string& mach,
00055 const std::string& cmtconfig,
00056 const time_t& time);
00057
00058
00059 ~JobHistory();
00060
00061
00062 virtual const CLID& clID() const { return classID(); }
00063 static const CLID& classID();
00064
00065
00066 void addProperty( const std::string&, const Property* );
00067
00068
00069 std::string release_version() const { return m_release_version; }
00070 std::string os() const { return m_osname; }
00071 std::string hostname() const { return m_hostname; }
00072 std::string os_version() const { return m_os_version; }
00073 std::string machine() const { return m_machine; }
00074 std::string dir() const { return m_dir; }
00075 std::string cmtconfig() const { return m_cmtconfig; }
00076 std::vector<std::string> environment() const { return m_environ; }
00077 const PropertyList& properties() const { return m_props; }
00078 time_t start_time() const { return m_start_time; }
00079
00080 private:
00081
00082 };
00083
00084
00085 std::ostream& operator<<(std::ostream& lhs, const JobHistory& rhs);
00086
00087 #endif