IDataManagerSvc.h
Go to the documentation of this file.00001
00002 #ifndef GAUDIKERNEL_IDATAMANAGERSVC_H
00003 #define GAUDIKERNEL_IDATAMANAGERSVC_H
00004
00005
00006 #include <string>
00007 #include <vector>
00008 #include "GaudiKernel/ClassID.h"
00009 #include "GaudiKernel/IInterface.h"
00010
00011
00012
00013 class DataObject;
00014
00015 class IConversionSvc;
00016
00017 class IDataStoreAgent;
00018
00019 class IOpaqueAddress;
00020
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