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