![]() |
|
|
Generated: 8 Jan 2009 |
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 */