|
ACF $AcfVersion:0$
|
Qt-based implementation of archive reading from XML file. More...
#include <CCompactXmlReadArchiveBase.h>
Public Member Functions | |
| CCompactXmlReadArchiveBase (bool serializeHeader=true, const iser::CArchiveTag &rootTag=s_acfRootTag) | |
| 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 | BeginMultiTag (const iser::CArchiveTag &tag, const iser::CArchiveTag &subTag, int &count) override |
| Begins a tagged section containing multiple elements of the same type. | |
| virtual bool | EndTag (const iser::CArchiveTag &tag) override |
| Ends a tagged section in the archive. | |
| virtual bool | Process (QString &value) override |
| Process primitive type. | |
Public Member Functions inherited from iser::CTextReadArchiveBase | |
| 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 | ProcessData (void *dataPtr, int size) override |
| Process binary data block. | |
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::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 iser::CXmlDocumentInfoBase | |
| CXmlDocumentInfoBase () | |
| bool | IsCommentEnabled () const |
| Check if comments in XML document are enabled. | |
| void | SetCommentEnabled (bool state=true) |
| Allows comments in XML document. | |
Protected Member Functions | |
| bool | ReadStringNode (QString &text) |
| bool | SetContent (QIODevice *devicePtr) |
| virtual bool | ReadTextNode (QByteArray &text) override |
| Read single unformatted text node. | |
| virtual void | DecorateMessage (istd::IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const override |
| Decorate message parts before outputting. | |
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. | |
Protected Attributes | |
| QDomDocument | m_document |
| QDomElement | m_currentParent |
Additional Inherited Members | |
Public Types inherited from iser::CTextReadArchiveBase | |
| typedef CReadArchiveBase | BaseClass |
Public Types inherited from iser::IArchive | |
| enum | MessageId { MI_TAG_ERROR = 0x3f320a0 , MI_TAG_SKIPPED } |
Static Public Member Functions inherited from iser::CArchiveBase | |
| static const CArchiveTag & | GetAcfRootTag () |
Static Public Member Functions inherited from iser::CXmlDocumentInfoBase | |
| static void | EncodeXml (const QByteArray &text, QByteArray &xmlText) |
| static void | DecodeXml (const QByteArray &xmlText, QByteArray &text) |
| static void | EncodeXml (const QString &text, QByteArray &xmlText) |
| static void | DecodeXml (const QByteArray &xmlText, QString &text) |
| static const QString & | GetElementSeparator () |
Static Protected Attributes inherited from iser::CArchiveBase | |
| static CArchiveTag | s_acfRootTag |
Qt-based implementation of archive reading from XML file.
Definition at line 25 of file CCompactXmlReadArchiveBase.h.
| iser::CCompactXmlReadArchiveBase::CCompactXmlReadArchiveBase | ( | bool | serializeHeader = true, |
| const iser::CArchiveTag & | rootTag = s_acfRootTag |
||
| ) |
|
overridevirtual |
Begins a tagged section containing multiple elements of the same type.
BeginMultiTag is used for serializing collections, arrays, or lists where you have multiple items of the same structure. The count parameter works differently for reading vs. writing:
| tag | Main container tag for the entire collection |
| subTag | Tag type for each individual element in the collection |
| count | [in/out] For writing: number of elements to serialize For reading: set by archive to number of stored elements |
Reimplemented from iser::CArchiveBase.
|
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. |
Implements iser::IArchive.
|
overrideprotectedvirtual |
Decorate message parts before outputting.
Reimplemented from istd::ILogger.
Reimplemented in ifile::CCompactXmlFileReadArchive, ifile::CCompressedXmlFileReadArchive, and iser::CCompactXmlMemReadArchive.
|
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() |
Implements iser::IArchive.
|
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 primitive type.
Implements iser::IArchive.
|
protected |
|
overrideprotectedvirtual |
Read single unformatted text node.
Implements iser::CTextReadArchiveBase.
|
protected |
|
protected |
Definition at line 56 of file CCompactXmlReadArchiveBase.h.
|
protected |
Definition at line 55 of file CCompactXmlReadArchiveBase.h.