4 #ifndef DMLITE_CPP_CATALOG_H 5 #define DMLITE_CPP_CATALOG_H 7 #include "dmlite/common/config.h" 37 virtual void changeDir(
const std::string& path) ;
48 bool followSym =
true) ;
56 const std::string& path,
57 bool followSym =
true) ;
69 virtual bool access(
const std::string& path,
int mode) ;
76 virtual bool accessReplica(
const std::string& replica,
int mode) ;
89 virtual std::vector<Replica>
getReplicas(
const std::string& path) ;
94 virtual void symlink(
const std::string& path,
100 virtual std::string
readLink(
const std::string& path) ;
104 virtual void unlink(
const std::string& path) ;
109 virtual void create(
const std::string& path,
115 virtual mode_t
umask(mode_t mask);
120 virtual void setMode(
const std::string& path,
128 virtual void setOwner(
const std::string& path, uid_t newUid, gid_t newGid,
129 bool followSymLink =
true) ;
134 virtual void setSize(
const std::string& path,
142 const std::string& csumtype,
143 const std::string& csumvalue) ;
152 const std::string& csumtype,
153 std::string& csumvalue,
154 const std::string& pfn,
const bool forcerecalc =
false,
const int waitsecs = 0) ;
159 virtual void setAcl(
const std::string& path,
165 virtual void utime(
const std::string& path,
166 const struct utimbuf* buf) ;
171 virtual std::string
getComment(
const std::string& path) ;
176 virtual void setComment(
const std::string& path,
177 const std::string& comment) ;
182 virtual void setGuid(
const std::string& path,
183 const std::string &guid) ;
213 virtual void makeDir(
const std::string& path,
219 virtual void rename(
const std::string& oldPath,
220 const std::string& newPath) ;
224 virtual void removeDir(
const std::string& path) ;
256 #endif // DMLITE_CPP_CATALOG_H virtual ExtendedStat extendedStat(const std::string &path, bool followSym=true)
virtual void makeDir(const std::string &path, mode_t mode)
Base class for interfaces.
Definition: base.h:18
virtual bool access(const std::string &path, int mode)
virtual ExtendedStat extendedStatByRFN(const std::string &rfn)
Plug-ins must implement a concrete factory to be instantiated.
Definition: catalog.h:237
virtual ~CatalogFactory()
Virtual destructor.
virtual Directory * openDir(const std::string &path)
virtual std::string getWorkingDir(void)
virtual void setMode(const std::string &path, mode_t mode)
virtual struct dirent * readDir(Directory *dir)
virtual std::string getComment(const std::string &path)
CatalogInterface can only be instantiated through this class.
Definition: dmlite.h:42
virtual void rename(const std::string &oldPath, const std::string &newPath)
virtual void changeDir(const std::string &path)
virtual bool accessReplica(const std::string &replica, int mode)
Interface for Catalog (Namespaces).
Definition: catalog.h:30
virtual void setGuid(const std::string &path, const std::string &guid)
virtual void setOwner(const std::string &path, uid_t newUid, gid_t newGid, bool followSymLink=true)
static Catalog * createCatalog(CatalogFactory *factory, PluginManager *pm)
Children of CatalogFactory are allowed to instantiate too (decorator)
virtual std::string readLink(const std::string &path)
virtual void deleteReplica(const Replica &replica)
Exceptions used by the API.
virtual void addReplica(const Replica &replica)
Base class for factories.
Definition: base.h:48
virtual void setSize(const std::string &path, size_t newSize)
virtual void setAcl(const std::string &path, const Acl &acl)
virtual void unlink(const std::string &path)
virtual void closeDir(Directory *dir)
virtual void create(const std::string &path, mode_t mode)
Extensible types (hold metadata).
File replica metadata.
Definition: inode.h:73
File/directory metadata.
Definition: inode.h:29
virtual void setChecksum(const std::string &path, const std::string &csumtype, const std::string &csumvalue)
Status objects used by the API.
virtual std::vector< Replica > getReplicas(const std::string &path)
Helpful typedef for KeyValue containers.
Definition: extensible.h:20
virtual ~Catalog()
Destructor.
Definition: security.h:52
virtual void symlink(const std::string &path, const std::string &symlink)
virtual void setComment(const std::string &path, const std::string &comment)
virtual void getChecksum(const std::string &path, const std::string &csumtype, std::string &csumvalue, const std::string &pfn, const bool forcerecalc=false, const int waitsecs=0)
virtual void removeDir(const std::string &path)
virtual void utime(const std::string &path, const struct utimbuf *buf)
virtual void updateExtendedAttributes(const std::string &path, const Extensible &attr)
virtual ExtendedStat * readDirx(Directory *dir)
Namespace for the dmlite C++ API.
Definition: authn.h:16
virtual void updateReplica(const Replica &replica)
virtual Replica getReplicaByRFN(const std::string &rfn)
virtual mode_t umask(mode_t mask)
Typedef for directories.
Definition: catalog.h:27