gctf2023/pwn/flipper/dist/common/include/fs/Path.h
2023-11-24 13:11:34 -05:00

29 lines
620 B
C++

#pragma once
#include "types.h"
#include "ustring.h"
class Dentry;
class VfsMount;
class Path
{
public:
Path() = default;
Path(Dentry* dentry, VfsMount* mnt);
Path(const Path&) = default;
Path& operator=(const Path&) = default;
bool operator==(const Path&) const;
Path parent(const Path* global_root = nullptr) const;
int child(const ustl::string& name, Path& out) const;
ustl::string getAbsolutePath(const Path* global_root = nullptr) const;
bool isGlobalRoot(const Path* global_root = nullptr) const;
bool isMountRoot() const;
Dentry* dentry_;
VfsMount* mnt_;
};