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

# IFileCatalog.h

Go to the documentation of this file.

    00001 #ifndef GAUDIFILECATALOG_IFILECATALOG_H
    00002 #define GAUDIFILECATALOG_IFILECATALOG_H
    00003 // $ID:$
    00004
    00005 #include "GaudiKernel/IInterface.h"
    00006 #include <string>
    00007 #include <vector>
    00008 #include <utility>
    00009
    00010 // Declaration of the interface ID ( interface id, major version, minor version)
    00011 static const InterfaceID IID_IFileCatalog("IFileCatalog", 1, 0);
    00012
    00013 /*
    00014  *   Gaudi namespace declaration
    00015  */
    00016 namespace Gaudi {
    00017
    00027   class IFileCatalog : virtual public IInterface {
    00028
    00029   public:
    00031     typedef std::pair<std::string,std::string>  NamedItem;
    00032     typedef std::vector<NamedItem>              Attributes;
    00033     typedef std::vector<NamedItem>              Files;
    00034     typedef std::vector<std::string>            Strings;
    00035
    00036   public:
    00038     static const InterfaceID& interfaceID() { return IID_IFileCatalog; }
    00040
    00041     virtual std::string createFID() const = 0;
    00043     virtual const std::string& connectInfo() const = 0;
    00045     virtual void init() = 0;
    00047     virtual void commit() = 0;
    00049     virtual void rollback() = 0;
    00051     virtual bool readOnly()  const = 0;
    00053     virtual bool dirty() const = 0;
    00055     virtual void getPFN(const std::string& fid, Files& files) const = 0;
    00057     virtual void getLFN(const std::string& fid, Files& files) const = 0;
    00059     virtual void getFID(Strings& fids) const = 0;
    00061     virtual bool existsPFN(const std::string& pfn)  const = 0;
    00063     virtual std::string lookupPFN(const std::string& lfn)  const = 0;
    00065     virtual bool existsLFN(const std::string& lfn) const = 0;
    00067     virtual std::string lookupLFN(const std::string& lfn)  const = 0;
    00069     virtual bool existsFID(const std::string& fid)  const = 0;
    00071     virtual void deleteFID(const std::string& FileID) const = 0;
    00073     virtual void registerPFN(const std::string& fid, const std::string& pfn, const std::string& ftype) const = 0;
    00075     virtual void registerLFN(const std::string& fid, const std::string& lfn) const = 0;
    00077     virtual void registerFID(const std::string& fid) const = 0;
    00079     virtual void getMetaData(const std::string& fid, Attributes& attr) const = 0;
    00081     virtual std::string getMetaDataItem(const std::string& fid, const std::string& name) const = 0;
    00083     virtual void setMetaData(const std::string& fid, const std::string& name, const std::string& value) const = 0;
    00085     virtual void dropMetaData(const std::string& fid) const = 0;
    00087     virtual void dropMetaData(const std::string& fid, const std::string& attr) const = 0;
    00088   };
    00089 }         /* End namespace Gaudi             */
    00090 #endif    /* GAUDIFILECATALOG_IFILECATALOG_H */