The Gaudi Framework  v29r0 (ff2e7097)
IHistorySvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IHISTORYSVC_H
2 #define GAUDIKERNEL_IHISTORYSVC_H
3 
4 #include "GaudiKernel/ClassID.h"
5 #include "GaudiKernel/IService.h"
6 
7 #include <set>
8 #include <string>
9 
10 class JobHistory;
11 
12 class ServiceHistory;
13 class IService;
14 
15 class Algorithm;
16 class AlgorithmHistory;
17 
18 class IAlgTool;
19 class AlgToolHistory;
20 
21 class DataHistory;
22 class HistoryObj;
23 
31 class GAUDI_API IHistorySvc : virtual public IService
32 {
33 public:
36 
37  // Job level objects
38  virtual StatusCode registerJob() = 0;
39  virtual StatusCode listProperties() const = 0;
40  virtual JobHistory* getJobHistory() const = 0;
41 
42  // Service level objects
43  virtual StatusCode registerSvc( const IService& ) = 0;
44  virtual StatusCode listProperties( const IService& ) const = 0;
45  virtual ServiceHistory* getServiceHistory( const IService& ) const = 0;
46  virtual void getServiceHistory( std::set<ServiceHistory*>& ) const = 0;
47 
48  // Algorithm level objects
49  virtual StatusCode registerAlg( const Algorithm& ) = 0;
50  virtual StatusCode listProperties( const Algorithm& ) const = 0;
51  virtual AlgorithmHistory* getAlgHistory( const Algorithm& ) const = 0;
52  virtual void getAlgHistory( std::set<AlgorithmHistory*>& ) const = 0;
53 
54  // AlgTool level objects
55  virtual StatusCode registerAlgTool( const IAlgTool& ) = 0;
56  virtual StatusCode listProperties( const IAlgTool& ) const = 0;
57  virtual AlgToolHistory* getAlgToolHistory( const IAlgTool& ) const = 0;
58  virtual void getAlgToolHistory( std::set<AlgToolHistory*>& ) const = 0;
59 
60  // DataObj level objects
61  virtual DataHistory* createDataHistoryObj( const CLID& id, const std::string& key, const std::string& storeName ) = 0;
62  virtual DataHistory* getDataHistory( const CLID& id, const std::string& key, const std::string& storeName ) const = 0;
63 };
64 
65 #endif // GAUDIKERNEL_IHISTORYSVC_H
AlgorithmHistory class definition.
Base class for History Objects.
Definition: HistoryObj.h:21
JobHistory class definition.
Definition: JobHistory.h:22
STL class.
General service interface definition.
Definition: IService.h:18
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
DataHistory class definition.
Definition: DataHistory.h:23
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
AlgToolHistory class definition.
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:78
STL class.
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
ServiceHistory class definition.
DeclareInterfaceID(IService, 4, 0)
InterfaceID.
#define GAUDI_API
Definition: Kernel.h:110
Definition of the IHistorySvc interface class.
Definition: IHistorySvc.h:31