DummyCatalog.h

Go to the documentation of this file.
00001 /// @file    include/dmlite/cpp/dummy/DummyCatalog.h
00002 /// @brief   A dummy plugin that just delegates calls to a decorated one.
00003 /// @details It makes sense as a base for other decorator plug-ins.
00004 /// @author  Alejandro Álvarez Ayllón <aalvarez@cern.ch>
00005 #ifndef DMLITE_CPP_DUMMY_CATALOG_H
00006 #define DMLITE_CPP_DUMMY_CATALOG_H
00007 
00008 #include "../catalog.h"
00009 
00010 namespace dmlite {
00011 
00012   // Dummmy catalog implementation
00013   class DummyCatalog: public Catalog
00014   {
00015    public:
00016 
00017     /// Constructor
00018     /// @param decorated The underlying decorated catalog.
00019     DummyCatalog(Catalog* decorated) throw (DmException);
00020 
00021     /// Destructor
00022     virtual ~DummyCatalog();
00023 
00024     // Overloading
00025     virtual void setStackInstance(StackInstance*) throw (DmException);
00026     virtual void setSecurityContext(const SecurityContext*) throw (DmException);
00027 
00028     virtual void        changeDir     (const std::string&) throw (DmException);
00029     virtual std::string getWorkingDir (void)               throw (DmException);
00030 
00031     virtual ExtendedStat extendedStat(const std::string&, bool) throw (DmException);
00032 
00033     virtual void addReplica   (const Replica&) throw (DmException);
00034     virtual void deleteReplica(const Replica&) throw (DmException);
00035     virtual std::vector<Replica> getReplicas(const std::string&) throw (DmException);
00036 
00037     virtual void symlink (const std::string&, const std::string&) throw (DmException);
00038     std::string  readLink(const std::string& path) throw (DmException);
00039     
00040     virtual void unlink(const std::string&)                     throw (DmException);
00041 
00042     virtual void create(const std::string&, mode_t) throw (DmException);
00043 
00044     virtual mode_t umask       (mode_t)                           throw ();
00045     virtual void   setMode     (const std::string&, mode_t)       throw (DmException);
00046     virtual void   setOwner    (const std::string&, uid_t, gid_t, bool) throw (DmException);
00047 
00048     virtual void setSize    (const std::string&, size_t) throw (DmException);
00049     virtual void setChecksum(const std::string&, const std::string&, const std::string&) throw (DmException);
00050 
00051     virtual void setAcl(const std::string&, const Acl&) throw (DmException);
00052 
00053     virtual void utime(const std::string&, const struct utimbuf*) throw (DmException);
00054 
00055     virtual std::string getComment(const std::string&)                     throw (DmException);
00056     virtual void        setComment(const std::string&,
00057                                    const std::string&) throw (DmException);
00058 
00059     virtual void setGuid(const std::string&,
00060                          const std::string&) throw (DmException);
00061     
00062     virtual void updateExtendedAttributes(const std::string&,
00063                                           const Extensible&) throw (DmException);
00064 
00065 
00066     virtual Directory* openDir (const std::string&) throw (DmException);
00067     virtual void       closeDir(Directory*)         throw (DmException);
00068 
00069     virtual struct dirent* readDir (Directory*) throw (DmException);
00070     virtual ExtendedStat*  readDirx(Directory*) throw (DmException);
00071 
00072     virtual void makeDir(const std::string&, mode_t) throw (DmException);
00073 
00074     virtual void rename     (const std::string&, const std::string&) throw (DmException);
00075     virtual void removeDir  (const std::string&)                     throw (DmException);
00076 
00077     virtual Replica getReplica   (const std::string& rfn) throw (DmException);
00078     virtual void    updateReplica(const Replica& replica) throw (DmException);
00079 
00080    protected:
00081     Catalog* decorated_;
00082   };
00083 
00084 };
00085 
00086 #endif // DMLITE_DUMMY_CATALOG_H

Generated on 3 Mar 2013 for dmlite by  doxygen 1.4.7