21 std::unique_ptr<MountImpl>
mount;
29 if (unmount_fn_ !=
nullptr) unmount_fn_();
48 virtual std::unique_ptr<DirectoryImpl>
opendir(
49 std::shared_ptr<MountImpl> mount,
const char* path) = 0;
51 virtual std::unique_ptr<MultipassInputStream>
fopen(
52 std::shared_ptr<MountImpl> mount,
const char* path) = 0;
55 std::shared_ptr<MountImpl> mount,
const char* path,
68 std::function<
void()> unmount_fn_;
MountImpl(std::function< void()> unmount_fn)
virtual std::unique_ptr< MultipassInputStream > fopen(std::shared_ptr< MountImpl > mount, const char *path)=0
static MountResult MountError(Status status)
virtual std::unique_ptr< OutputStream > fopenForWrite(std::shared_ptr< MountImpl > mount, const char *path, FileUpdatePolicy update_policy)=0
virtual Status rmdir(const char *path)=0
virtual Stat stat(const char *path) const =0
virtual bool active() const =0
static MountResult Mounted(std::unique_ptr< MountImpl > mount_impl)
virtual Status remove(const char *path)=0
virtual std::unique_ptr< DirectoryImpl > opendir(std::shared_ptr< MountImpl > mount, const char *path)=0
virtual bool isReadOnly() const =0
virtual Status rename(const char *pathFrom, const char *pathTo)=0
virtual Status mkdir(const char *path)=0
virtual void deactivate()=0
std::unique_ptr< DirectoryImpl > DirectoryError(Status error)
roo::basic_string_view< CharT, Traits > basic_string_view
std::unique_ptr< OutputStream > OutputError(Status error)
std::unique_ptr< MultipassInputStream > InputError(Status error)
std::unique_ptr< MountImpl > mount