NSFileSystem::TVirtualFileCabinet Class Reference

This class represents file from cabinet. More...

#include <VirtualFileCabinet.h>

Inheritance diagram for NSFileSystem::TVirtualFileCabinet:

Inheritance graph
[legend]
Collaboration diagram for NSFileSystem::TVirtualFileCabinet:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void Close (void)
 Close file and destroy object.
virtual const TStringGetName (void) const
 Returns name of this file (name of file from cabinet).
virtual const LONG GetSize (void) const
 Returns size of this file in bytes.
virtual BOOL Eof (void)
 Determine whether file position is after last character.
virtual LONG Tell (void)
 Returns actual position in file (in bytes).
virtual BOOL Seek (const LONG &position)
 Seek to specified position in file.
virtual BOOL SeekToStart (void)
 Seek file to begin.
virtual BOOL SeekToEnd (void)
 Seek file to end.
virtual BOOL SeekRelative (const LONG &offset)
 Seek file relative to actual position.
virtual int GetChar (void)
 Return next character from file or EOF at end of file.
virtual DWORD Read (void *buffer, const DWORD &size)
 Read specified number of bytes into buffer.
virtual BOOL FindChar (int ch)
 Read file until specified character.
virtual BOOL ReadUntil (int ch, TString &res)
 Read file until specified character and store it into string.
virtual BOOL ReadString (TString &text)
 Read next string - "..".

Static Public Member Functions

static TVirtualFileOpenFile (const TString &cabinetName, const TFSCabinetTableItem &cabinetTableItem, const TString &filename)
 This static method open specified file from specified cabinet.

Protected Member Functions

virtual ~TVirtualFileCabinet (void)
 Virtual destructor.

Detailed Description

This class represents file from cabinet.

Thus it is file stored in file.

Definition at line 37 of file VirtualFileCabinet.h.


Constructor & Destructor Documentation

NSFileSystem::TVirtualFileCabinet::~TVirtualFileCabinet void   )  [inline, protected, virtual]
 

Virtual destructor.

Definition at line 96 of file VirtualFileCabinet.h.


Member Function Documentation

void NSFileSystem::TVirtualFileCabinet::Close void   )  [inline, virtual]
 

Close file and destroy object.

After calling this method pointer to object is invalid and should be set to null.

Via this method you destroy object.

Implements NSFileSystem::TVirtualFile.

Definition at line 114 of file VirtualFileCabinet.h.

BOOL TVirtualFileCabinet::Eof void   )  [virtual]
 

Determine whether file position is after last character.

Implements NSFileSystem::TVirtualFile.

Definition at line 58 of file VirtualFileCabinet.cpp.

BOOL TVirtualFileCabinet::FindChar int  ch  )  [virtual]
 

Read file until specified character.

If character was found then TRUE is returned and file is at position after this character.

Parameters:
ch [in] character to find

Implements NSFileSystem::TVirtualFile.

Definition at line 206 of file VirtualFileCabinet.cpp.

References GetChar().

Here is the call graph for this function:

int TVirtualFileCabinet::GetChar void   )  [virtual]
 

Return next character from file or EOF at end of file.

Implements NSFileSystem::TVirtualFile.

Definition at line 158 of file VirtualFileCabinet.cpp.

Referenced by FindChar(), ReadString(), and ReadUntil().

const TString & NSFileSystem::TVirtualFileCabinet::GetName void   )  const [inline, virtual]
 

Returns name of this file (name of file from cabinet).

Implements NSFileSystem::TVirtualFile.

Definition at line 121 of file VirtualFileCabinet.h.

const LONG NSFileSystem::TVirtualFileCabinet::GetSize void   )  const [inline, virtual]
 

Returns size of this file in bytes.

Implements NSFileSystem::TVirtualFile.

Definition at line 128 of file VirtualFileCabinet.h.

TVirtualFile * TVirtualFileCabinet::OpenFile const TString cabinetName,
const TFSCabinetTableItem cabinetTableItem,
const TString filename
[static]
 

This static method open specified file from specified cabinet.

You must supply information about item in specified cabinet file. This information are stored in cabinet table at begin of cabinet.

Parameters:
cabinetName [in] name of file with cabinet
cabinetTableItem [in] one item from cabinet table that specifies file loaded from cabinet
filename [in] name of file in cabinet

Definition at line 27 of file VirtualFileCabinet.cpp.

References TString::c_str(), NSFileSystem::TFSCabinetTableItem::GetLength(), and NSFileSystem::TFSCabinetTableItem::GetStart().

Referenced by NSFileSystem::TFSCabinet::GetFile().

Here is the call graph for this function:

DWORD TVirtualFileCabinet::Read void *  buffer,
const DWORD size
[virtual]
 

Read specified number of bytes into buffer.

Parameters:
buffer [in] destination buffer with required size
size [in] number of bytes to read

Implements NSFileSystem::TVirtualFile.

Definition at line 176 of file VirtualFileCabinet.cpp.

BOOL TVirtualFileCabinet::ReadString TString text  )  [inline, virtual]
 

Read next string - "..".

Method founds first character '"' and then reads string until next ". Final string doesnt contain begin and end character '"'. String parameter TEXT is always cleared.

After returning TRUE position in file is set to first character after end of string (after '"');

Readed string musn't contains symbol '"' - escape characters arent recognized too.

Parameters:
text [out] output string

Implements NSFileSystem::TVirtualFile.

Definition at line 255 of file VirtualFileCabinet.cpp.

References TString::Add(), TString::ClearDeallocOff(), FALSE, and GetChar().

Here is the call graph for this function:

BOOL TVirtualFileCabinet::ReadUntil int  ch,
TString res
[inline, virtual]
 

Read file until specified character and store it into string.

Terminal character is not included in result string.

String RES is automatically cleared in function.

Return TRUE if specified character was found, FALSE otherwise (EOF was reached and terminal character was not found).

Parameters:
ch [in] terminal string
res [out] output string

Implements NSFileSystem::TVirtualFile.

Definition at line 228 of file VirtualFileCabinet.cpp.

References TString::Add(), TString::ClearDeallocOff(), and GetChar().

Here is the call graph for this function:

BOOL TVirtualFileCabinet::Seek const LONG position  )  [virtual]
 

Seek to specified position in file.

If position is outside then EOF is set.

Returns TRUE if seeking was successful.

Parameters:
position [in] new position in file

Implements NSFileSystem::TVirtualFile.

Definition at line 78 of file VirtualFileCabinet.cpp.

BOOL TVirtualFileCabinet::SeekRelative const LONG offset  )  [virtual]
 

Seek file relative to actual position.

After seeking file must be inside his area in cabinet!!!

Parameters:
offset [in] offset from actual position

Implements NSFileSystem::TVirtualFile.

Definition at line 130 of file VirtualFileCabinet.cpp.

BOOL TVirtualFileCabinet::SeekToEnd void   )  [virtual]
 

Seek file to end.

Returns TRUE if seeking was successful.

Implements NSFileSystem::TVirtualFile.

Definition at line 119 of file VirtualFileCabinet.cpp.

BOOL TVirtualFileCabinet::SeekToStart void   )  [virtual]
 

Seek file to begin.

Returns TRUE if seeking was successful.

Implements NSFileSystem::TVirtualFile.

Definition at line 109 of file VirtualFileCabinet.cpp.

LONG TVirtualFileCabinet::Tell void   )  [virtual]
 

Returns actual position in file (in bytes).

Implements NSFileSystem::TVirtualFile.

Definition at line 66 of file VirtualFileCabinet.cpp.


The documentation for this class was generated from the following files:
Generated on Wed Nov 28 22:45:13 2007 for Joy4D by  doxygen 1.4.6-NO