Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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:
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
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:50
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
DataHistory class definition.
Definition: DataHistory.h:23
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
AlgToolHistory class definition.
Alias for backward compatibility.
Definition: Algorithm.h:56
STL class.
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:79
ServiceHistory class definition.
#define GAUDI_API
Definition: Kernel.h:71
Helper functions to set/get the application return code.
Definition: __init__.py:1
Definition of the IHistorySvc interface class.
Definition: IHistorySvc.h:33