Gaudi Framework, version v20r4

Generated: 8 Jan 2009

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 DataSvc,
00029                      virtual public IAIDATupleSvc
00030 {
00031 private:
00033   friend class SvcFactory<AIDATupleSvc>;
00034 
00035 protected:
00037   typedef std::vector<std::string>                      DBaseEntries;
00038   typedef std::map<std::string, pi_aida::Proxy_Store*>  Connections;
00039   
00041         DBaseEntries    m_output;
00042         
00044         DBaseEntries    m_input;
00045         
00047         Connections             m_connections;
00048 
00050   AIDATupleSvc( const std::string& name, ISvcLocator* svc ); 
00051 
00053   virtual ~AIDATupleSvc();
00054 
00055 
00064    void parsePath( const std::string& fullPath,
00065                    std::string& dirPath,
00066                    std::string& objPath,
00067                    std::string& storePath,
00068                    std::string& storeObj );
00069 
00070 
00075   virtual DataObject* createPath( const std::string& newPath );
00076 
00077 
00083   virtual DataObject* createDirectory( const std::string& parentDir,
00084                                        const std::string& subDir );
00085 
00091   StatusCode connect( const std::string& ident,
00092                       int mode );
00093 
00095   StatusCode closeAIDAStores();
00096   
00097 public:
00099   virtual StatusCode initialize();
00101   virtual StatusCode reinitialize();
00103   virtual StatusCode finalize();
00105   virtual StatusCode queryInterface(const InterfaceID& riid, void** ppv);
00106 
00107 
00114   virtual AIDA::ITuple* book(   const std::string& fullPath,
00115                                     const std::string& title,
00116                                     const std::string& columns  );
00117 
00118 
00126         virtual AIDA::ITuple*   book(   const std::string& parentPath,
00127                                                                                     const std::string& objPath,
00128                                                                                     const std::string& title,
00129                                                                                     const std::string& columns  );
00130 
00131 
00139         virtual AIDA::ITuple*   book(   const std::string& parentPath,
00140                               int tupleID,
00141                                                                                     const std::string& title,
00142                                                                                     const std::string& columns  );
00143 
00144 
00152         virtual AIDA::ITuple*   book(   DataObject* pParent,
00153                                                                                     const std::string& objPath,
00154                                                                                     const std::string& title,
00155                                                                                     const std::string& columns  );
00156 
00157 
00165         virtual AIDA::ITuple*   book(   DataObject* pParent,
00166                               int tupleID,
00167                                                                                     const std::string& title,
00168                                                                                     const std::string& columns  );
00169 
00170 
00177   virtual StatusCode registerObject( const std::string& dirPath,
00178                                      const std::string& objPath,
00179                                      AIDA::ITuple* tObj );
00180 
00181   
00188   virtual StatusCode registerObject( DataObject* pParent,
00189                                      const std::string& objPath,
00190                                      AIDA::ITuple* tObj );
00191   
00192 
00197   virtual StatusCode unregisterObject( AIDA::ITuple* tObj );
00198 
00199 
00205   virtual StatusCode unregisterObject( AIDA::ITuple* tObj,
00206                                        const std::string& objPath );
00207   
00208 
00214   virtual StatusCode retrieveObject( const std::string& fullPath,
00215                                      AIDA::ITuple*& tObj );
00216 
00217 
00224   virtual StatusCode retrieveObject( const std::string& parentPath,
00225                                      const std::string& objPath,
00226                                      AIDA::ITuple*& tObj );
00227 
00228 
00235   virtual StatusCode retrieveObject( DataObject* pParent,
00236                                      const std::string& objPath,
00237                                      AIDA::ITuple*& tObj );
00238 
00239   
00245   virtual StatusCode findObject( const std::string& fullPath,
00246                                  AIDA::ITuple*& tObj );
00247   
00254   virtual StatusCode findObject( IRegistry* pDirectory,
00255                                  const std::string& path,
00256                                  AIDA::ITuple*& tObj );
00257 
00264   virtual StatusCode findObject( const std::string& parentPath,
00265                                  const std::string& objPath,
00266                                  AIDA::ITuple*& tObj );
00267 
00274   virtual StatusCode findObject( DataObject* parentObj,
00275                                  const std::string& objPath,
00276                                  AIDA::ITuple*& tObj );
00277 
00282   virtual void setCriteria( AIDA::ITuple*& tObj,
00283                           const std::string& criteria );
00284 
00286   virtual StatusCode myTest();
00287 
00289   //virtual std::string storeName(AIDA::ITuple*& tObj);
00290 };
00291 
00292 #endif //AIDATUPLESVC_AIDATUPLESVC_H

Generated at Thu Jan 8 17:44:22 2009 for Gaudi Framework, version v20r4 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004