HoverRace  2.0
Public Member Functions | Static Protected Member Functions | Private Types | Private Attributes | List of all members
HoverRace::Parcel::ClassicRecordFile Class Reference

Standard HoverRace 1.x parcel format. More...

#include <ClassicRecordFile.h>

+ Inheritance diagram for HoverRace::Parcel::ClassicRecordFile:

Public Member Functions

 ClassicRecordFile ()
 
virtual ~ClassicRecordFile ()
 
bool ApplyChecksum (const Util::OS::path_t &filename) override
 
bool BeginANewRecord () override
 
bool CreateForWrite (const Util::OS::path_t &filename, MR_UInt32 numRecords, const char *title=nullptr) override
 
DWORD GetAlignMode () override
 
MR_UInt32 GetNbRecords () const override
 
void Inspect (Util::InspectMapNode &node) const override
 
bool OpenForRead (const Util::OS::path_t &filename, bool validateChecksum=false) override
 
bool OpenForWrite (const Util::OS::path_t &filename) override
 
void SelectRecord (MR_UInt32 i) override
 
ObjStreamPtr StreamIn () override
 Open an object stream for reading at the current record. More...
 
ObjStreamPtr StreamOut () override
 Open an object stream for writing at the current record. More...
 
- Public Member Functions inherited from HoverRace::Parcel::RecordFile
 RecordFile ()
 
virtual ~RecordFile ()
 
- Public Member Functions inherited from HoverRace::Util::Inspectable
 Inspectable ()
 
virtual ~Inspectable ()
 

Static Protected Member Functions

static DWORD ComputeSum (const Util::OS::path_t &filename)
 

Private Types

using SUPER = RecordFile
 

Private Attributes

bool constructionMode
 
MR_UInt32 curRecord
 
Util::OS::path_t filename
 
FILE * fileStream
 
ClassicRecordFileHeaderheader
 

Detailed Description

Standard HoverRace 1.x parcel format.

Author
Michael Imamura

Member Typedef Documentation

Constructor & Destructor Documentation

HoverRace::Parcel::ClassicRecordFile::ClassicRecordFile ( )
HoverRace::Parcel::ClassicRecordFile::~ClassicRecordFile ( )
virtual

Member Function Documentation

bool HoverRace::Parcel::ClassicRecordFile::ApplyChecksum ( const Util::OS::path_t filename)
overridevirtual
bool HoverRace::Parcel::ClassicRecordFile::BeginANewRecord ( )
overridevirtual
DWORD HoverRace::Parcel::ClassicRecordFile::ComputeSum ( const Util::OS::path_t filename)
staticprotected
bool HoverRace::Parcel::ClassicRecordFile::CreateForWrite ( const Util::OS::path_t filename,
MR_UInt32  numRecords,
const char *  title = nullptr 
)
overridevirtual
DWORD HoverRace::Parcel::ClassicRecordFile::GetAlignMode ( )
overridevirtual
MR_UInt32 HoverRace::Parcel::ClassicRecordFile::GetNbRecords ( ) const
overridevirtual
void HoverRace::Parcel::ClassicRecordFile::Inspect ( Util::InspectMapNode node) const
overridevirtual
bool HoverRace::Parcel::ClassicRecordFile::OpenForRead ( const Util::OS::path_t filename,
bool  validateChecksum = false 
)
overridevirtual
bool HoverRace::Parcel::ClassicRecordFile::OpenForWrite ( const Util::OS::path_t filename)
overridevirtual
void HoverRace::Parcel::ClassicRecordFile::SelectRecord ( MR_UInt32  i)
overridevirtual
ObjStreamPtr HoverRace::Parcel::ClassicRecordFile::StreamIn ( )
overridevirtual

Open an object stream for reading at the current record.

It is the caller's responsibility to ensure that only one stream (input or output) exists at a time.

Returns
A shared pointer to the new input stream (never NULL).

Implements HoverRace::Parcel::RecordFile.

ObjStreamPtr HoverRace::Parcel::ClassicRecordFile::StreamOut ( )
overridevirtual

Open an object stream for writing at the current record.

It is the caller's responsibility to ensure that only one stream (input or output) exists at a time.

Returns
A shared pointer to the new output stream (never NULL).

Implements HoverRace::Parcel::RecordFile.

Member Data Documentation

bool HoverRace::Parcel::ClassicRecordFile::constructionMode
private
MR_UInt32 HoverRace::Parcel::ClassicRecordFile::curRecord
private
Util::OS::path_t HoverRace::Parcel::ClassicRecordFile::filename
private
FILE* HoverRace::Parcel::ClassicRecordFile::fileStream
private
ClassicRecordFileHeader* HoverRace::Parcel::ClassicRecordFile::header
private

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