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
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