00001 // $Id: ServiceHistory.h,v 1.2 2008/06/04 12:35:15 marcocle Exp $ 00002 00003 #ifndef GAUDIKERNEL_SERVICEHISTORY_H 00004 #define GAUDIKERNEL_SERVICEHISTORY_H 00005 00006 #include "GaudiKernel/HistoryObj.h" 00007 00008 #include <string> 00009 #include <vector> 00010 00011 class IService; 00012 class Property; 00013 class JobHistory; 00014 00023 class ServiceHistory: public HistoryObj { 00024 00025 public: // typedefs 00026 00027 // List of properties. This may change. 00028 typedef std::vector<Property*> PropertyList; 00029 00030 public: 00031 ServiceHistory(); 00032 ServiceHistory(const IService*, const JobHistory* ) ; 00033 ServiceHistory(const IService&, const JobHistory* ) ; 00034 00035 virtual ~ServiceHistory(); 00036 00037 // Class IDs 00038 virtual const CLID& clID() const { return classID(); } 00039 static const CLID& classID(); 00040 00041 // Return the service properties. 00042 const PropertyList& properties() const { return m_properties; } 00043 00044 std::string name() const { return m_name; } 00045 std::string type() const { return m_type; } 00046 const IService* service() const { return m_pService; } 00047 00048 const JobHistory* jobHistory() const { return m_jobHistory; } 00049 00050 private: 00051 00052 const IService* m_pService; 00053 const JobHistory* m_jobHistory; 00054 std::string m_name,m_type; 00055 PropertyList m_properties; 00056 00057 }; 00058 00059 // Output stream. 00060 std::ostream& operator<<(std::ostream& lhs, const ServiceHistory& rhs); 00061 00062 #endif