|
ACF $AcfVersion:0$
|
Implementation of an ACF archive deserializing from a JSON string. More...
#include <CJsonReadArchiveBase.h>
Classes | |
| class | HelperIterator |
Public Types | |
| typedef CTextReadArchiveBase | BaseClass |
Public Types inherited from iser::CTextReadArchiveBase | |
| typedef CReadArchiveBase | BaseClass |
Public Types inherited from iser::IArchive | |
| enum | MessageId { MI_TAG_ERROR = 0x3f320a0 , MI_TAG_SKIPPED } |
Public Member Functions | |
| CJsonReadArchiveBase (bool serializeHeader=true, const iser::CArchiveTag &rootTag=s_acfRootTag) | |
| 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::CArchiveBase | |
| virtual bool | IsTagSkippingSupported () const override |
| Checks if skipping to the end of a tag on EndTag() is supported. | |
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 () |
Protected Member Functions | |
| bool | SetContent (QIODevice *devicePtr) |
| bool | ReadStringNode (QString &text) |
| virtual bool | ReadTextNode (QByteArray &text) override |
| Read single unformatted text node. | |
Protected Member Functions inherited from iser::CReadArchiveBase | |
| bool | SerializeAcfHeader () |
| Serialize standard header. | |
Protected Member Functions inherited from iser::CArchiveBase | |
| CArchiveBase () | |
Protected Member Functions inherited from istd::ILogger | |
| virtual void | DecorateMessage (IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const |
| Decorate message parts before outputting. | |
| 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 | |
| QJsonDocument | m_document |
| QList< HelperIterator > | m_iterators |
| QList< const iser::CArchiveTag * > | m_tags |
| iser::CArchiveTag | m_rootTag |
| bool | m_rootTagEnabled |
| bool | m_serializeHeader |
Additional Inherited Members | |
Static Public Member Functions inherited from iser::CArchiveBase | |
| static const CArchiveTag & | GetAcfRootTag () |
Static Protected Attributes inherited from iser::CArchiveBase | |
| static CArchiveTag | s_acfRootTag |
Implementation of an ACF archive deserializing from a JSON string.
Definition at line 27 of file CJsonReadArchiveBase.h.
Definition at line 30 of file CJsonReadArchiveBase.h.
| iser::CJsonReadArchiveBase::CJsonReadArchiveBase | ( | 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.
|
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 |
Process primitive type.
Implements iser::IArchive.
|
protected |
|
overrideprotectedvirtual |
Read single unformatted text node.
Implements iser::CTextReadArchiveBase.
|
protected |
|
protected |
Definition at line 51 of file CJsonReadArchiveBase.h.
|
protected |
Definition at line 75 of file CJsonReadArchiveBase.h.
|
protected |
Definition at line 77 of file CJsonReadArchiveBase.h.
|
protected |
Definition at line 78 of file CJsonReadArchiveBase.h.
|
protected |
Definition at line 79 of file CJsonReadArchiveBase.h.
|
protected |
Definition at line 76 of file CJsonReadArchiveBase.h.