ACF $AcfVersion:0$
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
iser::CMemoryReadArchive Class Reference

Implementation of archive using memory buffer to read the persistent objects. More...

#include <CMemoryReadArchive.h>

Inheritance diagram for iser::CMemoryReadArchive:
iser::CBinaryReadArchiveBase iser::CReadArchiveBase iser::CArchiveBase iser::IArchive istd::ILogger istd::IPolymorphic istd::IPolymorphic iser::CBitMemoryReadArchive

Public Types

typedef CBinaryReadArchiveBase BaseClass
 
- Public Types inherited from iser::CBinaryReadArchiveBase
enum  MessageId { MI_STRING_TOO_LONG = 0x3f320b0 }
 
typedef CReadArchiveBase BaseClass
 
- Public Types inherited from iser::IArchive
enum  MessageId { MI_TAG_ERROR = 0x3f320a0 , MI_TAG_SKIPPED }
 

Public Member Functions

 CMemoryReadArchive (const void *bufferPtr, int bufferSize, bool serializeHeader=true)
 
 CMemoryReadArchive (const CMemoryWriteArchive &writeArchive, bool serializeHeader=true)
 
virtual void ResetPosition ()
 Seeks internal cursor to the begin of data.
 
virtual bool IsValid () const
 Returns true if the archive is in valid state and internal position cursor has not reached end of archive data.
 
virtual bool ProcessData (void *data, int size) override
 Process binary data block.
 
- Public Member Functions inherited from iser::CBinaryReadArchiveBase
virtual bool BeginTag (const CArchiveTag &tag) override
 Begins a tagged section in the archive.
 
virtual bool EndTag (const CArchiveTag &tag) override
 Ends a tagged section in the archive.
 
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 Process (QString &value) override
 Process primitive type.
 
- 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 IVersionInfoGetVersionInfo () 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.
 
virtual bool BeginMultiTag (const CArchiveTag &tag, const CArchiveTag &subTag, int &count) override
 Begins a tagged section containing multiple elements of the same type.
 
- 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 ()
 

Static Public Member Functions

static bool CloneObjectByArchive (const ISerializable &source, ISerializable &result)
 Clone serializable objects using iser::CMemoryWriteArchive and iser::CMemoryReadArchive archives.
 
- Static Public Member Functions inherited from iser::CArchiveBase
static const CArchiveTagGetAcfRootTag ()
 

Protected Member Functions

virtual int GetMaxStringLength () const override
 Get maximal allowed string size.
 
- 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

const quint8 * m_bufferPtr
 Pointer to the memory buffer used for reading data.
 
int m_bufferSize
 Size of the memory buffer used for reading data.
 
int m_readPosition
 Current position in the buffer from which data will be read next.
 
bool m_isValid
 Indicates whether the archive is in valid state.
 
int m_startPosition
 Start position of actual data in the buffer (after header, if any)
 

Additional Inherited Members

- Static Protected Attributes inherited from iser::CArchiveBase
static CArchiveTag s_acfRootTag
 

Detailed Description

Implementation of archive using memory buffer to read the persistent objects.

Internal format of this buffer is compatible with class iser::CMemoryWriteArchive.

Definition at line 23 of file CMemoryReadArchive.h.

Member Typedef Documentation

◆ BaseClass

Definition at line 26 of file CMemoryReadArchive.h.

Constructor & Destructor Documentation

◆ CMemoryReadArchive() [1/2]

iser::CMemoryReadArchive::CMemoryReadArchive ( const void *  bufferPtr,
int  bufferSize,
bool  serializeHeader = true 
)

◆ CMemoryReadArchive() [2/2]

iser::CMemoryReadArchive::CMemoryReadArchive ( const CMemoryWriteArchive writeArchive,
bool  serializeHeader = true 
)

Member Function Documentation

◆ CloneObjectByArchive()

static bool iser::CMemoryReadArchive::CloneObjectByArchive ( const ISerializable source,
ISerializable result 
)
static

Clone serializable objects using iser::CMemoryWriteArchive and iser::CMemoryReadArchive archives.

◆ GetMaxStringLength()

virtual int iser::CMemoryReadArchive::GetMaxStringLength ( ) const
overrideprotectedvirtual

Get maximal allowed string size.

Reimplemented from iser::CBinaryReadArchiveBase.

◆ IsValid()

virtual bool iser::CMemoryReadArchive::IsValid ( ) const
virtual

Returns true if the archive is in valid state and internal position cursor has not reached end of archive data.

Reimplemented in iser::CBitMemoryReadArchive.

◆ ProcessData()

virtual bool iser::CMemoryReadArchive::ProcessData ( void *  dataPtr,
int  size 
)
overridevirtual

Process binary data block.

Parameters
dataPtrpointer to memory block.
sizesize of memory block in bytes.

Implements iser::IArchive.

Reimplemented in iser::CBitMemoryReadArchive.

◆ ResetPosition()

virtual void iser::CMemoryReadArchive::ResetPosition ( )
virtual

Seeks internal cursor to the begin of data.

Reimplemented in iser::CBitMemoryReadArchive.

Member Data Documentation

◆ m_bufferPtr

const quint8* iser::CMemoryReadArchive::m_bufferPtr
protected

Pointer to the memory buffer used for reading data.

Definition at line 63 of file CMemoryReadArchive.h.

◆ m_bufferSize

int iser::CMemoryReadArchive::m_bufferSize
protected

Size of the memory buffer used for reading data.

Definition at line 68 of file CMemoryReadArchive.h.

◆ m_isValid

bool iser::CMemoryReadArchive::m_isValid
protected

Indicates whether the archive is in valid state.

Definition at line 78 of file CMemoryReadArchive.h.

◆ m_readPosition

int iser::CMemoryReadArchive::m_readPosition
protected

Current position in the buffer from which data will be read next.

Definition at line 73 of file CMemoryReadArchive.h.

◆ m_startPosition

int iser::CMemoryReadArchive::m_startPosition
protected

Start position of actual data in the buffer (after header, if any)

Definition at line 83 of file CMemoryReadArchive.h.


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