Gaudi Framework, version v22r4

Home   Generated: Fri Sep 2 2011

IDataProviderSvc.h

Go to the documentation of this file.
00001 // $Id: IDataProviderSvc.h,v 1.6 2005/01/19 08:23:16 mato Exp $
00002 #ifndef GAUDIKERNEL_IDATAPROVIDERSVC_H
00003 #define GAUDIKERNEL_IDATAPROVIDERSVC_H
00004 
00005 // Framework include files
00006 #include "GaudiKernel/IInterface.h"
00007 
00008 // C/C++ include files
00009 #include <string>
00010 
00011 // Forward declarations
00012 class DataObject;
00013 class IOpaqueAddress;
00014 class IRegistry;
00015 class DataStoreItem;
00016 
00046 class GAUDI_API IDataProviderSvc: virtual public IInterface {
00047 public:
00049   DeclareInterfaceID(IDataProviderSvc,3,0);
00050 
00051   enum { SEPARATOR = '/' };
00052 
00060   virtual StatusCode registerObject(const std::string& fullPath,
00061                                     DataObject* pObject) = 0;
00062 
00071   virtual StatusCode registerObject(const std::string& parentPath,
00072                                     const std::string& objectPath,
00073                                     DataObject* pObject) = 0;
00074 
00083   virtual StatusCode registerObject(const std::string& parentPath,
00084                                     int item,
00085                                     DataObject* pObject) = 0;
00086 
00095   virtual StatusCode registerObject(DataObject* parentObj,
00096                                     const std::string& objectPath,
00097                                     DataObject* pObject) = 0;
00098 
00107   virtual StatusCode registerObject(DataObject* parentObj,
00108                                     int item,
00109                                     DataObject* pObject) = 0;
00110 
00124   virtual StatusCode unregisterObject(const std::string& fullPath) = 0;
00125 
00140   virtual StatusCode unregisterObject(const std::string& parentPath,
00141                                       const std::string& objPath) = 0;
00142 
00157   virtual StatusCode unregisterObject(const std::string& parentPath,
00158                                       int item) = 0;
00159 
00173   virtual StatusCode unregisterObject(DataObject* pObject) = 0;
00174 
00189   virtual StatusCode unregisterObject(DataObject* pParent,
00190                                       const std::string& objPath) = 0;
00191 
00206   virtual StatusCode unregisterObject(DataObject* pParent, int item) = 0;
00207 
00218   virtual StatusCode retrieveObject(IRegistry* pDirectory,
00219                                     const std::string& path,
00220                                     DataObject*& pObject) = 0;
00221 
00230   virtual StatusCode retrieveObject(const std::string& fullPath,
00231                                     DataObject*& pObject) = 0;
00232 
00243   virtual StatusCode retrieveObject(const std::string& parentPath,
00244                                     const std::string& objectPath,
00245                                     DataObject*& pObject) = 0;
00246 
00257   virtual StatusCode retrieveObject(const std::string& parentPath,
00258                                     int item, DataObject*& pObject) = 0;
00259 
00270   virtual StatusCode retrieveObject(DataObject* parentObj,
00271                                     const std::string& objectPath,
00272                                     DataObject*& pObject) = 0;
00273 
00284   virtual StatusCode retrieveObject(DataObject* parentObj,
00285                                     int item,
00286                                     DataObject*& pObject) = 0;
00287 
00297   virtual StatusCode findObject(IRegistry* pDirectory,
00298                                 const std::string& path,
00299                                 DataObject*& pObject) = 0;
00300 
00308   virtual StatusCode findObject(const std::string& fullPath,
00309                                 DataObject*& pObject) = 0;
00310 
00320   virtual StatusCode findObject(const std::string& parentPath,
00321                                 const std::string& objectPath,
00322                                 DataObject*& pObject) = 0;
00323 
00332   virtual StatusCode findObject(const std::string& parentPath,
00333                                 int item,
00334                                 DataObject*& pObject) = 0;
00335 
00345   virtual StatusCode findObject(DataObject* pNode,
00346                                 const std::string& objectPath,
00347                                 DataObject*& pObject) = 0;
00348 
00357   virtual StatusCode findObject(DataObject* parentObj,
00358                                 int item,
00359                                 DataObject*& pObject) = 0;
00360 
00366   virtual StatusCode updateObject(IRegistry* pDirectory) = 0;
00367 
00374   virtual StatusCode updateObject(const std::string& fullPath) = 0;
00375 
00382   virtual StatusCode updateObject(DataObject* toUpdate) = 0;
00383 
00392   virtual StatusCode updateObject(const std::string& parentPath,
00393                                   const std::string& updatePath) = 0;
00394 
00403   virtual StatusCode updateObject(DataObject* pParent,
00404                                   const std::string& updatePath) = 0;
00405 
00410   virtual StatusCode addPreLoadItem(const DataStoreItem& item) = 0;
00411 
00417   virtual StatusCode addPreLoadItem(const std::string& itemPath) = 0;
00418 
00423   virtual StatusCode removePreLoadItem(const DataStoreItem& item) = 0;
00424 
00429   virtual StatusCode removePreLoadItem(const std::string& itemPath) = 0;
00430 
00434   virtual StatusCode resetPreLoad() = 0;
00435 
00439   virtual StatusCode preLoad() = 0;
00440 
00449   virtual StatusCode linkObject(IRegistry* from,
00450                                 const std::string& objPath,
00451                                 DataObject* toObj) = 0;
00452 
00461   virtual StatusCode linkObject(const std::string& fromPath,
00462                                 const std::string& objPath,
00463                                 DataObject* toObj) = 0;
00464 
00473   virtual StatusCode linkObject(DataObject* fromObj,
00474                                 const std::string& objPath,
00475                                 DataObject* toObj) = 0;
00476 
00484   virtual StatusCode linkObject(const std::string& fullPath,
00485                                 DataObject* toObj) = 0;
00486 
00495   virtual StatusCode unlinkObject(IRegistry* from,
00496                                   const std::string& objPath) = 0;
00497 
00506   virtual StatusCode unlinkObject(const std::string& fromPath,
00507                                   const std::string& objPath) = 0;
00508 
00517   virtual StatusCode unlinkObject(DataObject* fromObj,
00518                                   const std::string& objPath) = 0;
00519 
00527   virtual StatusCode unlinkObject(const std::string& fullPath) = 0;
00528 
00530   enum Status  {
00532     IDataProviderSvc_NO_ERROR = 1,
00534     DOUBL_OBJ_PATH,
00536     INVALID_OBJ_PATH,
00538     INVALID_ROOT,
00540     INVALID_OBJECT,
00542     INVALID_PARENT,
00544     OBJ_NOT_LOADED,
00546     NO_DATA_LOADER,
00548     INVALID_OBJ_ADDR,
00550     DIR_NOT_EMPTY,
00552     NO_MORE_LEVELS,
00554     NO_ACCESS,
00556     LAST
00557   };
00558 };
00559 
00560 #endif // GAUDIKERNEL_IDATAPROVIDERSVC_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Fri Sep 2 2011 16:24:22 for Gaudi Framework, version v22r4 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004