CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
vfsfile.cxh
1#include <cx/fs/fileobj.cxh>
2#include <cx/fs/vfsobj.cxh>
3
4/// @addtogroup fs_vfs
5/// @{
6
7/// A file opened through a VFS with vfsOpen()
8///
9/// The provider's own file, plus what the VFS layer adds on top of it: copy-on-write lives here,
10/// so providers never have to know about it. Being a File, it can be handed to anything that
11/// takes one, whichever layer opened it.
12class VFSFile extends File {
13 object[VFS] vfs;
14 object[File] inner; // the provider's file, which every operation ends up at
15
16 // for copy-on-write files
17 object[ObjInst] cowprov; // VFSProvider
18 string cowpath; // absolute path to COW file (for cache invalidation)
19 string cowrpath; // relative path for COW file for provider
20
21 factory create(VFS *vfs, File *inner);
22 destroy();
23}
24
25/// @}