roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
directory.cpp
Go to the documentation of this file.
1
#include "
roo_io/fs/directory.h
"
2
3
#include "
roo_io/fs/directory_impl.h
"
4
5
namespace
roo_io
{
6
7
Directory::Directory
(
Status
status) : status_(status) {}
8
9
void
Directory::close
() {
10
if
(status_ ==
kClosed
)
return
;
11
if
(status_ !=
kOk
&& status_ !=
kEndOfStream
)
return
;
12
dir_->close();
13
if
(
isOpen
()) {
14
status_ = dir_->status();
15
}
16
}
17
18
const
char
*
Directory::path
()
const
{
19
return
status_ !=
kOk
?
""
: dir_->path();
20
}
21
22
// const char* Directory::name() const {
23
// return status_ != kOk ? "" : dir_->name();
24
// }
25
26
void
Directory::rewind
() {
27
if
(!
isOpen
())
return
;
28
dir_->rewind();
29
status_ = dir_->status();
30
}
31
32
bool
Directory::read
() {
33
if
(
status
() !=
kOk
)
return
false
;
34
bool
result
= dir_->read(entry_);
35
if
(!
result
) {
36
status_ = dir_->status();
37
}
38
return
result
;
39
}
40
41
Directory::Directory
(std::unique_ptr<DirectoryImpl>
dir
)
42
: dir_(
std
::
move
(
dir
)),
43
status_(dir_ ==
nullptr
?
kClosed
: dir_->status()) {}
44
45
void
Directory::Entry::set(
const
char
* path,
int
name_offset
,
bool
is_dir
) {
46
path_ =
path
;
47
name_ =
path
+
name_offset
;
48
is_dir_ =
is_dir
;
49
}
50
51
}
// namespace roo_io
roo_io::Directory::Entry::path
const char * path() const
Definition
directory.h:34
roo_io::Directory::path
const char * path() const
Definition
directory.cpp:18
roo_io::Directory::read
bool read()
Definition
directory.cpp:32
roo_io::Directory::isOpen
bool isOpen() const
Definition
directory.h:73
roo_io::Directory::close
void close()
Definition
directory.cpp:9
roo_io::Directory::status
Status status() const
Definition
directory.h:84
roo_io::Directory::Directory
Directory(Status status=kClosed)
Definition
directory.cpp:7
roo_io::Directory::rewind
void rewind()
Definition
directory.cpp:26
directory.h
directory_impl.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::Status
Status
Definition
status.h:7
roo_io::kOk
@ kOk
Definition
status.h:8
roo_io::kClosed
@ kClosed
Definition
status.h:10
roo_io::kEndOfStream
@ kEndOfStream
Definition
status.h:9
std
Definition
mac_address.h:80
temp_repos
roo_io
src
roo_io
fs
directory.cpp
Generated by
1.9.8