FreeNOS
lib
libapp
BufferedFile.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2020 Niek Linnenbank
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef __LIB_LIBAPP_BUFFEREDFILE_H
19
#define __LIB_LIBAPP_BUFFEREDFILE_H
20
21
#include <
Types.h
>
22
34
class
BufferedFile
35
{
36
public
:
37
41
enum
Result
42
{
43
Success
,
44
NotFound
,
45
IOError
,
46
};
47
48
public
:
49
53
BufferedFile
(
const
char
*
path
);
54
58
~BufferedFile
();
59
65
const
char
*
path
()
const
;
66
72
const
void
*
buffer
()
const
;
73
79
const
Size
size
()
const
;
80
86
Result
read
();
87
98
Result
write
(
const
void
*data,
const
Size
size
)
const
;
99
100
private
:
101
103
const
char
*
m_path
;
104
106
u8
*
m_buffer
;
107
109
Size
m_size
;
110
};
111
117
#endif
/* __LIB_LIBAPP_BUFFEREDFILE_H */
BufferedFile
Provides a buffered abstract interface to a file.
Definition:
BufferedFile.h:34
BufferedFile::~BufferedFile
~BufferedFile()
Destructor.
Definition:
BufferedFile.cpp:35
Types.h
BufferedFile::NotFound
@ NotFound
Definition:
BufferedFile.h:44
BufferedFile::Result
Result
Result codes.
Definition:
BufferedFile.h:41
BufferedFile::write
Result write(const void *data, const Size size) const
Write the file (unbuffered)
Definition:
BufferedFile.cpp:99
BufferedFile::buffer
const void * buffer() const
Get file buffer.
Definition:
BufferedFile.cpp:48
BufferedFile::read
Result read()
Read the file (buffered)
Definition:
BufferedFile.cpp:58
BufferedFile::m_size
Size m_size
Size of the file in bytes.
Definition:
BufferedFile.h:109
BufferedFile::BufferedFile
BufferedFile(const char *path)
Constructor.
Definition:
BufferedFile.cpp:28
Size
unsigned int Size
Any sane size indicator cannot go negative.
Definition:
Types.h:128
BufferedFile::size
const Size size() const
Get file size.
Definition:
BufferedFile.cpp:53
u8
unsigned char u8
Unsigned 8-bit number.
Definition:
Types.h:59
BufferedFile::Success
@ Success
Definition:
BufferedFile.h:43
BufferedFile::m_buffer
u8 * m_buffer
Stored contents of the file.
Definition:
BufferedFile.h:106
BufferedFile::IOError
@ IOError
Definition:
BufferedFile.h:45
BufferedFile::m_path
const char * m_path
Path to the file.
Definition:
BufferedFile.h:103
BufferedFile::path
const char * path() const
Get file path.
Definition:
BufferedFile.cpp:43
Generated by
1.8.17