4 #ifndef DMLITE_CPP_INODE_H
5 #define DMLITE_CPP_INODE_H
50 std::string shortCsumType;
51 std::vector<std::string> keys =
getKeys();
53 for (
unsigned i = 0; i < keys.size(); ++i) {
55 std::string csumXattr = keys[i];
57 if (!shortCsumType.empty() && shortCsumType.length() <= 2) {
210 virtual void utime(ino_t inode,
220 virtual void setMode(ino_t inode, uid_t uid, gid_t gid, mode_t mode,
232 virtual void setChecksum(ino_t inode,
const std::string& csumtype,
253 virtual void setGuid(ino_t inode,
301 #endif // DMLITE_CPP_INODE_H
virtual void setChecksum(ino_t inode, const std::string &csumtype, const std::string &csumvalue)
ReplicaStatus status
Definition: inode.h:104
virtual ~INode()
Destructor.
File/directory metadata.
Definition: inode.h:28
time_t ptime
Definition: inode.h:101
time_t atime
Definition: inode.h:100
virtual ExtendedStat extendedStat(ino_t inode)
Base class for interfaces.
Definition: base.h:18
virtual ~INodeFactory()
Destructor.
Definition: security.h:51
std::string server
Definition: inode.h:107
virtual void rename(ino_t inode, const std::string &name)
bool operator<(const ExtendedStat &) const
virtual void setSize(ino_t inode, size_t size)
bool operator==(const Replica &) const
virtual ExtendedStat create(const ExtendedStat &f)
Header generated by CMake with the build configuration used.
bool operator!=(const Replica &) const
virtual void deleteComment(ino_t inode)
Base exception class.
Definition: exceptions.h:17
bool operator>(const SymLink &) const
std::string csumtype
Definition: inode.h:38
File replica metadata.
Definition: inode.h:87
virtual void addReplica(const Replica &replica)
CatalogInterface can only be instantiated through this class.
Definition: dmlite.h:42
virtual std::string getComment(ino_t inode)
std::string shortChecksumName(const std::string &cs)
virtual void move(ino_t inode, ino_t dest)
virtual Replica getReplica(int64_t rid)
void fixchecksums()
Definition: inode.h:47
std::vector< std::string > getKeys(void) const
Get all the keys available.
virtual SymLink readLink(ino_t inode)
virtual void unlink(ino_t inode)
virtual void setMode(ino_t inode, uid_t uid, gid_t gid, mode_t mode, const Acl &acl)
ino_t inode
Definition: inode.h:77
virtual void begin(void)
Start a transaction.
ino_t parent
Definition: inode.h:33
std::string guid
Definition: inode.h:37
virtual void rollback(void)
Rollback changes.
bool operator!=(const SymLink &) const
int64_t fileid
Definition: inode.h:97
INodeFactory.
Definition: inode.h:282
virtual void commit(void)
Commit a transaction.
virtual void deleteReplica(const Replica &replica)
std::string getString(const std::string &key, const std::string &defaultValue="") const
Gets a string. May perform some conversions.
Exceptions used by the API.
FileStatus status
Definition: inode.h:35
int64_t nbaccesses
Definition: inode.h:99
Helpful typedef for KeyValue containers.
Definition: extensible.h:20
bool operator==(const ExtendedStat &) const
virtual IDirectory * openDir(ino_t inode)
Base class for factories.
Definition: base.h:48
virtual std::vector< Replica > getReplicas(ino_t inode)
bool operator!=(const ExtendedStat &) const
time_t ltime
Definition: inode.h:102
virtual ExtendedStat * readDirx(IDirectory *dir)
std::string rfn
Definition: inode.h:108
virtual void utime(ino_t inode, const struct utimbuf *buf)
std::string name
Definition: inode.h:36
virtual void symlink(ino_t inode, const std::string &link)
ReplicaStatus
Definition: inode.h:88
bool isChecksumFullName(const std::string &ckey)
Tells if the given key looks like the name of a checksum.
Extensible types (hold metadata).
bool operator<(const SymLink &) const
virtual void updateExtendedAttributes(ino_t inode, const Extensible &attr)
ReplicaType
Definition: inode.h:92
int64_t replicaid
Definition: inode.h:96
Acl acl
Definition: inode.h:40
Symbolic link.
Definition: inode.h:76
virtual void updateReplica(const Replica &replica)
bool operator==(const SymLink &) const
virtual void closeDir(IDirectory *dir)
Security functionality shared between modules.
bool operator>(const ExtendedStat &) const
Utility methods for checksum handling.
bool operator>(const Replica &) const
int fillChecksumInXattr(ExtendedStat &xstat)
virtual void setComment(ino_t inode, const std::string &comment)
static INode * createINode(INodeFactory *factory, PluginManager *pm)
Children of INodeFactory are allowed to instantiate too (decorator)
struct stat stat
Definition: inode.h:34
ReplicaType type
Definition: inode.h:105
std::string csumvalue
Definition: inode.h:39
Typedef for directories.
Definition: inode.h:25
virtual struct dirent * readDir(IDirectory *dir)
bool operator<(const Replica &) const
FileStatus
Definition: inode.h:29
std::string link
Definition: inode.h:78
virtual void setGuid(ino_t inode, const std::string &guid)