Go to the documentation of this file.
5 #ifndef BUILTIN_CATALOG_H
6 #define BUILTIN_CATALOG_H
36 const std::string& path,
40 bool followSym =
true) ;
45 bool access(
const std::string& path,
int mode) ;
55 void putDone(
const std::string& host,
const std::string& rfn,
56 const std::map<std::string, std::string>& params) ;
59 const std::string& newpath) ;
60 std::string
readLink(
const std::string& path) ;
62 void unlink(
const std::string& path) ;
64 void create(
const std::string& path, mode_t mode) ;
66 void makeDir (
const std::string& path, mode_t mode) ;
69 void rename(
const std::string& oldPath,
70 const std::string& newPath) ;
72 mode_t
umask(mode_t mask)
throw ();
74 void setMode (
const std::string& path, mode_t mode) ;
75 void setOwner (
const std::string& path, uid_t newUid, gid_t newGid,
76 bool followSymLink =
true) ;
78 void setSize (
const std::string& path,
size_t newSize) ;
80 void setAcl(
const std::string& path,
const Acl& acls) ;
82 void utime(
const std::string& path,
const struct utimbuf* buf) ;
86 const std::string& comment) ;
89 const std::string &guid) ;
152 void configure(
const std::string&,
const std::string&) ;
163 #endif // BUILTIN_CATALOG_H
std::string cwdPath_
Definition: Catalog.h:138
void closeDir(Directory *dir)
void unlink(const std::string &path)
Replica getReplicaByRFN(const std::string &rfn)
Typedef for directories.
Definition: catalog.h:27
void traverseBackwards(const ExtendedStat &meta)
void addFileSizeToParents(const std::string &fname, bool subtract)
std::vector< Replica > getReplicas(const std::string &path)
Location get(const std::string &path)
void changeDir(const std::string &)
Helpful typedef for KeyValue containers.
Definition: extensible.h:20
void setAcl(const std::string &path, const Acl &acls)
void updateExtendedAttributes(const std::string &path, const Extensible &attr)
Interface for Catalog (Namespaces).
Definition: catalog.h:30
Location put(const std::string &path)
Security context. To be created by the Authn.
Definition: authn.h:70
bool updateATime_
Definition: Catalog.h:157
BuiltInCatalog(bool updateATime, unsigned symLinkLimit)
IDirectory * idir
Definition: Catalog.h:16
unsigned symLinkLimit_
Definition: Catalog.h:158
Plug-ins must implement a concrete factory to be instantiated.
Definition: catalog.h:237
void deleteReplica(const Replica &replica)
std::string getImplId(void) const
String ID of the implementation.
Represent the complete location of a file.
Definition: pooldriver.h:49
File/directory metadata.
Definition: inode.h:29
bool access(const std::string &path, int mode)
std::string getComment(const std::string &path)
void putDone(const std::string &host, const std::string &rfn, const std::map< std::string, std::string > ¶ms)
bool accessReplica(const std::string &replica, int mode)
void setSize(const std::string &path, size_t newSize)
Typedef for directories.
Definition: inode.h:26
void removeDir(const std::string &path)
CatalogInterface can only be instantiated through this class.
Definition: dmlite.h:42
virtual ~BuiltInDir()
Definition: Catalog.h:16
mode_t umask_
Definition: Catalog.h:141
struct dirent * readDir(Directory *dir)
bool updateATime_
Definition: Catalog.h:142
void setMode(const std::string &path, mode_t mode)
std::string readLink(const std::string &path)
DmStatus extendedStat(ExtendedStat &xstat, const std::string &path, bool followSym)
StackInstance * si_
Definition: Catalog.h:134
void configure(const std::string &, const std::string &)
const SecurityContext * secCtx_
Definition: Catalog.h:136
void setStackInstance(StackInstance *si)
std::string getWorkingDir(void)
void rename(const std::string &oldPath, const std::string &newPath)
void utime(const std::string &path, const struct utimbuf *buf)
ExtendedStat getParent(const std::string &path, std::string *parentPath, std::string *name)
void updateAccessTime(const ExtendedStat &meta)
Update access time (if updateATime is true)
Plug-ins must implement a concrete factory to be instantiated.
Definition: Catalog.h:147
void setGuid(const std::string &path, const std::string &guid)
File replica metadata.
Definition: inode.h:71
void symlink(const std::string &oldpath, const std::string &newpath)
mode_t umask(mode_t mask)
ExtendedStat * readDirx(Directory *dir)
void setSecurityContext(const SecurityContext *)
Set the security context.
ino_t cwd_
Definition: Catalog.h:139
void addFileSizeToParents(const ExtendedStat &statinfo, bool subtract)
void addReplica(const Replica &replica)
unsigned symLinkLimit_
Definition: Catalog.h:143
Namespace for the dmlite C++ API.
Definition: authn.h:16
void setComment(const std::string &path, const std::string &comment)
ExtendedStat extendedStat(const std::string &path, bool followSym=true)
void makeDir(const std::string &path, mode_t mode)
ExtendedStat extendedStatByRFN(const std::string &rfn)
void setOwner(const std::string &path, uid_t newUid, gid_t newGid, bool followSymLink=true)
Directory * openDir(const std::string &path)
Catalog * createCatalog(PluginManager *)
Instantiate a implementation of Catalog.
Definition: security.h:51
void create(const std::string &path, mode_t mode)
void updateReplica(const Replica &replica)
ExtendedStat dir
Definition: Catalog.h:18