| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# 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
    00021
    00022 //Declaration of the interface ID (interface id, major version, minor version)
    00023 static const InterfaceID IID_IAIDATupleSvc(120, 2, 0);
    00024
    00025
    00034 class IAIDATupleSvc : virtual public IDataProviderSvc {
    00035
    00036 public:
    00037
    00038         //Retrieve interface ID
    00039         static const InterfaceID& interfaceID() { return IID_IAIDATupleSvc; }
    00040
    00041   // ===================================
    00042   // Book a tuple in the transient store
    00043   // ===================================
    00044   virtual AIDA::ITuple* book(   const std::string& fullPath,
    00045                                     const std::string& title,
    00046                                     const std::string& columns  ) = 0;
    00047
    00048
    00049   // =======================================
    00050   // Register a tuple in the transient store
    00051   // =======================================
    00052   virtual StatusCode registerObject( const std::string& dirPath,
    00053                                      const std::string& objPath,
    00054                                      AIDA::ITuple* tObj ) = 0;
    00055
    00056
    00057   virtual StatusCode registerObject( DataObject* pParent,
    00058                                      const std::string& objPath,
    00059                                      AIDA::ITuple* tObj ) = 0;
    00060
    00061
    00062   // =========================================
    00063   // Unregister a tuple in the transient store
    00064   // =========================================
    00065   virtual StatusCode unregisterObject( AIDA::ITuple* tObj ) = 0;
    00066
    00067   virtual StatusCode unregisterObject( AIDA::ITuple* tObj,
    00068                                        const std::string& objectPath ) = 0;
    00069
    00070
    00071   // ====================================
    00072   // Retrieve a tuple from the data store
    00073   // ====================================
    00074   virtual StatusCode retrieveObject( const std::string& fullPath,
    00075                                      AIDA::ITuple*& tObj ) = 0;
    00076
    00077   virtual StatusCode retrieveObject( const std::string& parentPath,
    00078                                      const std::string& objPath,
    00079                                      AIDA::ITuple*& tObj ) = 0;
    00080
    00081   virtual StatusCode retrieveObject( DataObject* parentObj,
    00082                                      const std::string& objPath,
    00083                                      AIDA::ITuple*& tObj ) = 0;
    00084
    00085
    00086   // ==============================
    00087   // Find a tuple in the data store
    00088   // ==============================
    00089   virtual StatusCode findObject( const std::string& fullPath,
    00090                                  AIDA::ITuple*& tObj ) = 0;
    00091
    00092   virtual StatusCode findObject( IRegistry* pDirectory,
    00093                                  const std::string& path,
    00094                                  AIDA::ITuple*& tObj ) = 0;
    00095
    00096   virtual StatusCode findObject( const std::string& parentPath,
    00097                                  const std::string& objPath,
    00098                                  AIDA::ITuple*& tObj ) = 0;
    00099
    00100   virtual StatusCode findObject( DataObject* parentObj,
    00101                                  const std::string& objPath,
    00102                                  AIDA::ITuple*& tObj ) = 0;
    00103
    00105   virtual void setCriteria(  AIDA::ITuple*& tObj,
    00106                              const std::string& criteria ) = 0;
    00107
    00108
    00109   // ==============
    00110   // Helper methods
    00111   // ==============
    00112
    00113         //Create all directories in a given full path
    00114         virtual DataObject* createPath( const std::string& newPath )= 0;
    00115
    00116   //Create a sub-directory in a directory.
    00117         virtual DataObject* createDirectory(const std::string& parentDir,
    00118                                                                                                   const std::string& subDir)    = 0;
    00119
    00120   virtual StatusCode myTest() = 0;
    00121
    00122   //virtual std::string storeName(AIDA::ITuple*& tObj) = 0;
    00123 };
    00124
    00125 #endif //GAUDIKERNEL_IAIDATUPLESVC_H