Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
ifile::CFileReadArchive Class Reference

Simple implementation of archive reading from own ACF format binary file. More...

#include <CFileReadArchive.h>

Inheritance diagram for ifile::CFileReadArchive:
iser::CBinaryReadArchiveBase ifile::CFileArchiveInfo iser::CReadArchiveBase ifile::IFileArchiveInfo iser::CArchiveBase istd::IPolymorphic iser::IArchive istd::ILogger istd::IPolymorphic istd::IPolymorphic

Classes

struct  TagStackElement
 

Public Types

typedef
iser::CBinaryReadArchiveBase 
BaseClass
 
typedef CFileArchiveInfo BaseClass2
 
- Public Types inherited from iser::CBinaryReadArchiveBase
enum  MessageId { MI_STRING_TOO_LONG = 0x3f320b0 }
 
typedef CReadArchiveBase BaseClass
 
- Public Types inherited from iser::IArchive
enum  MessageId { MI_TAG_ERROR = 0x3f320a0, MI_TAG_SKIPPED }
 

Public Member Functions

 CFileReadArchive (const QString &filePath, bool supportTagSkipping=true, bool serializeHeader=true)
 Contructor. More...
 
virtual bool IsTagSkippingSupported () const
 Check if skiping to the end of tag on EndTag is supported. More...
 
virtual bool BeginTag (const iser::CArchiveTag &tag)
 Begin of archive tag. More...
 
virtual bool EndTag (const iser::CArchiveTag &tag)
 End of archive tag. More...
 
virtual bool ProcessData (void *data, int size)
 Process binary data block. More...
 
- Public Member Functions inherited from iser::CBinaryReadArchiveBase
virtual bool Process (bool &value)
 Process primitive type. More...
 
virtual bool Process (char &value)
 Process primitive type. More...
 
virtual bool Process (quint8 &value)
 Process primitive type. More...
 
virtual bool Process (qint8 &value)
 Process primitive type. More...
 
virtual bool Process (quint16 &value)
 Process primitive type. More...
 
virtual bool Process (qint16 &value)
 Process primitive type. More...
 
virtual bool Process (quint32 &value)
 Process primitive type. More...
 
virtual bool Process (qint32 &value)
 Process primitive type. More...
 
virtual bool Process (quint64 &value)
 Process primitive type. More...
 
virtual bool Process (qint64 &value)
 Process primitive type. More...
 
virtual bool Process (float &value)
 Process primitive type. More...
 
virtual bool Process (double &value)
 Process primitive type. More...
 
virtual bool Process (QByteArray &value)
 Process primitive type. More...
 
virtual bool Process (QString &value)
 Process primitive type. More...
 
- Public Member Functions inherited from iser::CReadArchiveBase
virtual bool IsStoring () const
 Check if this archive is loading or storing. More...
 
virtual const IVersionInfoGetVersionInfo () const
 Get version of archived stream for specific versioning type. More...
 
virtual bool ProcessBits (void *dataPtr, int bitsCount, int bytesCount)
 Process binary data block. More...
 
- Public Member Functions inherited from iser::CArchiveBase
virtual bool BeginMultiTag (const CArchiveTag &tag, const CArchiveTag &subTag, int &count)
 Begin of archive tag containing set of subelements of the same type. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 
- Public Member Functions inherited from ifile::CFileArchiveInfo
 CFileArchiveInfo (const QString &filePath)
 
virtual const QString & GetCurrentFilePath () const
 

Protected Member Functions

virtual void DecorateMessage (istd::IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const
 Decorate message parts before outputting. More...
 
virtual int GetMaxStringLength () const
 Get maximal allowed string size. More...
 
- Protected Member Functions inherited from iser::CReadArchiveBase
bool SerializeAcfHeader ()
 Serialize standard header. More...
 
- Protected Member Functions inherited from iser::CArchiveBase
 CArchiveBase ()
 
virtual bool IsLogConsumed (const IInformationProvider::InformationCategory *categoryPtr=NULL, const int *flagsPtr=NULL) const
 Check if any log message is consumed. More...
 
virtual bool SendLogMessage (IInformationProvider::InformationCategory category, int id, const QString &message, const QString &messageSource, int flags=0) const
 Send any message to log. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from iser::CArchiveBase
static const CArchiveTagGetAcfRootTag ()
 
- Protected Attributes inherited from ifile::CFileArchiveInfo
QString m_filePath
 
- Static Protected Attributes inherited from iser::CArchiveBase
static CArchiveTag s_acfRootTag
 

Detailed Description

Simple implementation of archive reading from own ACF format binary file.

This imlementation is very fast and efficient and should be used if any standardized file format is needed.

Definition at line 24 of file CFileReadArchive.h.

Member Typedef Documentation

Definition at line 29 of file CFileReadArchive.h.

Definition at line 30 of file CFileReadArchive.h.

Constructor & Destructor Documentation

ifile::CFileReadArchive::CFileReadArchive ( const QString &  filePath,
bool  supportTagSkipping = true,
bool  serializeHeader = true 
)

Contructor.

Parameters
filePathname of file.
supportTagSkippingif it is true skipping of tags on EndTag is supported. Please note that supporting of tag skipping store additional data in file and it is not compatible with files created without tag skipping.
See Also
EndTag and IsTagSkippingSupported.
Parameters
serializeHeaderif it is true (default) archive header will be serialized.

Member Function Documentation

virtual bool ifile::CFileReadArchive::BeginTag ( const iser::CArchiveTag tag)
virtual

Begin of archive tag.

Parameters
tagtag object.
useTagSkippingflag signalling that support of tag skipping should be enabled.

Reimplemented from iser::CBinaryReadArchiveBase.

virtual void ifile::CFileReadArchive::DecorateMessage ( istd::IInformationProvider::InformationCategory  category,
int  id,
int  flags,
QString &  message,
QString &  messageSource 
) const
protectedvirtual

Decorate message parts before outputting.

Reimplemented from istd::ILogger.

virtual bool ifile::CFileReadArchive::EndTag ( const iser::CArchiveTag tag)
virtual

End of archive tag.

This method should be allways called after BeginTag is successfull called. If skipping of tag contains is supported, this will skip to the end of tag while archive reading. Otherwise you have to read contains of archive completely.

See Also
IsTagSkippingSupported.

Reimplemented from iser::CBinaryReadArchiveBase.

virtual int ifile::CFileReadArchive::GetMaxStringLength ( ) const
protectedvirtual

Get maximal allowed string size.

Reimplemented from iser::CBinaryReadArchiveBase.

virtual bool ifile::CFileReadArchive::IsTagSkippingSupported ( ) const
virtual

Check if skiping to the end of tag on EndTag is supported.

See Also
EndTag.

Reimplemented from iser::CArchiveBase.

virtual bool ifile::CFileReadArchive::ProcessData ( void *  dataPtr,
int  size 
)
virtual

Process binary data block.

Parameters
dataPtrpointer to memory block.
sizesize of memory block in bytes.

Implements iser::IArchive.


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy