roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
file_input_stream.h
Go to the documentation of this file.
1
#pragma once
2
3
#ifdef ARDUINO
4
5
#include <FS.h>
6
7
#include "
roo_io/core/multipass_input_stream.h
"
8
#include "
roo_io/fs/mount_impl.h
"
9
10
namespace
roo_io
{
11
12
class
ArduinoFileInputStream
:
public
MultipassInputStream {
13
public
:
14
ArduinoFileInputStream
(
Status
error
);
15
16
// Use only if you know that the filesystem is and will remain mounted.
17
ArduinoFileInputStream
(fs::File
file
);
18
19
ArduinoFileInputStream
(std::shared_ptr<MountImpl> mount, fs::File
file
);
20
21
size_t
read(
byte
*
buf
,
size_t
count
)
override
;
22
23
void
seek(
uint64_t
offset
)
override
;
24
25
void
skip(
uint64_t
count
)
override
;
26
27
uint64_t
position()
const override
{
return
file_
.position(); }
28
29
uint64_t
size()
override
{
return
file_
.size(); }
30
31
bool
isOpen()
const override
{
return
file_
.operator
bool
(); }
32
33
void
close()
override
;
34
35
Status
status()
const override
{
return
status_; }
36
37
private
:
38
std::shared_ptr<MountImpl> mount_;
39
fs::File
file_
;
40
Status
status_;
41
};
42
43
}
// namespace roo_io
44
45
#endif
// ARDUINO
mount_impl.h
multipass_input_stream.h
roo_io
Definition
byte.h:6
roo_io::basic_string_view
roo::basic_string_view< CharT, Traits > basic_string_view
Definition
string_view.h:8
roo_io::count
size_t count
Definition
compare.h:45
roo_io::Status
Status
Definition
status.h:7
temp_repos
roo_io
src
roo_io
fs
arduino
file_input_stream.h
Generated by
1.9.8