CPPMyth
Library to interoperate with MythTV server
Loading...
Searching...
No Matches
NSROOT::Compressor Class Reference

Public Types

typedef int(* STREAM_READER) (void *handle, void *buf, int sz)

Public Member Functions

 Compressor (STREAM_READER reader, void *handle, bool gzip, int level=-1)
 Compressor (const char *input, size_t len, bool gzip, int level=-1)
bool HasOutputData ()
 More data can be read from output stream.
bool IsCompleted ()
 Output stream is completed.
bool HasBufferError ()
 Data cannot be read from input.
bool HasStreamError ()
 Data error occurred from stream.
size_t ReadOutput (char *buf, size_t len)
 Copy data from output stream to the given pointer until size limit.
size_t FetchOutput (const char **data)
 Fetch next chunk of data from output stream. No copy of data is performed and result can be used as is.

Private Types

enum  { MEM_BUFFER , FCB_READER }

Private Member Functions

size_t NextChunk ()

Static Private Member Functions

static int _init (void *zp, void *out, size_t len, int wbits, int level)

Private Attributes

int m_status
int m_flush
bool m_stop
size_t m_chunk_size
enum NSROOT::Compressor:: { ... }  m_type_in
size_t m_input_len
const char * m_input
STREAM_READER m_rstream
void * m_rstream_hdl
char * m_rstream_buf
char * m_output
size_t m_output_pos
size_t m_output_len
void * _opaque

Detailed Description

Definition at line 33 of file compressor.h.

Member Typedef Documentation

◆ STREAM_READER

typedef int(* NSROOT::Compressor::STREAM_READER) (void *handle, void *buf, int sz)

Definition at line 36 of file compressor.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

Definition at line 88 of file compressor.h.

Constructor & Destructor Documentation

◆ Compressor() [1/2]

Compressor::Compressor ( STREAM_READER reader,
void * handle,
bool gzip,
int level = -1 )

Definition at line 71 of file compressor.cpp.

◆ Compressor() [2/2]

Compressor::Compressor ( const char * input,
size_t len,
bool gzip,
int level = -1 )

Definition at line 45 of file compressor.cpp.

◆ ~Compressor()

Compressor::~Compressor ( )
virtual

Definition at line 98 of file compressor.cpp.

Member Function Documentation

◆ _init()

int Compressor::_init ( void * zp,
void * out,
size_t len,
int wbits,
int level )
staticprivate

Definition at line 232 of file compressor.cpp.

◆ FetchOutput()

size_t Compressor::FetchOutput ( const char ** data)

Fetch next chunk of data from output stream. No copy of data is performed and result can be used as is.

Parameters
datapointer to const data pointer
Returns
the byte count available from the pointer to const data

Definition at line 186 of file compressor.cpp.

◆ HasBufferError()

bool Compressor::HasBufferError ( )

Data cannot be read from input.

Returns
Input status

Definition at line 121 of file compressor.cpp.

◆ HasOutputData()

bool NSROOT::Compressor::HasOutputData ( )
inline

More data can be read from output stream.

Returns
Output status

Definition at line 46 of file compressor.h.

◆ HasStreamError()

bool Compressor::HasStreamError ( )

Data error occurred from stream.

Returns
stream status

Definition at line 126 of file compressor.cpp.

◆ IsCompleted()

bool Compressor::IsCompleted ( )

Output stream is completed.

Returns
Output stream status

Definition at line 116 of file compressor.cpp.

◆ NextChunk()

size_t Compressor::NextChunk ( )
private

Definition at line 250 of file compressor.cpp.

◆ ReadOutput()

size_t Compressor::ReadOutput ( char * buf,
size_t len )

Copy data from output stream to the given pointer until size limit.

Parameters
bufpointer to copy data
lenmax length of data
Returns
lenght of copied data

Definition at line 139 of file compressor.cpp.

Field Documentation

◆ _opaque

void* NSROOT::Compressor::_opaque
private

Definition at line 105 of file compressor.h.

◆ m_chunk_size

size_t NSROOT::Compressor::m_chunk_size
private

Definition at line 86 of file compressor.h.

◆ m_flush

int NSROOT::Compressor::m_flush
private

Definition at line 84 of file compressor.h.

◆ m_input

const char* NSROOT::Compressor::m_input
private

Definition at line 95 of file compressor.h.

◆ m_input_len

size_t NSROOT::Compressor::m_input_len
private

Definition at line 94 of file compressor.h.

◆ m_output

char* NSROOT::Compressor::m_output
private

Definition at line 101 of file compressor.h.

◆ m_output_len

size_t NSROOT::Compressor::m_output_len
private

Definition at line 103 of file compressor.h.

◆ m_output_pos

size_t NSROOT::Compressor::m_output_pos
private

Definition at line 102 of file compressor.h.

◆ m_rstream

STREAM_READER NSROOT::Compressor::m_rstream
private

Definition at line 97 of file compressor.h.

◆ m_rstream_buf

char* NSROOT::Compressor::m_rstream_buf
private

Definition at line 99 of file compressor.h.

◆ m_rstream_hdl

void* NSROOT::Compressor::m_rstream_hdl
private

Definition at line 98 of file compressor.h.

◆ m_status

int NSROOT::Compressor::m_status
private

Definition at line 83 of file compressor.h.

◆ m_stop

bool NSROOT::Compressor::m_stop
private

Definition at line 85 of file compressor.h.


The documentation for this class was generated from the following files:
  • /home/jlb/src/janbar/PVR/cppmythlib/cppmyth/src/private/compressor.h
  • /home/jlb/src/janbar/PVR/cppmythlib/cppmyth/src/private/compressor.cpp