Maps SDK for C++ 1.0.0
Loading...
Searching...
No Matches
gem::DataArchiver Class Reference

Data archiver. More...

Inheritance diagram for gem::DataArchiver:
Collaboration diagram for gem::DataArchiver:

Public Member Functions

 DataArchiver (const DataArchiver &)=delete
 DataArchiver (DataArchiver &&)=default
 Default move constructor noexcept is deduced.
DataArchiver & operator= (const DataArchiver &)=delete
 Default copy assignment.
DataArchiver & operator= (DataArchiver &&)=default
 Default move assignment noexcept is deduced.
DataBuffer deflate (const DataBuffer &buffer, EArchiveLevel level=AL_Balanced, EArchiveMethod method=AM_Default) const noexcept
 Deflate a source data buffer using the given method and level.
DataBuffer inflate (const DataBuffer &buffer, EArchiveMethod method=AM_Default) const noexcept
 Inflate a source data buffer using the given method and level.
DataBuffer packCRC (const DataBuffer &buffer) const noexcept
 Pack a source data buffer with CRC.
std::pair< DataBuffer, int > unpackCRC (const DataBuffer &buffer) const noexcept
 Unpack and verify CRC from source data buffer.
DataBuffer packCRC2C (const DataBuffer &buffer) const noexcept
 Pack a source data buffer with CRC2C.
std::pair< DataBuffer, int > unpackCRC2C (const DataBuffer &buffer) const noexcept
 Unpack and verify CRC from source data buffer using CRC2C algorithm.

Detailed Description

Data archiver.

Implements share-read / share-write Api object over IDataArchiver.

This behaves like a singleton, i.e. all instances are sharing behind the same API interface

Member Function Documentation

◆ deflate()

DataBuffer gem::DataArchiver::deflate ( const DataBuffer & buffer,
EArchiveLevel level = AL_Balanced,
EArchiveMethod method = AM_Default ) const
inlinenoexcept

Deflate a source data buffer using the given method and level.

Parameters
[in]bufferSource data buffer
[in]methodDeflate method
[in]levelDeflate level
Returns
The result data buffer

◆ inflate()

DataBuffer gem::DataArchiver::inflate ( const DataBuffer & buffer,
EArchiveMethod method = AM_Default ) const
inlinenoexcept

Inflate a source data buffer using the given method and level.

Parameters
[in]bufferSource data buffer
[in]methodInflate method
Returns
The result data buffer

◆ packCRC()

DataBuffer gem::DataArchiver::packCRC ( const DataBuffer & buffer) const
inlinenoexcept

Pack a source data buffer with CRC.

Parameters
[in]bufferSource data buffer
Returns
The result data buffer

◆ packCRC2C()

DataBuffer gem::DataArchiver::packCRC2C ( const DataBuffer & buffer) const
inlinenoexcept

Pack a source data buffer with CRC2C.

Parameters
[in]bufferSource data buffer
Returns
The result data buffer

◆ unpackCRC()

std::pair< DataBuffer, int > gem::DataArchiver::unpackCRC ( const DataBuffer & buffer) const
inlinenoexcept

Unpack and verify CRC from source data buffer.

Parameters
[in]bufferSource data buffer
Returns
Pair<result data buffer without CRC, error>

◆ unpackCRC2C()

std::pair< DataBuffer, int > gem::DataArchiver::unpackCRC2C ( const DataBuffer & buffer) const
inlinenoexcept

Unpack and verify CRC from source data buffer using CRC2C algorithm.

Parameters
[in]bufferSource data buffer
Returns
Pair<result data buffer without CRC, error>