#include <vfs.h>
Inheritance diagram for iVFS:
Public Methods | |
virtual bool | ChDir (const char *Path)=0 |
Set current working directory. | |
virtual const char* | GetCwd () const=0 |
Get current working directory. | |
virtual void | PushDir ()=0 |
Push current directory. | |
virtual bool | PopDir ()=0 |
Pop current directory. | |
virtual iDataBuffer* | ExpandPath (const char *Path, bool IsDir=false) const=0 |
Expand given virtual path, interpret all "." and ".."'s relative to 'currend virtual directory'. More... | |
virtual bool | Exists (const char *Path) const=0 |
Check whenever a file exists. | |
virtual iStrVector* | FindFiles (const char *Path) const=0 |
Find all files in a virtual directory and return an array with their names. | |
virtual iFile* | Open (const char *FileName, int Mode)=0 |
Replacement for standard fopen(). | |
virtual iDataBuffer* | ReadFile (const char *FileName)=0 |
Get an entire file at once. More... | |
virtual bool | WriteFile (const char *Name, const char *Data, size_t Size)=0 |
Write an entire file in one pass. | |
virtual bool | DeleteFile (const char *FileName)=0 |
Delete a file on VFS. | |
virtual bool | Sync ()=0 |
Close all opened archives, free temporary storage etc. | |
virtual bool | Mount (const char *VirtualPath, const char *RealPath)=0 |
Mount an VFS path on a "real-world-filesystem" path. | |
virtual bool | Unmount (const char *VirtualPath, const char *RealPath)=0 |
Unmount an VFS path; if RealPath is NULL, entire VirtualPath is unmounted. | |
virtual bool | SaveMounts (const char *FileName)=0 |
Save current configuration back into configuration file. | |
virtual bool | GetFileTime (const char *FileName, csFileTime &oTime) const=0 |
Query file date/time. | |
virtual bool | SetFileTime (const char *FileName, const csFileTime &iTime)=0 |
Set file date/time. | |
virtual bool | GetFileSize (const char *FileName, size_t &oSize)=0 |
Query file size (without opening it). | |
virtual iDataBuffer* | GetRealPath (const char *FileName)=0 |
Query real-world path from given VFS path. More... |
This gives unified control over the way how files are found, read and written. VFS gives the following goodies over the standard file i/o functions:
|
Expand given virtual path, interpret all "." and ".."'s relative to 'currend virtual directory'. Return a new iString object. If IsDir is true, expanded path ends in an '/', otherwise no. |
|
Query real-world path from given VFS path. This will work only for files that are stored on real filesystem, not in archive files. You should expect this function to return NULL in this case. |
|
Get an entire file at once. You should delete[] returned data after usage. This is more effective than opening files and reading the file in blocks. Note that the returned buffer is always null- terminated (so that it can be conveniently used with string functions) but the extra null-terminator is not counted as part of the returned size. |