ManaPlus
src
fs
virtfs
file.h
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2017-2019 The ManaPlus Developers
4
* Copyright (C) 2019-2021 Andrei Karas
5
*
6
* This file is part of The ManaPlus Client.
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
#ifndef UTILS_VIRTFILE_H
23
#define UTILS_VIRTFILE_H
24
25
#include "
localconsts.h
"
26
27
#include "
fs/virtfs/fileapi.h
"
28
29
namespace
VirtFs
30
{
31
32
struct
FsFuncs;
33
34
struct
File
final
35
{
36
File
(
const
FsFuncs
*
restrict
const
funcs0,
37
const
uint8_t *
restrict
const
buf,
38
const
size_t
sz);
39
40
File
(
const
FsFuncs
*
restrict
const
funcs0,
41
FILEHTYPE
fd);
42
43
A_DELETE_COPY
(
File
)
44
45
~File
();
46
47
const
FsFuncs
*
funcs
;
48
49
// zipfs fields
50
const
uint8_t *
mBuf
;
51
52
// zipfs fields
53
size_t
mPos
;
54
size_t
mSize
;
55
56
// dirfs fields
57
FILEHTYPE
mFd
;
58
};
59
60
}
// namespace VirtFs
61
62
#endif
// UTILS_VIRTFILE_H
fileapi.h
FILEHTYPE
#define FILEHTYPE
Definition:
fileapi.h:28
localconsts.h
restrict
#define restrict
Definition:
localconsts.h:165
final
#define final
Definition:
localconsts.h:46
A_DELETE_COPY
#define A_DELETE_COPY(func)
Definition:
localconsts.h:53
VirtFs
Definition:
direntry.cpp:27
VirtFs::File
Definition:
file.h:35
VirtFs::File::mPos
size_t mPos
Definition:
file.h:53
VirtFs::File::~File
~File()
Definition:
file.cpp:50
VirtFs::File::mSize
size_t mSize
Definition:
file.h:54
VirtFs::File::mFd
FILE *const mFd
Definition:
file.h:57
VirtFs::File::mBuf
const uint8_t * mBuf
Definition:
file.h:50
VirtFs::File::funcs
const FsFuncs * funcs
Definition:
file.h:47
VirtFs::File::File
File(const FsFuncs *const funcs0, const uint8_t *const buf, const size_t sz)
Definition:
file.cpp:29
VirtFs::FsFuncs
Definition:
fsfuncs.h:40
Generated on Wed Mar 17 2021 19:19:05 for ManaPlus by
1.9.1