| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

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/Kernel.h"
00007 #include "GaudiKernel/IInterface.h"
00008 
00009 // C/C++ include files
00010 #include <string>
00011 
00012 // Forward declarations
00013 class DataObject;
00014 class IOpaqueAddress;
00015 class IRegistry;
00016 class DataStoreItem;
00017 
00018 // Declaration of the interface ID ( interface id, major version, minor version)
00019 static const InterfaceID IID_IDataProviderSvc("IDataProviderSvc", 2 , 0); 
00020 
00050 class IDataProviderSvc  : virtual public IInterface         {
00051   public:
00053   static const InterfaceID& interfaceID() { return IID_IDataProviderSvc; }
00054 
00055   enum { SEPARATOR = '/' };
00056 
00064   virtual StatusCode registerObject(const std::string& fullPath,
00065                                     DataObject* pObject) = 0;
00066 
00075   virtual StatusCode registerObject(const std::string& parentPath,
00076                                     const std::string& objectPath,
00077                                     DataObject* pObject) = 0;
00078 
00087   virtual StatusCode registerObject(const std::string& parentPath,
00088                                     int item,
00089                                     DataObject* pObject) = 0;
00090 
00099   virtual StatusCode registerObject(DataObject* parentObj,
00100                                     const std::string& objectPath,
00101                                     DataObject* pObject) = 0;
00102 
00111   virtual StatusCode registerObject(DataObject* parentObj,
00112                                     int item,
00113                                     DataObject* pObject) = 0;
00114 
00128   virtual StatusCode unregisterObject(const std::string& fullPath) = 0;
00129 
00144   virtual StatusCode unregisterObject(const std::string& parentPath,
00145                                       const std::string& objPath) = 0;
00146 
00161   virtual StatusCode unregisterObject(const std::string& parentPath,
00162                                       int item) = 0;
00163 
00177   virtual StatusCode unregisterObject(DataObject* pObject) = 0;
00178 
00193   virtual StatusCode unregisterObject(DataObject* pParent,
00194                                       const std::string& objPath) = 0;
00195 
00210   virtual StatusCode unregisterObject(DataObject* pParent, int item) = 0;
00211 
00222   virtual StatusCode retrieveObject(IRegistry* pDirectory,
00223                                     const std::string& path,
00224                                     DataObject*& pObject) = 0;
00225 
00234   virtual StatusCode retrieveObject(const std::string& fullPath,
00235                                     DataObject*& pObject) = 0;
00236 
00247   virtual StatusCode retrieveObject(const std::string& parentPath,
00248                                     const std::string& objectPath,
00249                                     DataObject*& pObject) = 0;
00250 
00261   virtual StatusCode retrieveObject(const std::string& parentPath,
00262                                     int item, DataObject*& pObject) = 0;
00263 
00274   virtual StatusCode retrieveObject(DataObject* parentObj,
00275                                     const std::string& objectPath,
00276                                     DataObject*& pObject) = 0;
00277  
00288   virtual StatusCode retrieveObject(DataObject* parentObj,
00289                                     int item,
00290                                     DataObject*& pObject) = 0;
00291 
00301   virtual StatusCode findObject(IRegistry* pDirectory,
00302                                 const std::string& path,
00303                                 DataObject*& pObject) = 0;
00304 
00312   virtual StatusCode findObject(const std::string& fullPath,
00313                                 DataObject*& pObject) = 0;
00314  
00324   virtual StatusCode findObject(const std::string& parentPath,
00325                                 const std::string& objectPath,
00326                                 DataObject*& pObject) = 0;
00327 
00336   virtual StatusCode findObject(const std::string& parentPath,
00337                                 int item,
00338                                 DataObject*& pObject) = 0;
00339 
00349   virtual StatusCode findObject(DataObject* pNode,
00350                                 const std::string& objectPath,
00351                                 DataObject*& pObject) = 0;
00352 
00361   virtual StatusCode findObject(DataObject* parentObj,
00362                                 int item,
00363                                 DataObject*& pObject) = 0;
00364 
00370   virtual StatusCode updateObject(IRegistry* pDirectory) = 0;
00371 
00378   virtual StatusCode updateObject(const std::string& fullPath) = 0;
00379 
00386   virtual StatusCode updateObject(DataObject* toUpdate) = 0;
00387 
00396   virtual StatusCode updateObject(const std::string& parentPath,
00397                                   const std::string& updatePath) = 0;
00398 
00407   virtual StatusCode updateObject(DataObject* pParent,
00408                                   const std::string& updatePath) = 0;
00409 
00414   virtual StatusCode addPreLoadItem(const DataStoreItem& item) = 0;
00415 
00421   virtual StatusCode addPreLoadItem(const std::string& itemPath) = 0;
00422 
00427   virtual StatusCode removePreLoadItem(const DataStoreItem& item) = 0;
00428 
00433   virtual StatusCode removePreLoadItem(const std::string& itemPath) = 0;
00434 
00438   virtual StatusCode resetPreLoad() = 0;
00439 
00443   virtual StatusCode preLoad() = 0;
00444 
00453   virtual StatusCode linkObject(IRegistry* from,
00454                                 const std::string& objPath,
00455                                 DataObject* toObj) = 0;
00456 
00465   virtual StatusCode linkObject(const std::string& fromPath,
00466                                 const std::string& objPath,
00467                                 DataObject* toObj) = 0;
00468 
00477   virtual StatusCode linkObject(DataObject* fromObj,
00478                                 const std::string& objPath,
00479                                 DataObject* toObj) = 0;
00480 
00488   virtual StatusCode linkObject(const std::string& fullPath,
00489                                 DataObject* toObj) = 0;
00490 
00499   virtual StatusCode unlinkObject(IRegistry* from,
00500                                   const std::string& objPath) = 0;
00501 
00510   virtual StatusCode unlinkObject(const std::string& fromPath,
00511                                   const std::string& objPath) = 0;
00512 
00521   virtual StatusCode unlinkObject(DataObject* fromObj,
00522                                   const std::string& objPath) = 0;
00523 
00531   virtual StatusCode unlinkObject(const std::string& fullPath) = 0;
00532 
00534   enum Status  {
00536     IID_IDataProviderSvc_NO_ERROR = 1,
00538     DOUBL_OBJ_PATH,
00540     INVALID_OBJ_PATH,
00542     INVALID_ROOT,
00544     INVALID_OBJECT,
00546     INVALID_PARENT,
00548     OBJ_NOT_LOADED,
00550     NO_DATA_LOADER,
00552     INVALID_OBJ_ADDR,
00554     DIR_NOT_EMPTY,
00556     NO_MORE_LEVELS,
00558     NO_ACCESS,
00560     LAST
00561   };
00562 };
00563 
00564 #endif // GAUDIKERNEL_IDATAPROVIDERSVC_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:57 2011 for GaudiKernel by doxygen 1.4.7