|
ACF $AcfVersion:0$
|
Simple implementation of archive reading from own ACF format binary file. More...
#include <CFileReadArchive.h>
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. | |
| virtual bool | IsTagSkippingSupported () const override |
| Checks if skipping to the end of a tag on EndTag() is supported. | |
| virtual bool | BeginTag (const iser::CArchiveTag &tag) override |
| Begins a tagged section in the archive. | |
| virtual bool | EndTag (const iser::CArchiveTag &tag) override |
| Ends a tagged section in the archive. | |
| virtual bool | ProcessData (void *data, int size) override |
| Process binary data block. | |
Public Member Functions inherited from iser::CBinaryReadArchiveBase | |
| virtual bool | Process (bool &value) override |
| Processes (reads or writes) a boolean value. | |
| virtual bool | Process (char &value) override |
| Process primitive type. | |
| virtual bool | Process (quint8 &value) override |
| Process primitive type. | |
| virtual bool | Process (qint8 &value) override |
| Process primitive type. | |
| virtual bool | Process (quint16 &value) override |
| Process primitive type. | |
| virtual bool | Process (qint16 &value) override |
| Process primitive type. | |
| virtual bool | Process (quint32 &value) override |
| Process primitive type. | |
| virtual bool | Process (qint32 &value) override |
| Process primitive type. | |
| virtual bool | Process (quint64 &value) override |
| Process primitive type. | |
| virtual bool | Process (qint64 &value) override |
| Process primitive type. | |
| virtual bool | Process (float &value) override |
| Process primitive type. | |
| virtual bool | Process (double &value) override |
| Process primitive type. | |
| virtual bool | Process (QByteArray &value) override |
| Process primitive type. | |
| virtual bool | Process (QString &value) override |
| Process primitive type. | |
Public Member Functions inherited from iser::CReadArchiveBase | |
| virtual bool | IsStoring () const override |
| Checks if this archive is in storing (writing) or loading (reading) mode. | |
| virtual const IVersionInfo & | GetVersionInfo () const override |
| Gets version information for the archived stream. | |
| virtual bool | ProcessBits (void *dataPtr, int bitsCount, int bytesCount) override |
| Process binary data block. | |
Public Member Functions inherited from iser::CArchiveBase | |
| virtual bool | BeginMultiTag (const CArchiveTag &tag, const CArchiveTag &subTag, int &count) override |
| Begins a tagged section containing multiple elements of the same type. | |
Public Member Functions inherited from iser::IArchive | |
| template<typename Primitive > | |
| bool | TagAndProcess (const CArchiveTag &tag, Primitive &value) |
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 override |
Protected Member Functions | |
| virtual void | DecorateMessage (istd::IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const override |
| Decorate message parts before outputting. | |
| virtual int | GetMaxStringLength () const override |
| Get maximal allowed string size. | |
Protected Member Functions inherited from iser::CReadArchiveBase | |
| bool | SerializeAcfHeader () |
| Serialize standard header. | |
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. | |
| virtual bool | SendLogMessage (IInformationProvider::InformationCategory category, int id, const QString &message, const QString &messageSource, int flags=0) const |
| Send any message to log. | |
Additional Inherited Members | |
Static Public Member Functions inherited from iser::CArchiveBase | |
| static const CArchiveTag & | GetAcfRootTag () |
Protected Attributes inherited from ifile::CFileArchiveInfo | |
| QString | m_filePath |
Static Protected Attributes inherited from iser::CArchiveBase | |
| static CArchiveTag | s_acfRootTag |
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.
Definition at line 29 of file CFileReadArchive.h.
Definition at line 30 of file CFileReadArchive.h.
| ifile::CFileReadArchive::CFileReadArchive | ( | const QString & | filePath, |
| bool | supportTagSkipping = true, |
||
| bool | serializeHeader = true |
||
| ) |
Contructor.
| filePath | name of file. |
| supportTagSkipping | if 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. |
| serializeHeader | if it is true (default) archive header will be serialized. |
|
overridevirtual |
Begins a tagged section in the archive.
Tags organize data into logical units with names and descriptions. Every BeginTag() must be matched with an EndTag() call. Tags can be nested to create hierarchical data structures.
| tag | The tag object describing this section. Use static CArchiveTag instances to avoid repeated construction overhead. |
Reimplemented from iser::CBinaryReadArchiveBase.
|
overrideprotectedvirtual |
Decorate message parts before outputting.
Reimplemented from istd::ILogger.
|
overridevirtual |
Ends a tagged section in the archive.
Must be called after BeginTag() or BeginMultiTag() to close the section. If tag skipping is supported and not all data was read, this will skip to the end of the tag section, enabling forward compatibility.
| tag | The same tag object passed to BeginTag() or BeginMultiTag() |
Reimplemented from iser::CBinaryReadArchiveBase.
|
overrideprotectedvirtual |
Get maximal allowed string size.
Reimplemented from iser::CBinaryReadArchiveBase.
|
overridevirtual |
Checks if skipping to the end of a tag on EndTag() is supported.
Some archive types (like XML) support skipping unread content within a tag, allowing forward compatibility. When reading an archive created by a newer version that added fields, this feature lets you skip unknown data.
Reimplemented from iser::CArchiveBase.
|
overridevirtual |
Process binary data block.
| dataPtr | pointer to memory block. |
| size | size of memory block in bytes. |
Implements iser::IArchive.
Reimplemented in ifile::CFileReadSecureArchive.