00001
00002
00003
00004
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
00013 class DummyCatalog: public Catalog
00014 {
00015 public:
00016
00017
00018
00019 DummyCatalog(Catalog* decorated) throw (DmException);
00020
00021
00022 virtual ~DummyCatalog();
00023
00024
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 virtual ExtendedStat extendedStatByRFN(const std::string& rfn) throw (DmException);
00033
00034 virtual bool access(const std::string& path, int mode) throw (DmException);
00035 virtual bool accessReplica(const std::string& replica, int mode) throw (DmException);
00036
00037 virtual void addReplica (const Replica&) throw (DmException);
00038 virtual void deleteReplica(const Replica&) throw (DmException);
00039 virtual std::vector<Replica> getReplicas(const std::string&) throw (DmException);
00040
00041 virtual void symlink (const std::string&, const std::string&) throw (DmException);
00042 std::string readLink(const std::string& path) throw (DmException);
00043
00044 virtual void unlink(const std::string&) throw (DmException);
00045
00046 virtual void create(const std::string&, mode_t) throw (DmException);
00047
00048 virtual mode_t umask (mode_t) throw ();
00049 virtual void setMode (const std::string&, mode_t) throw (DmException);
00050 virtual void setOwner (const std::string&, uid_t, gid_t, bool) throw (DmException);
00051
00052 virtual void setSize (const std::string&, size_t) throw (DmException);
00053 virtual void setChecksum(const std::string&, const std::string&, const std::string&) throw (DmException);
00054
00055 virtual void setAcl(const std::string&, const Acl&) throw (DmException);
00056
00057 virtual void utime(const std::string&, const struct utimbuf*) throw (DmException);
00058
00059 virtual std::string getComment(const std::string&) throw (DmException);
00060 virtual void setComment(const std::string&,
00061 const std::string&) throw (DmException);
00062
00063 virtual void setGuid(const std::string&,
00064 const std::string&) throw (DmException);
00065
00066 virtual void updateExtendedAttributes(const std::string&,
00067 const Extensible&) throw (DmException);
00068
00069
00070 virtual Directory* openDir (const std::string&) throw (DmException);
00071 virtual void closeDir(Directory*) throw (DmException);
00072
00073 virtual struct dirent* readDir (Directory*) throw (DmException);
00074 virtual ExtendedStat* readDirx(Directory*) throw (DmException);
00075
00076 virtual void makeDir(const std::string&, mode_t) throw (DmException);
00077
00078 virtual void rename (const std::string&, const std::string&) throw (DmException);
00079 virtual void removeDir (const std::string&) throw (DmException);
00080
00081 virtual Replica getReplicaByRFN(const std::string& rfn) throw (DmException);
00082 virtual void updateReplica(const Replica& replica) throw (DmException);
00083
00084 protected:
00085 Catalog* decorated_;
00086 };
00087
00088 };
00089
00090 #endif // DMLITE_DUMMY_CATALOG_H