File indexing completed on 2025-02-21 10:00:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef GAUDIKERNEL_SERVICEHISTORY_H
0012 #define GAUDIKERNEL_SERVICEHISTORY_H
0013
0014 #include "GaudiKernel/HistoryObj.h"
0015 #include "GaudiKernel/IVersHistoryObj.h"
0016
0017 #include <string>
0018 #include <vector>
0019
0020 class IService;
0021 class JobHistory;
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 class GAUDI_API ServiceHistory : public HistoryObj, public IVersHistoryObj {
0032
0033 public:
0034 ServiceHistory();
0035 ServiceHistory( const IService*, const JobHistory* );
0036 ServiceHistory( const IService&, const JobHistory* );
0037
0038
0039 const CLID& clID() const override { return classID(); }
0040 static const CLID& classID();
0041
0042
0043 const PropertyList& properties() const override { return m_properties; }
0044
0045 const IService* service() const { return m_pService; }
0046
0047 const JobHistory* jobHistory() const { return m_jobHistory; }
0048
0049 std::ostream& dump( std::ostream&, const bool isXML, int indent ) const override;
0050
0051 const std::string& name() const override { return m_name; }
0052 const std::string& type() const override { return m_type; }
0053 const std::string& version() const override { return m_version; }
0054
0055
0056 friend std::ostream& operator<<( std::ostream& lhs, const ServiceHistory& rhs ) { return rhs.dump( lhs, false, 0 ); }
0057
0058 private:
0059 const IService* m_pService;
0060 const JobHistory* m_jobHistory{ nullptr };
0061 std::string m_name, m_type, m_version;
0062 PropertyList m_properties;
0063 };
0064
0065 #endif