![]() |
ICF 3.1.1.10
Technical documentation of ICF Libraries
|
Simple implementation of archive reading from XML file. More...
#include <CSimpleXmlFileReadArchive.h>
Public Types | |
| typedef iser::CXmlStreamReadArchiveBase | BaseClass |
| typedef CFileArchiveInfo | BaseClass2 |
Public Types inherited from iser::CXmlStreamReadArchiveBase | |
| typedef CXmlReadArchiveBase | BaseClass |
Public Types inherited from iser::CXmlReadArchiveBase | |
| typedef CTextReadArchiveBase | BaseClass |
Public Types inherited from iser::CTextReadArchiveBase | |
| typedef CReadArchiveBase | BaseClass |
Public Types inherited from iser::CArchiveBase | |
| enum | MessageId { MI_STRING_TOO_LONG = 0x3f320b0 , MI_ARRAY_TOO_BIG , MI_LIST_WRONG_SIZE } |
Public Types inherited from iser::IArchive | |
| enum | MessageId { MI_TAG_ERROR = 0x3f320a0 , MI_TAG_SKIPPED } |
Public Member Functions | |
| CSimpleXmlFileReadArchive (const QString &filePath, bool serializeHeader=true, const iser::CArchiveTag &rootTag=s_acfRootTag) | |
| ~CSimpleXmlFileReadArchive () override | |
Public Member Functions inherited from iser::CXmlStreamReadArchiveBase | |
| int | GetLastReadLine () const |
Public Member Functions inherited from iser::CXmlReadArchiveBase | |
| virtual bool | IsTagSkippingSupported () const |
| Check if skiping to the end of tag on EndTag is supported. | |
| bool | ProcessAnyList (const iser::CArchiveTag &listTag, const iser::CArchiveTag &subTag, int count, std::function< bool(int, iser::IArchive &)> iterArchiveFn, std::function< bool(int)> resizeFn=nullptr) override |
| bool | ProcessGroupList (const iser::CArchiveTag &listTag, const iser::CArchiveTag &groupTag, int count, std::function< bool(int, iser::IArchive &)> groupArchiveFn, std::function< bool(int)> resizeFn=nullptr) override |
| bool | ProcessLeaf (const iser::CArchiveTag &tag, QByteArray &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const iser::CArchiveTag &tag, QString &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, bool &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, char &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, quint8 &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, qint8 &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, quint16 &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, qint16 &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, quint32 &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, qint32 &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, quint64 &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, qint64 &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, float &value) override |
| Process primitive type. | |
| bool | ProcessLeaf (const CArchiveTag &tag, double &value) override |
| Process primitive type. | |
Public Member Functions inherited from iser::CTextReadArchiveBase | |
| bool | ProcessGroup (const iser::CArchiveTag &tag, std::function< bool(iser::IArchive &)> groupArchiveFn) override |
| bool | ProcessObject (const CArchiveTag &tag, ISerializable &object) override |
| Process object enclosed by some tag. | |
| bool | ProcessBytes (const CArchiveTag &tag, void *dataPtr, int size) override |
| 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 IVersionInfo & | GetVersionInfo () const override |
| Get version of archived stream for specific versioning type. | |
Public Member Functions inherited from iser::CArchiveBase | |
Public Member Functions inherited from iser::IArchive | |
| virtual bool | ProcessGroup (const CArchiveTag &tag, std::function< bool(IArchive &)> groupArchiveFn)=0 |
| Process some group of elements encapsulated in single tag. | |
| virtual bool | ProcessAnyList (const CArchiveTag &listTag, const CArchiveTag &subTag, int count, std::function< bool(int, IArchive &)> iterArchiveFn, std::function< bool(int)> resizeFn=nullptr)=0 |
| Process some list of elements. | |
| virtual bool | ProcessGroupList (const CArchiveTag &listTag, const CArchiveTag &groupTag, int count, std::function< bool(int, IArchive &)> groupArchiveFn, std::function< bool(int)> resizeFn=nullptr)=0 |
| Process list of elements in groups. | |
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. | |
Public Member Functions inherited from ifile::CFileArchiveInfo | |
| CFileArchiveInfo (const QString &filePath) | |
| virtual const QString & | GetCurrentFilePath () const |
Public Member Functions inherited from ifile::IFileArchiveInfo | |
Protected Member Functions | |
| 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::CXmlStreamReadArchiveBase | |
| CXmlStreamReadArchiveBase (const CArchiveTag &rootTag=s_acfRootTag) | |
| bool | ReadToDelimeter (const QByteArray &delimeters, QByteArray &result, bool skipDelimeter=true, char *foundDelimeterPtr=nullptr) override |
| Read input stream till one of specified delimeters is found. | |
| 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::CXmlReadArchiveBase | |
| CXmlReadArchiveBase (const CArchiveTag &rootTag) | |
| bool | InternEndTag (const CArchiveTag &tag, bool &wasTagSkipped) |
| Extended implementation of EndTag() with additional flag signalizing that tag is skipped. | |
| bool | ReadXmlHeader () |
| bool | ReadXmlFooter () |
| bool | BeginCountTag (const CArchiveTag &tag, int &count) |
| virtual bool | ReadTextNode (QByteArray &text) |
| Read single unformatted text node. | |
| bool | BeginTag (const CArchiveTag &tag) override |
| Begin of archive tag. | |
| bool | EndTag (const CArchiveTag &tag) override |
| End of archive tag. | |
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. | |
Additional Inherited Members | |
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 () |
Protected Attributes inherited from iser::CXmlStreamReadArchiveBase | |
| QTextStream | m_stream |
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 XML file.
This implementation doesn't use any external parser. It uses only single pass and is very fast, but it doesn't support of tags skipping and it needs counter attribute indicating number of subtags for each mutli tag node. XML file in this format can be created using ifile::CSimpleXmlFileWriteArchive.
Definition at line 28 of file CSimpleXmlFileReadArchive.h.
Definition at line 33 of file CSimpleXmlFileReadArchive.h.
Definition at line 34 of file CSimpleXmlFileReadArchive.h.
|
explicit |
|
override |
|
overrideprotectedvirtual |
Decorate message parts before outputting.
Reimplemented from istd::ILogger.
© Witold Gantzke and Kirill Lepskiy