ICF 3.0.5.47
Technical documentation of ICF Libraries
iser::CCompactXmlReadArchiveBase Class Reference

Qt-based implementation of archive reading from XML file. More...

#include <CCompactXmlReadArchiveBase.h>

Inheritance diagram for iser::CCompactXmlReadArchiveBase:
Collaboration diagram for iser::CCompactXmlReadArchiveBase:

Public Member Functions

 CCompactXmlReadArchiveBase (bool serializeHeader=true, const iser::CArchiveTag &rootTag=s_acfRootTag)
 
virtual bool IsTagSkippingSupported () const
 Check if skiping to the end of tag on EndTag is supported.
 
virtual bool BeginTag (const iser::CArchiveTag &tag)
 Begin of archive tag.
 
virtual bool BeginMultiTag (const iser::CArchiveTag &tag, const iser::CArchiveTag &subTag, int &count)
 Begin of archive tag containing set of subelements of the same type.
 
virtual bool EndTag (const iser::CArchiveTag &tag)
 End of archive tag.
 
virtual bool Process (QString &value)
 Process primitive type.
 
- Public Member Functions inherited from iser::CTextReadArchiveBase
virtual bool Process (bool &value)
 Process primitive type.
 
virtual bool Process (char &value)
 Process primitive type.
 
virtual bool Process (quint8 &value)
 Process primitive type.
 
virtual bool Process (qint8 &value)
 Process primitive type.
 
virtual bool Process (quint16 &value)
 Process primitive type.
 
virtual bool Process (qint16 &value)
 Process primitive type.
 
virtual bool Process (quint32 &value)
 Process primitive type.
 
virtual bool Process (qint32 &value)
 Process primitive type.
 
virtual bool Process (quint64 &value)
 Process primitive type.
 
virtual bool Process (qint64 &value)
 Process primitive type.
 
virtual bool Process (float &value)
 Process primitive type.
 
virtual bool Process (double &value)
 Process primitive type.
 
virtual bool Process (QByteArray &value)
 Process primitive type.
 
virtual bool ProcessData (void *dataPtr, int size)
 Process binary data block.
 
- Public Member Functions inherited from iser::CReadArchiveBase
bool IsChanging () const override
 Check if this archive processing change the object state.
 
const IVersionInfoGetVersionInfo () const override
 Get version of archived stream for specific versioning type.
 
bool ProcessBits (void *dataPtr, int bitsCount, int bytesCount) override
 Process binary data block.
 
- Public Member Functions inherited from iser::CArchiveBase
- Public Member Functions inherited from iser::IArchive
- 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)
 Read single unformatted text node.
 
virtual void DecorateMessage (istd::IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const
 Decorate message parts before outputting.
 
- Protected Member Functions inherited from iser::CTextReadArchiveBase
- Protected Member Functions inherited from iser::CReadArchiveBase
bool SerializeIcfHeader ()
 Serialize standard header.
 
- Protected Member Functions inherited from iser::CArchiveBase
 CArchiveBase ()
 
- Protected Member Functions inherited from istd::ILogger
virtual bool IsLogConsumed (const IInformationProvider::InformationCategory *categoryPtr=nullptr, const int *flagsPtr=nullptr) 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 CArchiveTagGetAcfRootTag ()
 
- 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
 

Detailed Description

Qt-based implementation of archive reading from XML file.

Definition at line 27 of file CCompactXmlReadArchiveBase.h.

Constructor & Destructor Documentation

◆ CCompactXmlReadArchiveBase()

iser::CCompactXmlReadArchiveBase::CCompactXmlReadArchiveBase ( bool serializeHeader = true,
const iser::CArchiveTag & rootTag = s_acfRootTag )

Member Function Documentation

◆ BeginMultiTag()

virtual bool iser::CCompactXmlReadArchiveBase::BeginMultiTag ( const iser::CArchiveTag & tag,
const iser::CArchiveTag & subTag,
int & count )
virtual

Begin of archive tag containing set of subelements of the same type.

See also
BeginTag.
Parameters
tagmain tag.
subTagtype of subelement tag.
countnumber of subelements. If it is read archive this value will be set. If it storing archive this is input value.
useTagSkippingflag signalling that support of tag skipping should be enabled.
Returns
true if success. In this case you have to call EndTag after serializing of subelements.

Reimplemented from iser::CArchiveBase.

◆ BeginTag()

virtual bool iser::CCompactXmlReadArchiveBase::BeginTag ( const iser::CArchiveTag & tag)
virtual

Begin of archive tag.

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

Implements iser::IArchive.

◆ DecorateMessage()

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

Decorate message parts before outputting.

Reimplemented from istd::ILogger.

Reimplemented in ifile::CCompactXmlFileReadArchive, ifile::CCompressedXmlFileReadArchive, and iser::CCompactXmlMemReadArchive.

◆ EndTag()

virtual bool iser::CCompactXmlReadArchiveBase::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.

Implements iser::IArchive.

◆ IsTagSkippingSupported()

virtual bool iser::CCompactXmlReadArchiveBase::IsTagSkippingSupported ( ) const
virtual

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

See also
EndTag.

Reimplemented from iser::CArchiveBase.

◆ Process()

virtual bool iser::CCompactXmlReadArchiveBase::Process ( QString & value)
virtual

Process primitive type.

Implements iser::IArchive.

◆ ReadStringNode()

bool iser::CCompactXmlReadArchiveBase::ReadStringNode ( QString & text)
protected

◆ ReadTextNode()

virtual bool iser::CCompactXmlReadArchiveBase::ReadTextNode ( QByteArray & text)
protectedvirtual

Read single unformatted text node.

Implements iser::CTextReadArchiveBase.

◆ SetContent()

bool iser::CCompactXmlReadArchiveBase::SetContent ( QIODevice * devicePtr)
protected

Member Data Documentation

◆ m_currentParent

QDomElement iser::CCompactXmlReadArchiveBase::m_currentParent
protected

Definition at line 58 of file CCompactXmlReadArchiveBase.h.

◆ m_document

QDomDocument iser::CCompactXmlReadArchiveBase::m_document
protected

Definition at line 57 of file CCompactXmlReadArchiveBase.h.


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

© Witold Gantzke and Kirill Lepskiy