roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
directory.h
Go to the documentation of this file.
1#pragma once
2
3#ifdef ARDUINO
4
5#include <memory>
6
7#include "Arduino.h"
8#include "FS.h"
11
12namespace roo_io {
13
14class ArduinoDirectoryImpl : public DirectoryImpl {
15 public:
16 ArduinoDirectoryImpl(std::shared_ptr<MountImpl> mount, fs::File file,
17 Status status);
18
19 bool close() override;
20
21#ifdef ARDUINO_ARCH_RP2040
22 const char* path() const override { return file_.fullName(); }
23#else
24 const char* path() const override { return file_.path(); }
25#endif
26
27 // const char* name() const override { return file_.name(); }
28
29 Status status() const override { return status_; }
30
31 void rewind() override;
32
33 bool read(Directory::Entry& entry) override;
34
35 private:
36 std::shared_ptr<MountImpl> mount_;
37 mutable fs::File file_;
38 fs::File entry_;
40 Status status_;
41};
42
43} // namespace roo_io
44
45#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