00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/IDataManagerSvc.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $ 00002 #ifndef GAUDIKERNEL_IDATAMANAGERSVC_H 00003 #define GAUDIKERNEL_IDATAMANAGERSVC_H 00004 00005 // Include files 00006 #include <string> 00007 #include "GaudiKernel/ClassID.h" 00008 #include "GaudiKernel/IInterface.h" 00009 00010 // Forward declarations 00011 // Generic interface to data object class 00012 class DataObject; 00013 // Interface to persistency service 00014 class IConversionSvc; 00015 // Data agent 00016 class IDataStoreAgent; 00017 // Opaque addresses 00018 class IOpaqueAddress; 00019 00020 // Declaration of the interface ID ( interface id, major version, minor version) 00021 static const InterfaceID IID_IDataManagerSvc(5, 1 , 0); 00022 00023 00035 class IDataManagerSvc : virtual public IInterface { 00036 public: 00038 static const InterfaceID& interfaceID() { return IID_IDataManagerSvc; } 00039 00044 virtual StatusCode clearSubTree ( const std::string& sub_tree_path ) = 0; 00045 00051 virtual StatusCode clearSubTree ( DataObject* pObject ) = 0; 00052 00056 virtual StatusCode clearStore() = 0; 00057 00062 virtual StatusCode traverseSubTree ( const std::string& sub_tree_path,IDataStoreAgent* pAgent ) = 0; 00063 00069 virtual StatusCode traverseSubTree ( DataObject* pObject,IDataStoreAgent* pAgent ) = 0; 00070 00074 virtual StatusCode traverseTree(IDataStoreAgent* pAgent) = 0; 00075 00082 virtual StatusCode setRoot (const std::string& root_name, DataObject* pRootObj ) = 0; 00083 00090 virtual StatusCode setRoot(const std::string& root_path, IOpaqueAddress* pRootAddr) = 0; 00091 00092 /* Get class ID of root Event */ 00093 virtual CLID rootEventCLID() const = 0; 00094 00095 /* Get Name of root Event */ 00096 virtual std::string rootEventName() const = 0; 00097 00103 virtual StatusCode setDataLoader ( IConversionSvc* svc ) = 0; 00104 00106 enum Status { 00108 IID_IDataManagerSvc_NO_ERROR = IInterface::SUCCESS 00110 //INVALID_OBJ_PATH, 00112 //INVALID_ROOT 00113 }; 00114 }; 00115 00116 #endif // GAUDIKERNEL_IDATAMANAGERSVC_H
1.2.3 written by Dimitri van Heesch,
© 1997-2000