![]() |
|
|
Generated: 8 Jan 2009 |
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 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