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

Basic implementation of an abstract archive for data writting. More...

#include <CWriteArchiveBase.h>

Inheritance diagram for iser::CWriteArchiveBase:
Collaboration diagram for iser::CWriteArchiveBase:

Classes

class  EmptyVersionInfo
 

Public Member Functions

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
virtual bool IsTagSkippingSupported () const
 Check if skiping to the end of tag on EndTag is supported.
 
virtual bool BeginMultiTag (const CArchiveTag &tag, const CArchiveTag &subTag, int &count)
 Begin of archive tag containing set of subelements of the same type.
 
- Public Member Functions inherited from iser::IArchive
virtual bool BeginTag (const CArchiveTag &tag)=0
 Begin of archive tag.
 
virtual bool EndTag (const CArchiveTag &tag)=0
 End of archive tag.
 
virtual bool Process (bool &value)=0
 Process primitive type.
 
virtual bool Process (char &value)=0
 Process primitive type.
 
virtual bool Process (quint8 &value)=0
 Process primitive type.
 
virtual bool Process (qint8 &value)=0
 Process primitive type.
 
virtual bool Process (quint16 &value)=0
 Process primitive type.
 
virtual bool Process (qint16 &value)=0
 Process primitive type.
 
virtual bool Process (quint32 &value)=0
 Process primitive type.
 
virtual bool Process (qint32 &value)=0
 Process primitive type.
 
virtual bool Process (quint64 &value)=0
 Process primitive type.
 
virtual bool Process (qint64 &value)=0
 Process primitive type.
 
virtual bool Process (float &value)=0
 Process primitive type.
 
virtual bool Process (double &value)=0
 Process primitive type.
 
virtual bool Process (QByteArray &value)=0
 Process primitive type.
 
virtual bool Process (QString &value)=0
 Process primitive type.
 
virtual bool ProcessData (void *dataPtr, int size)=0
 Process binary data block.
 

Protected Member Functions

 CWriteArchiveBase (const IVersionInfo *versionInfoPtr)
 Constructor.
 
bool SerializeIcfHeader ()
 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=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

- 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 Protected Attributes inherited from iser::CArchiveBase
static CArchiveTag s_acfRootTag
 

Detailed Description

Basic implementation of an abstract archive for data writting.

Definition at line 21 of file CWriteArchiveBase.h.

Constructor & Destructor Documentation

◆ CWriteArchiveBase()

iser::CWriteArchiveBase::CWriteArchiveBase ( const IVersionInfo * versionInfoPtr)
explicitprotected

Constructor.

Note
Please note no header will be serialized during contruction. You have to explicite call method SerializeIcfHeader in your derrived implementation.

Member Function Documentation

◆ GetVersionInfo()

const IVersionInfo & iser::CWriteArchiveBase::GetVersionInfo ( ) const
overridevirtual

Get version of archived stream for specific versioning type.

Parameters
versionIdversioning type. It allows you to distinguish different version aspects. For example version number of framework cann differ from application version.
See also
VersionId.

Implements iser::IArchive.

◆ IsChanging()

bool iser::CWriteArchiveBase::IsChanging ( ) const
overridevirtual

Check if this archive processing change the object state.

Implements iser::IArchive.

◆ ProcessBits()

bool iser::CWriteArchiveBase::ProcessBits ( void * dataPtr,
int bitsCount,
int bytesCount )
overridevirtual

Process binary data block.

Parameters
dataPtrpointer to memory block.
bitsCountnumber of bits.
bytesCountsize of memory block in bytes.

Implements iser::IArchive.

◆ SerializeIcfHeader()

bool iser::CWriteArchiveBase::SerializeIcfHeader ( )
protected

Serialize standard header.

During serialization of header list of known versions will be loaded.


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

© Witold Gantzke and Kirill Lepskiy