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