Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
XferSave Class Reference

#include <XferSave.h>

Inherits Xfer.

Public Member Functions

 XferSave (void)
 
virtual ~XferSave (void)
 
virtual void open (AsciiString identifier)
 open file for writing
 
virtual void close (void)
 close file
 
virtual Int beginBlock (void)
 write placeholder block size
 
virtual void endBlock (void)
 backup to last begin block and write size
 
virtual void skip (Int dataSize)
 skipping during a write is a no-op
 
virtual void xferSnapshot (Snapshot *snapshot)
 entry point for xfering a snapshot
 
virtual void xferAsciiString (AsciiString *asciiStringData)
 xfer ascii string (need our own)
 
virtual void xferUnicodeString (UnicodeString *unicodeStringData)
 xfer unicode string (need our own);
 
- Public Member Functions inherited from Xfer
 Xfer (void)
 
virtual ~Xfer (void)
 
virtual XferMode getXferMode (void)
 
AsciiString getIdentifier (void)
 
virtual void setOptions (UnsignedInt options)
 
virtual void clearOptions (UnsignedInt options)
 
virtual UnsignedInt getOptions (void)
 
virtual void xferVersion (XferVersion *versionData, XferVersion currentVersion)
 
virtual void xferByte (Byte *byteData)
 
virtual void xferUnsignedByte (UnsignedByte *unsignedByteData)
 
virtual void xferBool (Bool *boolData)
 
virtual void xferInt (Int *intData)
 
virtual void xferInt64 (Int64 *int64Data)
 
virtual void xferUnsignedInt (UnsignedInt *unsignedIntData)
 
virtual void xferShort (Short *shortData)
 
virtual void xferUnsignedShort (UnsignedShort *unsignedShortData)
 
virtual void xferReal (Real *realData)
 
virtual void xferMarkerLabel (AsciiString asciiStringData)
 
virtual void xferCoord3D (Coord3D *coord3D)
 
virtual void xferICoord3D (ICoord3D *iCoord3D)
 
virtual void xferRegion3D (Region3D *region3D)
 
virtual void xferIRegion3D (IRegion3D *iRegion3D)
 
virtual void xferCoord2D (Coord2D *coord2D)
 
virtual void xferICoord2D (ICoord2D *iCoord2D)
 
virtual void xferRegion2D (Region2D *region2D)
 
virtual void xferIRegion2D (IRegion2D *iRegion2D)
 
virtual void xferRealRange (RealRange *realRange)
 
virtual void xferColor (Color *color)
 
virtual void xferRGBColor (RGBColor *rgbColor)
 
virtual void xferRGBAColorReal (RGBAColorReal *rgbaColorReal)
 
virtual void xferRGBAColorInt (RGBAColorInt *rgbaColorInt)
 
virtual void xferObjectID (ObjectID *objectID)
 
virtual void xferDrawableID (DrawableID *drawableID)
 
virtual void xferSTLObjectIDVector (std::vector< ObjectID > *objectIDVectorData)
 
virtual void xferSTLObjectIDList (std::list< ObjectID > *objectIDListData)
 
virtual void xferSTLIntList (std::list< Int > *intListData)
 
virtual void xferScienceType (ScienceType *science)
 
virtual void xferScienceVec (ScienceVec *scienceVec)
 
virtual void xferKindOf (KindOfType *kindOfData)
 
virtual void xferUpgradeMask (UpgradeMaskType *upgradeMaskData)
 
virtual void xferUser (void *data, Int dataSize)
 
virtual void xferMatrix3D (Matrix3D *mtx)
 
virtual void xferMapName (AsciiString *mapNameData)
 

Protected Member Functions

virtual void xferImplementation (void *data, Int dataSize)
 the xfer implementation
 

Protected Attributes

FILE * m_fileFP
 pointer to file
 
XferBlockDatam_blockStack
 stack of block data
 
- Protected Attributes inherited from Xfer
UnsignedInt m_options
 xfer options
 
XferMode m_xferMode
 the current xfer mode
 
AsciiString m_identifier
 the string identifier
 

Detailed Description

Definition at line 47 of file XferSave.h.

Constructor & Destructor Documentation

◆ XferSave()

XferSave::XferSave ( void )

Definition at line 55 of file XferSave.cpp.

◆ ~XferSave()

XferSave::~XferSave ( void )
virtual

Definition at line 66 of file XferSave.cpp.

Member Function Documentation

◆ beginBlock()

Int XferSave::beginBlock ( void )
virtual

write placeholder block size

Write a placeholder at the current location in the file and store this location internally. The next endBlock that is called will back up to the most recently stored beginBlock and write the difference in file bytes from the endBlock call to the location of this beginBlock. The current file position will then return to the location at which endBlock was called

Implements Xfer.

Definition at line 165 of file XferSave.cpp.

◆ close()

void XferSave::close ( void )
virtual

close file

Close our current file

Implements Xfer.

Definition at line 137 of file XferSave.cpp.

◆ endBlock()

void XferSave::endBlock ( void )
virtual

backup to last begin block and write size

Do the tail end as described in beginBlock above. Back up to the last begin block, write the file difference from current position to the last begin position, and put current file position back to where it was

Implements Xfer.

Definition at line 210 of file XferSave.cpp.

◆ open()

void XferSave::open ( AsciiString identifier)
virtual

open file for writing

Open file 'identifier' for writing

Implements Xfer.

Definition at line 106 of file XferSave.cpp.

◆ skip()

void XferSave::skip ( Int dataSize)
virtual

skipping during a write is a no-op

Skip forward 'dataSize' bytes in the file

Implements Xfer.

Definition at line 257 of file XferSave.cpp.

◆ xferAsciiString()

void XferSave::xferAsciiString ( AsciiString * asciiStringData)
virtual

xfer ascii string (need our own)

Save ascii string

Reimplemented from Xfer.

Definition at line 292 of file XferSave.cpp.

◆ xferImplementation()

void XferSave::xferImplementation ( void * data,
Int dataSize )
protectedvirtual

the xfer implementation

Perform the write operation

Implements Xfer.

Definition at line 342 of file XferSave.cpp.

◆ xferSnapshot()

void XferSave::xferSnapshot ( Snapshot * snapshot)
virtual

entry point for xfering a snapshot

Entry point for xfering a snapshot

Implements Xfer.

Definition at line 273 of file XferSave.cpp.

◆ xferUnicodeString()

void XferSave::xferUnicodeString ( UnicodeString * unicodeStringData)
virtual

xfer unicode string (need our own);

Save unicodee string

Reimplemented from Xfer.

Definition at line 317 of file XferSave.cpp.

Member Data Documentation

◆ m_blockStack

XferBlockData* XferSave::m_blockStack
protected

stack of block data

Definition at line 73 of file XferSave.h.

◆ m_fileFP

FILE* XferSave::m_fileFP
protected

pointer to file

Definition at line 72 of file XferSave.h.


The documentation for this class was generated from the following files: