![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Simple implementation of archive writing to own ICF format binary file. More...
#include <CFileWriteArchive.h>
Classes | |
struct | TagStackElement |
Public Types | |
typedef iser::CBinaryWriteArchiveBase | BaseClass |
typedef CFileArchiveInfo | BaseClass2 |
![]() | |
typedef CWriteArchiveBase | BaseClass |
![]() | |
enum | MessageId { MI_TAG_ERROR = 0x3f320a0 , MI_TAG_SKIPPED } |
Public Member Functions | |
CFileWriteArchive (const QString &filePath, const iser::IVersionInfo *versionInfoPtr=nullptr, bool supportTagSkipping=true, bool serializeHeader=true) | |
Contructor. | |
bool | IsArchiveValid () const |
Return true if the archive is valid (e.g. | |
void | Flush () |
Force internal stream object to flush. | |
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 | EndTag (const iser::CArchiveTag &tag) |
End of archive tag. | |
virtual bool | ProcessData (void *data, int size) |
Process binary data block. | |
![]() | |
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 | Process (QString &value) |
Process primitive type. | |
![]() | |
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. | |
bool | ProcessBits (void *dataPtr, int bitsCount, int bytesCount) override |
Process binary data block. | |
![]() | |
virtual bool | BeginMultiTag (const CArchiveTag &tag, const CArchiveTag &subTag, int &count) |
Begin of archive tag containing set of subelements of the same type. | |
![]() | |
![]() | |
CFileArchiveInfo (const QString &filePath) | |
virtual const QString & | GetCurrentFilePath () const |
![]() |
Additional Inherited Members | |
![]() | |
static const CArchiveTag & | GetAcfRootTag () |
![]() | |
CBinaryWriteArchiveBase (const IVersionInfo *versionInfoPtr) | |
![]() | |
CWriteArchiveBase (const IVersionInfo *versionInfoPtr) | |
Constructor. | |
bool | SerializeIcfHeader () |
Serialize standard header. | |
![]() | |
CArchiveBase () | |
![]() | |
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=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. | |
![]() | |
QString | m_filePath |
![]() | |
static CArchiveTag | s_acfRootTag |
Simple implementation of archive writing to own ICF format binary file.
This imlementation is very fast and efficient and should be used if any standarized file format is needed.
Definition at line 28 of file CFileWriteArchive.h.
Definition at line 33 of file CFileWriteArchive.h.
Definition at line 34 of file CFileWriteArchive.h.
ifile::CFileWriteArchive::CFileWriteArchive | ( | const QString & | filePath, |
const iser::IVersionInfo * | versionInfoPtr = nullptr, | ||
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. |
|
virtual |
Begin of archive tag.
tag | tag object. |
useTagSkipping | flag signalling that support of tag skipping should be enabled. |
Reimplemented from iser::CBinaryWriteArchiveBase.
|
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.
Reimplemented from iser::CBinaryWriteArchiveBase.
void ifile::CFileWriteArchive::Flush | ( | ) |
Force internal stream object to flush.
|
inline |
Return true
if the archive is valid (e.g.
the file medium can be accessed)
Definition at line 89 of file CFileWriteArchive.h.
|
virtual |
Check if skiping to the end of tag on EndTag is supported.
Reimplemented from iser::CArchiveBase.
|
virtual |
Process binary data block.
dataPtr | pointer to memory block. |
size | size of memory block in bytes. |
Implements iser::IArchive.
© Witold Gantzke and Kirill Lepskiy