FreeNOS
lib
libfs
FileCache.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2015 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_LIBFS_FILECACHE_H
19
#define __LIB_LIBFS_FILECACHE_H
20
21
#include <
HashTable.h
>
22
#include "
File.h
"
23
35
typedef
struct
FileCache
36
{
44
FileCache
(
File
*f,
const
char
*n,
FileCache
*p)
45
:
file
(f),
parent
(p)
46
{
47
name
= n;
48
49
if
(p && p !=
this
)
50
{
51
p->
entries
.
insert
(
name
,
this
);
52
}
53
}
54
56
File
*
file
;
57
59
String
name
;
60
62
HashTable<String, FileCache *>
entries
;
63
65
FileCache
*
parent
;
66
}
67
FileCache
;
68
74
#endif
/* __LIB_LIBFS_FILECACHE_H */
HashTable< String, FileCache * >
FileCache::FileCache
FileCache(File *f, const char *n, FileCache *p)
Constructor function.
Definition:
FileCache.h:44
FileCache::parent
FileCache * parent
Parent.
Definition:
FileCache.h:65
FileCache::entries
HashTable< String, FileCache * > entries
Contains childs.
Definition:
FileCache.h:62
String
Abstraction of strings.
Definition:
String.h:41
HashTable.h
FileCache::name
String name
Our name.
Definition:
FileCache.h:59
File
Represents a file present on a FileSystem.
Definition:
File.h:39
FileCache::file
File * file
File pointer.
Definition:
FileCache.h:56
FileCache
struct FileCache FileCache
Cached in-memory file.
FileCache
Cached in-memory file.
Definition:
FileCache.h:35
File.h
HashTable::insert
virtual bool insert(const K &key, const V &value)
Inserts the given item to the HashTable.
Definition:
HashTable.h:133
Generated by
1.8.17