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

# 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