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

# IDataManagerSvc.h

Go to the documentation of this file.

    00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IDataManagerSvc.h,v 1.6 2001/11/20 11:15:52 mato Exp $
    00002 #ifndef GAUDIKERNEL_IDATAMANAGERSVC_H
    00003 #define GAUDIKERNEL_IDATAMANAGERSVC_H
    00004
    00005 // Include files
    00006 #include <string>
    00007 #include <vector>
    00008 #include "GaudiKernel/ClassID.h"
    00009 #include "GaudiKernel/IInterface.h"
    00010
    00011 // Forward declarations
    00012 // Generic interface to data object class
    00013 class DataObject;
    00014 // Interface to persistency service
    00015 class IConversionSvc;
    00016 // Data agent
    00017 class IDataStoreAgent;
    00018 // Opaque addresses
    00019 class IOpaqueAddress;
    00020 // Registry entry definition
    00021 class IRegistry;
    00022
    00023
    00024 // Declaration of the interface ID ( interface id, major version, minor version)
    00025 static const InterfaceID IID_IDataManagerSvc("IDataManagerSvc", 1 , 0);
    00026
    00027
    00049 class IDataManagerSvc : virtual public IInterface {
    00050  public:
    00052   static const InterfaceID& interfaceID() { return IID_IDataManagerSvc; }
    00053
    00055   virtual CLID rootCLID() const = 0;
    00056
    00058   virtual std::string rootName() const = 0;
    00059
    00065   virtual StatusCode setDataLoader( IConversionSvc* svc ) = 0;
    00066
    00073   virtual StatusCode objectParent( const DataObject* pObject,
    00074                                    IRegistry*& refpParent) = 0;
    00075
    00082   virtual StatusCode objectParent( const IRegistry* pRegistry,
    00083                                    IRegistry*& refpParent) = 0;
    00084
    00093   virtual StatusCode objectLeaves( const DataObject*  pObject,
    00094                                   std::vector<IRegistry*>& refLeaves) = 0;
    00095
    00104   virtual StatusCode objectLeaves( const IRegistry*   pRegistry,
    00105                                   std::vector<IRegistry*>& refLeaves) = 0;
    00106
    00111   virtual StatusCode clearSubTree ( const std::string& sub_path ) = 0;
    00112
    00118   virtual StatusCode clearSubTree( DataObject* pObject ) = 0;
    00119
    00123   virtual StatusCode clearStore() = 0;
    00124
    00129   virtual StatusCode traverseSubTree( const std::string& sub_path,
    00130                                       IDataStoreAgent* pAgent ) = 0;
    00131
    00138   virtual StatusCode traverseSubTree( DataObject* pObject,
    00139                                       IDataStoreAgent* pAgent ) = 0;
    00140
    00144   virtual StatusCode traverseTree( IDataStoreAgent* pAgent) = 0;
    00145
    00152   virtual StatusCode setRoot( const std::string& root_name,
    00153                               DataObject* pObject ) = 0;
    00154
    00161   virtual StatusCode setRoot( const std::string& root_path,
    00162                               IOpaqueAddress* pRootAddr) = 0;
    00163
    00171   virtual StatusCode registerAddress( const std::string& fullPath,
    00172                                       IOpaqueAddress* pAddress) = 0;
    00173
    00182   virtual StatusCode registerAddress( DataObject* parentObj,
    00183                                       const std::string& objectPath,
    00184                                       IOpaqueAddress* pAddress) = 0;
    00185
    00194   virtual StatusCode registerAddress( IRegistry* parentObj,
    00195                                       const std::string& objectPath,
    00196                                       IOpaqueAddress* pAddress) = 0;
    00197
    00203   virtual StatusCode unregisterAddress(const std::string& fullPath) = 0;
    00204
    00212   virtual StatusCode unregisterAddress(DataObject* pParent,
    00213                                        const std::string& objPath) = 0;
    00214
    00222   virtual StatusCode unregisterAddress(IRegistry* pParent, const std::string& objPath) = 0;
    00223 };
    00224
    00225 #endif  // GAUDIKERNEL_IDATAMANAGERSVC_H