CMS 3D CMS Logo

PFNCatalog.h

Go to the documentation of this file.
00001 #ifndef POOL_PFNCATALOG_H
00002 #define POOL_PFNCATALOG_H
00003 #ifndef POOL_FCIMPL_H
00004 #include "FileCatalog/FCImpl.h"
00005 #endif
00006 #ifndef FCBUF_H
00007 #include "FileCatalog/FCBuf.h"
00008 #endif
00009 
00010 namespace pool 
00011 {
00033 class PFNCatalog : public FCImpl 
00034 {
00035 public:
00036     PFNCatalog ();
00037     virtual ~PFNCatalog ();
00038 
00043     virtual void connect();
00044 
00045     virtual void disconnect() const;
00046     virtual void start() const;
00047     virtual void commit(FileCatalog::CommitMode cm=FileCatalog::REFRESH) const;
00048     virtual void rollback() const;  
00049     virtual void registerPFN(const std::string& pfn, 
00050                              const std::string& filetype,
00051                              FileCatalog::FileID& fid ) const;   
00052     virtual void registerLFN(const std::string& pfn, 
00053                              const std::string& lfn) const;
00054     virtual void addReplicaPFN(const std::string& pfn, 
00055                                const std::string& rpf) const;
00056     virtual void addPFNtoGuid(const FileCatalog::FileID& guid, 
00057                               const std::string& pf, 
00058                               const std::string& filetype) const;
00059     virtual void renamePFN(const std::string& pfn, 
00060                            const std::string& newpfn) const;
00068     virtual void lookupFileByPFN(const std::string& pfn, 
00069                                  FileCatalog::FileID& fid, 
00070                                  std::string& ftype) const;
00071     virtual void lookupFileByLFN(const std::string& lfn, 
00072                                  FileCatalog::FileID& fid) const;
00073 
00082     virtual void lookupBestPFN(const FileCatalog::FileID& fid, 
00083                                const FileCatalog::FileOpenMode& omode,
00084                                const FileCatalog::FileAccessPattern& amode,
00085                                std::string& pfn,
00086                                std::string& filetype) const; 
00087     virtual void insertPFN(PFNEntry& pentry) const;
00088     virtual void insertLFN(LFNEntry& lentry) const;
00089     virtual void deletePFN(const std::string& pfn) const;
00090     virtual void deleteLFN(const std::string& lfn) const;
00091     virtual void deleteEntry(const FileCatalog::FileID& guid) const;
00092 
00093     virtual bool isReadOnly() const;
00094  
00095     virtual bool retrievePFN(const std::string& query, 
00096                              FCBuf<PFNEntry>& buf, 
00097                              const size_t& start );
00098     virtual bool retrieveLFN(const std::string& query, 
00099                              FCBuf<LFNEntry>& buf, 
00100                              const size_t& start );
00101     virtual bool retrieveGuid(const std::string& query, 
00102                               FCBuf<FileCatalog::FileID>& buf, 
00103                               const size_t& start );
00104 
00105 private:
00106     std::string m_filetype;
00107 
00108 };
00109     
00110 
00111 }
00112 
00113 
00114 #endif

Generated on Tue Jun 9 17:39:08 2009 for CMSSW by  doxygen 1.5.4