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

# INTupleSvc.h

Go to the documentation of this file.

    00001 #ifndef GAUDIKERNEL_INTUPLESVC_H
    00002 #define GAUDIKERNEL_INTUPLESVC_H
    00003
    00004 // Framework include files
    00005 #include "GaudiKernel/IDataProviderSvc.h"
    00006 #include "GaudiKernel/ClassID.h"
    00007
    00008
    00009 // Forward declarations
    00010 namespace NTuple    {
    00011   class Tuple;
    00012   class Directory;
    00013 }
    00014
    00015 // Declaration of the interface ID ( interface id, major version, minor version)
    00016 static const InterfaceID IID_INTupleSvc(120, 1 , 0);
    00017
    00018
    00041 class INTupleSvc : virtual public IDataProviderSvc          {
    00042   public:
    00044   static const InterfaceID& interfaceID() { return IID_INTupleSvc; }
    00046   virtual StatusCode create(const CLID& typ, const std::string& title, NTuple::Tuple*& refpTuple) = 0;
    00056   virtual NTuple::Tuple* book (const std::string& fullPath, const CLID& type, const std::string& title) = 0;
    00068   virtual NTuple::Tuple* book (const std::string& dirPath, const std::string& relPath, const CLID& type, const std::string& title) = 0;
    00079   virtual NTuple::Tuple* book (const std::string& dirPath, long id, const CLID& type, const std::string& title) = 0;
    00091   virtual NTuple::Tuple* book (DataObject* pParent, const std::string& relPath, const CLID& type, const std::string& title) = 0;
    00101   virtual NTuple::Tuple* book (DataObject* pParent, long id, const CLID& type, const std::string& title) = 0;
    00109   virtual NTuple::Directory* createDirectory (DataObject* pParent, const std::string& title) = 0;
    00117   virtual NTuple::Directory* createDirectory (DataObject* pParent, long id) = 0;
    00125   virtual NTuple::Directory* createDirectory (const std::string& dirPath, long id) = 0;
    00133   virtual NTuple::Directory* createDirectory (const std::string& dirPath, const std::string& title) = 0;
    00138   virtual NTuple::Directory* createDirectory (const std::string& fullPath) = 0;
    00144   virtual NTuple::Tuple* access(const std::string& fullPath, const std::string& filename) = 0;
    00145
    00150   virtual StatusCode save(const std::string& fullPath) = 0;
    00151
    00156   virtual StatusCode save(NTuple::Tuple* tuple) = 0;
    00157
    00164   virtual StatusCode save(DataObject* pParent, const std::string& relPath) = 0;
    00165
    00170   virtual StatusCode writeRecord( NTuple::Tuple* tuple) = 0;
    00171
    00176   virtual StatusCode writeRecord(const std::string& fullPath) = 0;
    00177
    00184   virtual StatusCode writeRecord( DataObject* pParent, const std::string& relPath) = 0;
    00185
    00190   virtual StatusCode readRecord(NTuple::Tuple* tuple) = 0;
    00191
    00196   virtual StatusCode readRecord(const std::string& fullPath) = 0;
    00197
    00204   virtual StatusCode readRecord(DataObject* pParent, const std::string& relPath) = 0;
    00205
    00206 };
    00207
    00208 #endif // INTERFACES_INTUPLESVC_H