| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# 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 /*
    00011  *   Gaudi namespace declaration
    00012  */
    00013 namespace Gaudi {
    00014
    00024   class GAUDI_API IFileCatalog : virtual public IInterface {
    00025
    00026   public:
    00028     DeclareInterfaceID(IFileCatalog,2,0);
    00029
    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
    00037
    00038     virtual std::string createFID() const = 0;
    00040     virtual const std::string& connectInfo() const = 0;
    00042     virtual void init() = 0;
    00044     virtual void commit() = 0;
    00046     virtual void rollback() = 0;
    00048     virtual bool readOnly()  const = 0;
    00050     virtual bool dirty() const = 0;
    00052     virtual void getPFN(const std::string& fid, Files& files) const = 0;
    00054     virtual void getLFN(const std::string& fid, Files& files) const = 0;
    00056     virtual void getFID(Strings& fids) const = 0;
    00058     virtual bool existsPFN(const std::string& pfn)  const = 0;
    00060     virtual std::string lookupPFN(const std::string& lfn)  const = 0;
    00062     virtual bool existsLFN(const std::string& lfn) const = 0;
    00064     virtual std::string lookupLFN(const std::string& lfn)  const = 0;
    00066     virtual bool existsFID(const std::string& fid)  const = 0;
    00068     virtual void deleteFID(const std::string& FileID) const = 0;
    00070     virtual void registerPFN(const std::string& fid, const std::string& pfn, const std::string& ftype) const = 0;
    00072     virtual void registerLFN(const std::string& fid, const std::string& lfn) const = 0;
    00074     virtual void registerFID(const std::string& fid) const = 0;
    00076     virtual void getMetaData(const std::string& fid, Attributes& attr) const = 0;
    00078     virtual std::string getMetaDataItem(const std::string& fid, const std::string& name) const = 0;
    00080     virtual void setMetaData(const std::string& fid, const std::string& name, const std::string& value) const = 0;
    00082     virtual void dropMetaData(const std::string& fid) const = 0;
    00084     virtual void dropMetaData(const std::string& fid, const std::string& attr) const = 0;
    00085   };
    00086 }         /* End namespace Gaudi             */
    00087 #endif    /* GAUDIFILECATALOG_IFILECATALOG_H */