Public Types | Public Member Functions | List of all members
iser::IArchive Class Referenceabstract

Represent input/output persistence archive. More...

#include <IArchive.h>

Inheritance diagram for iser::IArchive:
istd::IPolymorphic iser::CArchiveBase iser::CReadArchiveBase iser::CWriteArchiveBase iser::CBinaryReadArchiveBase iser::CTextReadArchiveBase iser::CBinaryWriteArchiveBase iser::CTextWriteArchiveBase ifile::CFileReadArchive iser::CMemoryReadArchive iqt::CSettingsReadArchive iser::CCompactXmlReadArchiveBase iser::CXmlReadArchiveBase ifile::CFileWriteArchive iser::CMemoryWriteArchive iqt::CSettingsWriteArchive iser::CCompactXmlWriteArchiveBase iser::CXmlWriteArchiveBase

Public Types

enum  MessageId { MI_TAG_ERROR = 0x3f320a0, MI_TAG_SKIPPED }
 

Public Member Functions

virtual bool IsStoring () const =0
 Check if this archive is loading or storing. More...
 
virtual bool IsTagSkippingSupported () const =0
 Check if skiping to the end of tag on EndTag is supported. More...
 
virtual const IVersionInfoGetVersionInfo () const =0
 Get version of archived stream for specific versioning type. More...
 
virtual bool BeginTag (const CArchiveTag &tag)=0
 Begin of archive tag. More...
 
virtual bool BeginMultiTag (const CArchiveTag &tag, const CArchiveTag &subTag, int &count)=0
 Begin of archive tag containing set of subelements of the same type. More...
 
virtual bool EndTag (const CArchiveTag &tag)=0
 End of archive tag. More...
 
virtual bool Process (bool &value)=0
 Process primitive type. More...
 
virtual bool Process (char &value)=0
 Process primitive type. More...
 
virtual bool Process (quint8 &value)=0
 Process primitive type. More...
 
virtual bool Process (qint8 &value)=0
 Process primitive type. More...
 
virtual bool Process (quint16 &value)=0
 Process primitive type. More...
 
virtual bool Process (qint16 &value)=0
 Process primitive type. More...
 
virtual bool Process (quint32 &value)=0
 Process primitive type. More...
 
virtual bool Process (qint32 &value)=0
 Process primitive type. More...
 
virtual bool Process (quint64 &value)=0
 Process primitive type. More...
 
virtual bool Process (qint64 &value)=0
 Process primitive type. More...
 
virtual bool Process (float &value)=0
 Process primitive type. More...
 
virtual bool Process (double &value)=0
 Process primitive type. More...
 
virtual bool Process (QByteArray &value)=0
 Process primitive type. More...
 
virtual bool Process (QString &value)=0
 Process primitive type. More...
 
virtual bool ProcessData (void *dataPtr, int size)=0
 Process binary data block. More...
 
virtual bool ProcessBits (void *dataPtr, int bitsCount, int bytesCount)=0
 Process binary data block. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Detailed Description

Represent input/output persistence archive.

Definition at line 30 of file IArchive.h.

Member Enumeration Documentation

Enumerator
MI_TAG_ERROR 
MI_TAG_SKIPPED 

Definition at line 33 of file IArchive.h.

Member Function Documentation

virtual bool iser::IArchive::BeginMultiTag ( const CArchiveTag tag,
const CArchiveTag subTag,
int &  count 
)
pure 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.

Implemented in iqt::CSettingsWriteArchive, iqt::CSettingsReadArchive, iser::CCompactXmlWriteArchiveBase, iser::CCompactXmlReadArchiveBase, iser::CArchiveBase, iser::CXmlReadArchiveBase, and iser::CXmlWriteArchiveBase.

Referenced by ibase::TSerializableContainer< ItemClass, ContainerType >::Serialize(), idoc::TMultiPageDocumentWrap< Base >::Serialize(), iattr::TMultiAttribute< Value >::Serialize(), ibase::TFactorisableContainer< InterfaceClass >::Serialize(), icmm::TComposedColor< Size >::Serialize(), imath::TMathVectorWrap< Base >::Serialize(), imath::TFulcrumGrid< Position, Fulcrums >::Serialize(), and imath::TFastVector< MaxSize, Element >::Serialize().

virtual bool iser::IArchive::BeginTag ( const CArchiveTag tag)
pure virtual
virtual bool iser::IArchive::EndTag ( const CArchiveTag tag)
pure virtual
virtual const IVersionInfo& iser::IArchive::GetVersionInfo ( ) const
pure virtual

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.

Implemented in iser::CWriteArchiveBase, and iser::CReadArchiveBase.

Referenced by ilog::TExtMessage< Element >::Serialize().

virtual bool iser::IArchive::IsStoring ( ) const
pure virtual
virtual bool iser::IArchive::IsTagSkippingSupported ( ) const
pure virtual
virtual bool iser::IArchive::Process ( bool &  value)
pure virtual
virtual bool iser::IArchive::Process ( char &  value)
pure virtual
virtual bool iser::IArchive::Process ( quint8 &  value)
pure virtual
virtual bool iser::IArchive::Process ( qint8 &  value)
pure virtual
virtual bool iser::IArchive::Process ( quint16 &  value)
pure virtual
virtual bool iser::IArchive::Process ( qint16 &  value)
pure virtual
virtual bool iser::IArchive::Process ( quint32 &  value)
pure virtual
virtual bool iser::IArchive::Process ( qint32 &  value)
pure virtual
virtual bool iser::IArchive::Process ( quint64 &  value)
pure virtual
virtual bool iser::IArchive::Process ( qint64 &  value)
pure virtual
virtual bool iser::IArchive::Process ( float &  value)
pure virtual
virtual bool iser::IArchive::Process ( double &  value)
pure virtual
virtual bool iser::IArchive::Process ( QByteArray &  value)
pure virtual
virtual bool iser::IArchive::Process ( QString &  value)
pure virtual
virtual bool iser::IArchive::ProcessBits ( void *  dataPtr,
int  bitsCount,
int  bytesCount 
)
pure virtual

Process binary data block.

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

Implemented in iser::CBitMemoryReadArchive, iser::CBitMemoryWriteArchive, iser::CWriteArchiveBase, and iser::CReadArchiveBase.

virtual bool iser::IArchive::ProcessData ( void *  dataPtr,
int  size 
)
pure virtual

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

© 2007-2017 Witold Gantzke and Kirill Lepskiy