Go to the documentation of this file.
4 #ifndef DMLITE_CPP_INODE_H
5 #define DMLITE_CPP_INODE_H
7 #include "dmlite/common/config.h"
133 virtual void symlink(ino_t inode,
const std::string &link) ;
145 virtual void move(ino_t inode, ino_t dest) ;
150 virtual void rename(ino_t inode,
const std::string& name) ;
168 const std::string& name) ;
177 const std::string& name) ;
218 const struct utimbuf* buf) ;
227 virtual void setMode(ino_t inode, uid_t uid, gid_t gid, mode_t mode,
233 virtual void setSize(ino_t inode,
size_t size) ;
239 virtual void setChecksum(ino_t inode,
const std::string& csumtype,
240 const std::string& csumvalue) ;
251 const std::string& comment) ;
261 const std::string& guid) ;
337 #endif // DMLITE_CPP_INODE_H
std::string guid
Definition: inode.h:39
virtual ExtendedStat extendedStat(ino_t inode)
virtual struct dirent * readDir(IDirectory *dir)
@ kToBeDeleted
Definition: inode.h:74
@ kSecondary
Definition: inode.h:80
virtual INode * createINode(PluginManager *pm)
Instantiate a implementation of INode.
virtual void setGuid(ino_t inode, const std::string &guid)
int getchecksum(std::string &cktype, std::string &ckvalue)
Exceptions used by the API.
@ kBeingPopulated
Definition: inode.h:73
Base class for factories.
Definition: base.h:48
ReplicaStatus
Definition: inode.h:72
ReplicaType
Definition: inode.h:76
Extensible types (hold metadata).
int64_t replicaid
Definition: inode.h:83
virtual void setSize(ino_t inode, size_t size)
bool operator<(const SymLink &) const
std::string csumtype
Definition: inode.h:40
Utility methods for checksum handling.
FileStatus status
Definition: inode.h:37
@ kPermanent
Definition: inode.h:77
std::string csumvalue
Definition: inode.h:41
bool operator==(const ExtendedStat &) const
virtual void deleteComment(ino_t inode)
virtual void rename(ino_t inode, const std::string &name)
std::string setname
Definition: inode.h:97
virtual DmStatus extendedStat(ExtendedStat &xstat, ino_t inode)
ReplicaStatus status
Definition: inode.h:91
~InodeTrans()
Definition: inode.h:318
FileStatus
Definition: inode.h:30
virtual void addReplica(const Replica &replica)
Security functionality shared between modules.
virtual ExtendedStat create(const ExtendedStat &f)
int64_t fileid
Definition: inode.h:84
bool operator<(const ExtendedStat &) const
bool operator!=(const ExtendedStat &) const
virtual std::string getComment(ino_t inode)
bool operator>(const SymLink &) const
ReplicaPS rtype
Definition: inode.h:93
Symbolic link.
Definition: inode.h:60
virtual void move(ino_t inode, ino_t dest)
virtual Replica getReplica(int64_t rid)
@ kPrimary
Definition: inode.h:79
virtual void unlink(ino_t inode)
bool operator<(const Replica &) const
Helpful typedef for KeyValue containers.
Definition: extensible.h:20
virtual void begin(void)
Start a transaction.
INode * obj
Definition: inode.h:329
virtual void rollback(void)
Rollback changes.
ReplicaPS
Definition: inode.h:79
time_t ltime
Definition: inode.h:89
virtual SymLink readLink(ino_t inode)
virtual ~INodeFactory()
Destructor.
virtual void setMode(ino_t inode, uid_t uid, gid_t gid, mode_t mode, const Acl &acl)
time_t atime
Definition: inode.h:87
virtual void deleteReplica(const Replica &replica)
ino_t parent
Definition: inode.h:35
virtual ExtendedStat extendedStat(const std::string &guid)
Acl acl
Definition: inode.h:42
ReplicaType type
Definition: inode.h:92
File/directory metadata.
Definition: inode.h:29
virtual IDirectory * openDir(ino_t inode)
virtual DmStatus extendedStat(ExtendedStat &xstat, ino_t parent, const std::string &name)
Typedef for directories.
Definition: inode.h:26
virtual std::vector< Replica > getReplicas(ino_t inode)
time_t ptime
Definition: inode.h:88
virtual void commit(void)
Commit a transaction.
@ kAvailable
Definition: inode.h:72
virtual ExtendedStat * readDirx(IDirectory *dir)
void Commit()
Definition: inode.h:323
CatalogInterface can only be instantiated through this class.
Definition: dmlite.h:42
std::string server
Definition: inode.h:99
static INode * createINode(INodeFactory *factory, PluginManager *pm)
Children of INodeFactory are allowed to instantiate too (decorator)
Convenience class that releases a resource on destruction.
Definition: inode.h:310
virtual void symlink(ino_t inode, const std::string &link)
INodeFactory.
Definition: inode.h:289
@ kMigrated
Definition: inode.h:31
@ kVolatile
Definition: inode.h:76
bool operator==(const SymLink &) const
struct stat stat
Definition: inode.h:36
virtual void updateExtendedAttributes(ino_t inode, const Extensible &attr)
virtual void utime(ino_t inode, const struct utimbuf *buf)
@ kOnline
Definition: inode.h:30
bool operator>(const ExtendedStat &) const
bool operator!=(const SymLink &) const
virtual Replica getReplica(const std::string &rfn)
File replica metadata.
Definition: inode.h:71
virtual void updateReplica(const Replica &replica)
virtual ExtendedStat extendedStat(ino_t parent, const std::string &name)
virtual void closeDir(IDirectory *dir)
Base class for interfaces.
Definition: base.h:18
std::string name
Definition: inode.h:38
InodeTrans(INode *o)
Definition: inode.h:312
Namespace for the dmlite C++ API.
Definition: authn.h:16
bool operator==(const Replica &) const
bool operator>(const Replica &) const
bool operator!=(const Replica &) const
virtual void setComment(ino_t inode, const std::string &comment)
std::string rfn
Definition: inode.h:100
Status objects used by the API.
@ kDeleted
Definition: inode.h:32
virtual void setChecksum(ino_t inode, const std::string &csumtype, const std::string &csumvalue)
Definition: security.h:51
virtual ~INode()
Destructor.
ino_t inode
Definition: inode.h:61
int64_t nbaccesses
Definition: inode.h:86
std::string link
Definition: inode.h:62