roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
mount_impl.cpp
Go to the documentation of this file.
2
5
6namespace roo_io {
7
9 std::unique_ptr<MountImpl> mount_impl) {
10 return MountImpl::MountResult{.status = kOk, .mount = std::move(mount_impl)};
11}
12
14 return MountImpl::MountResult{.status = status, .mount = nullptr};
15}
16
17namespace {
18
19class DirectoryErrorImpl : public DirectoryImpl {
20 public:
21 DirectoryErrorImpl(Status status) : status_(status) {}
22
23 const char* path() const override { return nullptr; }
24 // const char* name() const override { return nullptr; }
25
26 Status status() const override { return status_; }
27 bool close() override { return true; }
28 void rewind() override {}
29 bool read(Directory::Entry&) override { return false; }
30
31 private:
32 Status status_;
33};
34
35} // namespace
36
37std::unique_ptr<DirectoryImpl> DirectoryError(Status error) {
38 return std::unique_ptr<DirectoryImpl>(new DirectoryErrorImpl(error));
39}
40
41std::unique_ptr<MultipassInputStream> InputError(Status error) {
42 return std::unique_ptr<MultipassInputStream>(new NullInputStream(error));
43}
44
45std::unique_ptr<OutputStream> OutputError(Status error) {
46 return std::unique_ptr<OutputStream>(new NullOutputStream(error));
47}
48
49} // namespace roo_io
static MountResult MountError(Status status)
static MountResult Mounted(std::unique_ptr< MountImpl > mount_impl)
Definition mount_impl.cpp:8
Definition byte.h:6
std::unique_ptr< DirectoryImpl > DirectoryError(Status error)
roo::basic_string_view< CharT, Traits > basic_string_view
Definition string_view.h:8
Status
Definition status.h:7
@ kOk
Definition status.h:8
std::unique_ptr< OutputStream > OutputError(Status error)
std::unique_ptr< MultipassInputStream > InputError(Status error)