| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IHistorySvc.h

Go to the documentation of this file.

    00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IHistorySvc.h,v 1.1 2004/07/14 18:13:57 leggett Exp $
    00002
    00003 #ifndef GAUDIKERNEL_IHISTORYSVC_H
    00004 #define GAUDIKERNEL_IHISTORYSVC_H
    00005
    00006
    00007 #include "GaudiKernel/IService.h"
    00008 #include "GaudiKernel/ClassID.h"
    00009
    00010 #include <string>
    00011 #include <set>
    00012
    00013 class JobHistory;
    00014
    00015 class ServiceHistory;
    00016 class IService;
    00017
    00018 class Algorithm;
    00019 class AlgorithmHistory;
    00020
    00021 class IAlgTool;
    00022 class AlgToolHistory;
    00023
    00024 class DataHistory;
    00025 class HistoryObj;
    00026
    00034 class IHistorySvc : virtual public IService {
    00035
    00036 public:
    00037   // Typedefs for container type
    00038
    00040   static const InterfaceID& interfaceID();
    00041
    00042
    00043   // Job level objects
    00044   virtual StatusCode registerJob() = 0;
    00045   virtual StatusCode listProperties() const = 0;
    00046   virtual JobHistory* getJobHistory() const = 0;
    00047
    00048   // Service level objects
    00049   virtual StatusCode registerSvc(const IService&) = 0;
    00050   virtual StatusCode listProperties(const IService&) const = 0;
    00051   virtual ServiceHistory* getServiceHistory(const IService&) const = 0;
    00052   virtual void getServiceHistory(std::set<ServiceHistory*>&) const = 0;
    00053
    00054   // Algorithm level objects
    00055   virtual StatusCode registerAlg(const Algorithm&) = 0;
    00056   virtual StatusCode listProperties(const Algorithm&) const = 0;
    00057   virtual AlgorithmHistory* getAlgHistory(const Algorithm&) const = 0;
    00058   virtual void getAlgHistory(std::set<AlgorithmHistory*>&) const = 0;
    00059
    00060   // AlgTool level objects
    00061   virtual StatusCode registerAlgTool(const IAlgTool&) = 0;
    00062   virtual StatusCode listProperties(const IAlgTool&) const = 0;
    00063   virtual AlgToolHistory* getAlgToolHistory(const IAlgTool&) const = 0;
    00064   virtual void getAlgToolHistory(std::set<AlgToolHistory*>&) const = 0;
    00065
    00066   // DataObj level objects
    00067   virtual DataHistory* createDataHistoryObj(const CLID& id,
    00068                                             const std::string& key,
    00069                                             const std::string& storeName) = 0;
    00070   virtual DataHistory* getDataHistory(const CLID& id, const std::string& key,
    00071                                       const std::string& storeName) const = 0;
    00072
    00073
    00074
    00075 };
    00076
    00077 inline
    00078 const InterfaceID&
    00079 IHistorySvc::interfaceID() {
    00080     static const InterfaceID m_IID("HistorySvc", 1, 0);
    00081     return m_IID;
    00082 }
    00083
    00084 #endif // GAUDIKERNEL_IHISTORYSVC_H