roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
mount.h
Go to the documentation of this file.
1#pragma once
2
3#ifdef ARDUINO
4
5#include <FS.h>
6
7#include <functional>
8
12
13namespace roo_io {
14
15class ArduinoMountImpl : public MountImpl {
16 public:
17 ArduinoMountImpl(FS& fs, bool read_only, std::function<void()> unmount_fn);
18
19 bool isReadOnly() const override;
20
21 Stat stat(const char* path) const override;
22
23 Status remove(const char* path) override;
24
25 Status rename(const char* pathFrom, const char* pathTo) override;
26
27 Status mkdir(const char* path) override;
28
29 Status rmdir(const char* path) override;
30
31 std::unique_ptr<DirectoryImpl> opendir(std::shared_ptr<MountImpl> mount,
32 const char* path) override;
33
34 std::unique_ptr<MultipassInputStream> fopen(std::shared_ptr<MountImpl> mount,
35 const char* path) override;
36
37 std::unique_ptr<OutputStream> fopenForWrite(
38 std::shared_ptr<MountImpl> mount, const char* path,
40
41 bool active() const override { return active_; }
42
43 void deactivate() override;
44
45 private:
46 FS& fs_;
47 bool active_;
48 bool read_only_;
49};
50
51} // namespace roo_io
52
53#endif // ARDUINO
Definition byte.h:6
roo::basic_string_view< CharT, Traits > basic_string_view
Definition string_view.h:8
Status
Definition status.h:7