| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

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 */
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:58:04 2011 for GaudiUtils by doxygen 1.4.7