IHistorySvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IHISTORYSVC_H
2 #define GAUDIKERNEL_IHISTORYSVC_H
3 
4 
5 #include "GaudiKernel/IService.h"
6 #include "GaudiKernel/ClassID.h"
7 
8 #include <string>
9 #include <set>
10 
11 class JobHistory;
12 
13 class ServiceHistory;
14 class IService;
15 
16 class Algorithm;
17 class AlgorithmHistory;
18 
19 class IAlgTool;
20 class AlgToolHistory;
21 
22 class DataHistory;
23 class HistoryObj;
24 
32 class GAUDI_API IHistorySvc : virtual public IService {
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,
62  const std::string& key,
63  const std::string& storeName) = 0;
64  virtual DataHistory* getDataHistory(const CLID& id, const std::string& key,
65  const std::string& storeName) const = 0;
66 
67 };
68 
69 #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:26
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:107
Definition of the IHistorySvc interface class.
Definition: IHistorySvc.h:32