Botan  2.7.0
Crypto and TLS for C++11
Public Member Functions | Static Public Member Functions | List of all members
Botan::LZMA_Compression Class Referencefinal

#include <lzma.h>

Inheritance diagram for Botan::LZMA_Compression:
Botan::Stream_Compression Botan::Compression_Algorithm

Public Member Functions

void clear () final override
 
void finish (secure_vector< uint8_t > &buf, size_t offset) final override
 
std::string name () const override
 
void update (secure_vector< uint8_t > &buf, size_t offset, bool flush) final override
 

Static Public Member Functions

static std::unique_ptr< Compression_Algorithmcreate (const std::string &algo_spec)
 
static std::unique_ptr< Compression_Algorithmcreate_or_throw (const std::string &algo_spec)
 

Detailed Description

LZMA Compression

Definition at line 20 of file lzma.h.

Member Function Documentation

◆ clear()

void Botan::Stream_Compression::clear ( )
finaloverridevirtualinherited

Reset the state and abort the current message; start can be called again to process a new message.

Implements Botan::Compression_Algorithm.

Definition at line 50 of file compress_utils.cpp.

Referenced by Botan::Stream_Compression::finish().

51  {
52  m_stream.reset();
53  }

◆ create()

std::unique_ptr< Compression_Algorithm > Botan::Compression_Algorithm::create ( const std::string &  algo_spec)
staticinherited

Create an instance based on a name, or return null if the algo combination cannot be found.

Definition at line 54 of file compression.cpp.

References Botan::make_compressor().

Referenced by Botan::Compression_Algorithm::create_or_throw().

55  {
56  std::unique_ptr<Compression_Algorithm> compressor(make_compressor(algo));
57  return compressor;
58  }
Compression_Algorithm * make_compressor(const std::string &name)
Definition: compression.cpp:27

◆ create_or_throw()

std::unique_ptr< Compression_Algorithm > Botan::Compression_Algorithm::create_or_throw ( const std::string &  algo_spec)
staticinherited

Create an instance based on a name

Parameters
algo_specalgorithm name Throws Lookup_Error if not found.

Definition at line 62 of file compression.cpp.

References Botan::Compression_Algorithm::create().

63  {
64  if(auto compressor = Compression_Algorithm::create(algo))
65  {
66  return compressor;
67  }
68  throw Lookup_Error("Compression", algo, "");
69  }
static std::unique_ptr< Compression_Algorithm > create(const std::string &algo_spec)
Definition: compression.cpp:54

◆ finish()

void Botan::Stream_Compression::finish ( secure_vector< uint8_t > &  final_block,
size_t  offset 
)
finaloverridevirtualinherited

Finish compressing

Parameters
final_blockin/out parameter
offsetan offset into final_block to begin processing

Implements Botan::Compression_Algorithm.

Definition at line 118 of file compress_utils.cpp.

References BOTAN_ASSERT, and Botan::Stream_Compression::clear().

119  {
120  BOTAN_ASSERT(m_stream, "Initialized");
121  process(buf, offset, m_stream->finish_flag());
122  clear();
123  }
#define BOTAN_ASSERT(expr, assertion_made)
Definition: assert.h:43
void clear() final override

◆ name()

std::string Botan::LZMA_Compression::name ( ) const
inlineoverridevirtual
Returns
name of the compression algorithm

Implements Botan::Compression_Algorithm.

Definition at line 23 of file lzma.h.

23 { return "LZMA_Compression"; }

◆ update()

void Botan::Stream_Compression::update ( secure_vector< uint8_t > &  buf,
size_t  offset,
bool  flush 
)
finaloverridevirtualinherited

Process some data.

Parameters
bufin/out parameter which will possibly be resized or swapped
offsetan offset into blocks to begin processing
flushif true the compressor will be told to flush state

Implements Botan::Compression_Algorithm.

Definition at line 112 of file compress_utils.cpp.

References BOTAN_ASSERT.

113  {
114  BOTAN_ASSERT(m_stream, "Initialized");
115  process(buf, offset, flush ? m_stream->flush_flag() : m_stream->run_flag());
116  }
#define BOTAN_ASSERT(expr, assertion_made)
Definition: assert.h:43

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