| The Gaudi Framework v32r1 (f65d50dc)

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 namespace Gaudi {
16 class Algorithm;
17 }
18 class AlgorithmHistory;
19
20 class IAlgTool;
21 class AlgToolHistory;
22
23 class DataHistory;
24 class HistoryObj;
25
33 class GAUDI_API IHistorySvc : virtual public IService {
34 public:
36 DeclareInterfaceID( IHistorySvc, 2, 0 );
37
38 // Job level objects
39 virtual StatusCode registerJob() = 0;
40 virtual StatusCode listProperties() const = 0;
41 virtual JobHistory* getJobHistory() const = 0;
42
43 // Service level objects
44 virtual StatusCode registerSvc( const IService& ) = 0;
45 virtual StatusCode listProperties( const IService& ) const = 0;
46 virtual ServiceHistory* getServiceHistory( const IService& ) const = 0;
47 virtual void getServiceHistory( std::set<ServiceHistory*>& ) const = 0;
48
49 // Algorithm level objects
50 virtual StatusCode registerAlg( const Gaudi::Algorithm& ) = 0;
51 virtual StatusCode listProperties( const Gaudi::Algorithm& ) const = 0;
52 virtual AlgorithmHistory* getAlgHistory( const Gaudi::Algorithm& ) const = 0;
53 virtual void getAlgHistory( std::set<AlgorithmHistory*>& ) const = 0;
54
55 // AlgTool level objects
56 virtual StatusCode registerAlgTool( const IAlgTool& ) = 0;
57 virtual StatusCode listProperties( const IAlgTool& ) const = 0;
58 virtual AlgToolHistory* getAlgToolHistory( const IAlgTool& ) const = 0;
59 virtual void getAlgToolHistory( std::set<AlgToolHistory*>& ) const = 0;
60
61 // DataObj level objects
62 virtual DataHistory* createDataHistoryObj( const CLID& id, const std::string& key, const std::string& storeName ) = 0;
63 virtual DataHistory* getDataHistory( const CLID& id, const std::string& key, const std::string& storeName ) const = 0;
64 };
65
66 #endif // GAUDIKERNEL_IHISTORYSVC_H
ClassID.h
AlgorithmHistory
AlgorithmHistory class definition.
Definition: AlgorithmHistory.h:28
HistoryObj
Base class for History Objects.
Definition: HistoryObj.h:21
JobHistory
JobHistory class definition.
Definition: JobHistory.h:22
std::string
STL class.
IService
General service interface definition.
Definition: IService.h:18
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
DataHistory
DataHistory class definition.
Definition: DataHistory.h:23
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
IService.h
AlgToolHistory
AlgToolHistory class definition.
Definition: AlgToolHistory.h:22
Algorithm
Alias for backward compatibility.
Definition: Algorithm.h:56
std::set
STL class.
IAlgTool
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
Gaudi::Algorithm
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:79
ServiceHistory
ServiceHistory class definition.
Definition: ServiceHistory.h:21
IService::DeclareInterfaceID
DeclareInterfaceID(IService, 4, 0)
InterfaceID.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:71
Gaudi
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1
IHistorySvc
Definition of the IHistorySvc interface class.
Definition: IHistorySvc.h:33