| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# IDataManagerSvc.h

Go to the documentation of this file.

    00001 // $Header: /tmp/svngaudi/tmp.jEpFh25751/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
    00044 class GAUDI_API IDataManagerSvc: virtual public IInterface {
    00045 public:
    00047   DeclareInterfaceID(IDataManagerSvc,2,0);
    00048
    00050   virtual CLID rootCLID() const = 0;
    00051
    00053   virtual std::string rootName() const = 0;
    00054
    00060   virtual StatusCode setDataLoader( IConversionSvc* svc ) = 0;
    00061
    00068   virtual StatusCode objectParent( const DataObject* pObject,
    00069                                    IRegistry*& refpParent) = 0;
    00070
    00077   virtual StatusCode objectParent( const IRegistry* pRegistry,
    00078                                    IRegistry*& refpParent) = 0;
    00079
    00088   virtual StatusCode objectLeaves( const DataObject*  pObject,
    00089                                   std::vector<IRegistry*>& refLeaves) = 0;
    00090
    00099   virtual StatusCode objectLeaves( const IRegistry*   pRegistry,
    00100                                   std::vector<IRegistry*>& refLeaves) = 0;
    00101
    00106   virtual StatusCode clearSubTree ( const std::string& sub_path ) = 0;
    00107
    00113   virtual StatusCode clearSubTree( DataObject* pObject ) = 0;
    00114
    00118   virtual StatusCode clearStore() = 0;
    00119
    00124   virtual StatusCode traverseSubTree( const std::string& sub_path,
    00125                                       IDataStoreAgent* pAgent ) = 0;
    00126
    00133   virtual StatusCode traverseSubTree( DataObject* pObject,
    00134                                       IDataStoreAgent* pAgent ) = 0;
    00135
    00139   virtual StatusCode traverseTree( IDataStoreAgent* pAgent) = 0;
    00140
    00147   virtual StatusCode setRoot( const std::string& root_name,
    00148                               DataObject* pObject ) = 0;
    00149
    00156   virtual StatusCode setRoot( const std::string& root_path,
    00157                               IOpaqueAddress* pRootAddr) = 0;
    00158
    00166   virtual StatusCode registerAddress( const std::string& fullPath,
    00167                                       IOpaqueAddress* pAddress) = 0;
    00168
    00177   virtual StatusCode registerAddress( DataObject* parentObj,
    00178                                       const std::string& objectPath,
    00179                                       IOpaqueAddress* pAddress) = 0;
    00180
    00189   virtual StatusCode registerAddress( IRegistry* parentObj,
    00190                                       const std::string& objectPath,
    00191                                       IOpaqueAddress* pAddress) = 0;
    00192
    00198   virtual StatusCode unregisterAddress(const std::string& fullPath) = 0;
    00199
    00207   virtual StatusCode unregisterAddress(DataObject* pParent,
    00208                                        const std::string& objPath) = 0;
    00209
    00217   virtual StatusCode unregisterAddress(IRegistry* pParent, const std::string& objPath) = 0;
    00218 };
    00219
    00220 #endif  // GAUDIKERNEL_IDATAMANAGERSVC_H