Gaudi Framework, version v21r8

Home   Generated: 17 Mar 2010

AIDATupleSvc.h

Go to the documentation of this file.
00001 // $Id: AIDATupleSvc.h,v 1.4 2006/01/27 13:01:19 hmd Exp $
00002 #ifndef AIDATUPLESVC_AIDATUPLESVC_H
00003 #define AIDATUPLESVC_AIDATUPLESVC_H 1
00004 
00005 // Include files
00006 #include <vector>
00007 #include <map>
00008 
00009 #include "GaudiKernel/DataSvc.h"
00010 #include "GaudiKernel/xtoa.h"
00011 #include "GaudiKernel/Kernel.h"
00012 #include "GaudiKernel/IAIDATupleSvc.h"
00013 
00014 #include "GaudiPI/AIDA_Proxy/AIDA_Proxy.h"
00015 
00025 // Forward Declarations
00026 template <class T> class SvcFactory;
00027 
00028 class AIDATupleSvc : public extends1<DataSvc, IAIDATupleSvc>
00029 {
00030 private:
00032   friend class SvcFactory<AIDATupleSvc>;
00033 
00034 protected:
00036   typedef std::vector<std::string>                      DBaseEntries;
00037   typedef std::map<std::string, pi_aida::Proxy_Store*>  Connections;
00038 
00040   DBaseEntries m_output;
00041 
00043   DBaseEntries m_input;
00044 
00046   Connections  m_connections;
00047 
00049   AIDATupleSvc( const std::string& name, ISvcLocator* svc );
00050 
00052   virtual ~AIDATupleSvc();
00053 
00054 
00063   void parsePath( const std::string& fullPath,
00064                   std::string& dirPath,
00065                   std::string& objPath,
00066                   std::string& storePath,
00067                   std::string& storeObj );
00068 
00069 
00074   virtual DataObject* createPath( const std::string& newPath );
00075 
00076 
00082   virtual DataObject* createDirectory( const std::string& parentDir,
00083                                        const std::string& subDir );
00084 
00090   StatusCode connect( const std::string& ident,
00091                       int mode );
00092 
00094   StatusCode closeAIDAStores();
00095 
00096 public:
00098   virtual StatusCode initialize();
00100   virtual StatusCode reinitialize();
00102   virtual StatusCode finalize();
00103 
00110   virtual AIDA::ITuple* book( const std::string& fullPath,
00111                               const std::string& title,
00112                               const std::string& columns );
00113 
00114 
00122   virtual AIDA::ITuple* book( const std::string& parentPath,
00123                               const std::string& objPath,
00124                               const std::string& title,
00125                               const std::string& columns );
00126 
00127 
00135   virtual AIDA::ITuple* book( const std::string& parentPath,
00136                               int tupleID,
00137                               const std::string& title,
00138                               const std::string& columns );
00139 
00140 
00148   virtual AIDA::ITuple* book( DataObject* pParent,
00149                               const std::string& objPath,
00150                               const std::string& title,
00151                               const std::string& columns );
00152 
00153 
00161   virtual AIDA::ITuple* book( DataObject* pParent,
00162                               int tupleID,
00163                               const std::string& title,
00164                               const std::string& columns );
00165 
00166 
00173   virtual StatusCode registerObject( const std::string& dirPath,
00174                                      const std::string& objPath,
00175                                      AIDA::ITuple* tObj );
00176 
00177 
00184   virtual StatusCode registerObject( DataObject* pParent,
00185                                      const std::string& objPath,
00186                                      AIDA::ITuple* tObj );
00187 
00188 
00193   virtual StatusCode unregisterObject( AIDA::ITuple* tObj );
00194 
00195 
00201   virtual StatusCode unregisterObject( AIDA::ITuple* tObj,
00202                                        const std::string& objPath );
00203 
00204 
00210   virtual StatusCode retrieveObject( const std::string& fullPath,
00211                                      AIDA::ITuple*& tObj );
00212 
00213 
00220   virtual StatusCode retrieveObject( const std::string& parentPath,
00221                                      const std::string& objPath,
00222                                      AIDA::ITuple*& tObj );
00223 
00224 
00231   virtual StatusCode retrieveObject( DataObject* pParent,
00232                                      const std::string& objPath,
00233                                      AIDA::ITuple*& tObj );
00234 
00235 
00241   virtual StatusCode findObject( const std::string& fullPath,
00242                                  AIDA::ITuple*& tObj );
00243 
00250   virtual StatusCode findObject( IRegistry* pDirectory,
00251                                  const std::string& path,
00252                                  AIDA::ITuple*& tObj );
00253 
00260   virtual StatusCode findObject( const std::string& parentPath,
00261                                  const std::string& objPath,
00262                                  AIDA::ITuple*& tObj );
00263 
00270   virtual StatusCode findObject( DataObject* parentObj,
00271                                  const std::string& objPath,
00272                                  AIDA::ITuple*& tObj );
00273 
00278   virtual void setCriteria( AIDA::ITuple*& tObj,
00279                             const std::string& criteria );
00280 
00282   virtual StatusCode myTest();
00283 };
00284 
00285 #endif //AIDATUPLESVC_AIDATUPLESVC_H

Generated at Wed Mar 17 18:06:40 2010 for Gaudi Framework, version v21r8 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004