| # Gaudi Framework, version v21r8 |

Home |  | Generated: 17 Mar 2010

# IAIDATupleSvc.h

Go to the documentation of this file.

    00001 // $Id: IAIDATupleSvc.h,v 1.2 2005/12/06 18:55:19 hmd Exp $
    00002 #ifndef GAUDIKERNEL_IAIDATUPLESVC_H
    00003 #define GAUDIKERNEL_IAIDATUPLESVC_H 1
    00004
    00005 //Include files:
    00006 #include "GaudiKernel/IDataProviderSvc.h"
    00007
    00008 //Forward declarations:
    00009 class DataObject;
    00010
    00011 //Added to allow use of AIDA in applications
    00012 //without prefix AIDA:: (as before):
    00013 namespace AIDA {
    00014   class ITuple;
    00015   class IAnnotation;
    00016 }
    00017
    00018 using AIDA::ITuple;
    00019 using AIDA::IAnnotation;
    00020
    00029 class GAUDI_API IAIDATupleSvc : virtual public IDataProviderSvc {
    00030
    00031 public:
    00033   DeclareInterfaceID(IAIDATupleSvc,3,0);
    00034
    00035   // ===================================
    00036   // Book a tuple in the transient store
    00037   // ===================================
    00038   virtual AIDA::ITuple* book( const std::string& fullPath,
    00039                               const std::string& title,
    00040                               const std::string& columns ) = 0;
    00041
    00042
    00043   // =======================================
    00044   // Register a tuple in the transient store
    00045   // =======================================
    00046   virtual StatusCode registerObject( const std::string& dirPath,
    00047                                      const std::string& objPath,
    00048                                      AIDA::ITuple* tObj ) = 0;
    00049
    00050
    00051   virtual StatusCode registerObject( DataObject* pParent,
    00052                                      const std::string& objPath,
    00053                                      AIDA::ITuple* tObj ) = 0;
    00054
    00055
    00056   // =========================================
    00057   // Unregister a tuple in the transient store
    00058   // =========================================
    00059   virtual StatusCode unregisterObject( AIDA::ITuple* tObj ) = 0;
    00060
    00061   virtual StatusCode unregisterObject( AIDA::ITuple* tObj,
    00062                                        const std::string& objectPath ) = 0;
    00063
    00064
    00065   // ====================================
    00066   // Retrieve a tuple from the data store
    00067   // ====================================
    00068   virtual StatusCode retrieveObject( const std::string& fullPath,
    00069                                      AIDA::ITuple*& tObj ) = 0;
    00070
    00071   virtual StatusCode retrieveObject( const std::string& parentPath,
    00072                                      const std::string& objPath,
    00073                                      AIDA::ITuple*& tObj ) = 0;
    00074
    00075   virtual StatusCode retrieveObject( DataObject* parentObj,
    00076                                      const std::string& objPath,
    00077                                      AIDA::ITuple*& tObj ) = 0;
    00078
    00079
    00080   // ==============================
    00081   // Find a tuple in the data store
    00082   // ==============================
    00083   virtual StatusCode findObject( const std::string& fullPath,
    00084                                  AIDA::ITuple*& tObj ) = 0;
    00085
    00086   virtual StatusCode findObject( IRegistry* pDirectory,
    00087                                  const std::string& path,
    00088                                  AIDA::ITuple*& tObj ) = 0;
    00089
    00090   virtual StatusCode findObject( const std::string& parentPath,
    00091                                  const std::string& objPath,
    00092                                  AIDA::ITuple*& tObj ) = 0;
    00093
    00094   virtual StatusCode findObject( DataObject* parentObj,
    00095                                  const std::string& objPath,
    00096                                  AIDA::ITuple*& tObj ) = 0;
    00097
    00099   virtual void setCriteria(  AIDA::ITuple*& tObj,
    00100                              const std::string& criteria ) = 0;
    00101
    00102
    00103   // ==============
    00104   // Helper methods
    00105   // ==============
    00106
    00107         //Create all directories in a given full path
    00108         virtual DataObject* createPath( const std::string& newPath )= 0;
    00109
    00110   //Create a sub-directory in a directory.
    00111         virtual DataObject* createDirectory(const std::string& parentDir,
    00112                                                                                                   const std::string& subDir)    = 0;
    00113
    00114   virtual StatusCode myTest() = 0;
    00115
    00116   //virtual std::string storeName(AIDA::ITuple*& tObj) = 0;
    00117 };
    00118
    00119 #endif //GAUDIKERNEL_IAIDATUPLESVC_H