Yate

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Attributes | List of all members
Compressor Class Referenceabstract

An abstract data (de)compressor. More...

`#include <yateclass.h>`

Inheritance diagram for Compressor:

## Public Member Functions
| Compressor (const char *format, const char *name=0)
virtual | ~Compressor ()
const String & | format () const
virtual bool | init (bool comp=true, bool decomp=true, const NamedList &params=NamedList::empty())
virtual void | finalize (bool comp)
virtual int | compress (const void *buf, unsigned int len, DataBlock &dest)
virtual int | decompress (const void *buf, unsigned int len, DataBlock &dest)
virtual int | writeComp (const void *buf, unsigned int len, bool flush)=0
int | writeComp (const DataBlock &data, bool flush)
int | writeComp (const String &data, bool flush)
virtual int | readComp (DataBlock &buf, bool flush)=0
virtual int | writeDecomp (const void *buf, unsigned int len, bool flush)=0
int | writeDecomp (const DataBlock &data, bool flush)
int | writeDecomp (const String &data, bool flush)
virtual int | readDecomp (DataBlock &buf, bool flush)=0
Public Member Functions inherited from String
| String ()
| String (const char *value, int len=-1)
| String (char value, unsigned int repeat=1)
| String (int32_t value)
| String (uint32_t value)
| String (int64_t value)
| String (uint64_t value)
| String (bool value)
| String (double value)
| String (const String &value)
| String (const String *value)
virtual | ~String ()
virtual void * | getObject (const String &name) const
const char * | c_str () const
const char * | safe () const
const char * | safe (const char *defStr) const
unsigned int | length () const
bool | null () const
int | lenUtf8 (uint32_t maxChar=0x10ffff, bool overlong=false) const
int | fixUtf8 (const char *replace=0, uint32_t maxChar=0x10ffff, bool overlong=false)
unsigned int | encodeFlags (const TokenDict *tokens) const
uint64_t | encodeFlags (const TokenDict64 *tokens) const
const String & | decodeFlags (unsigned int flags, const TokenDict *tokens, bool unknownflag=true)
const String & | decodeFlags (uint64_t flags, const TokenDict64 *tokens, bool unknownflag=true)
bool | checkBOM () const
bool | stripBOM ()
unsigned int | hash () const
void | clear ()
char | at (int index) const
String | substr (int offs, int len=-1) const
String & | trimBlanks ()
String & | trimSpaces ()
virtual const String & | toString () const
int | toInteger (int defvalue=0, int base=0, int minvalue=INT_MIN, int maxvalue=INT_MAX, bool clamp=true) const
int | toInteger (const TokenDict *tokens, int defvalue=0, int base=0) const
long int | toLong (long int defvalue=0, int base=0, long int minvalue=LONG_MIN, long int maxvalue=LONG_MAX, bool clamp=true) const
int64_t | toInt64 (int64_t defvalue=0, int base=0, int64_t minvalue=LLONG_MIN, int64_t maxvalue=LLONG_MAX, bool clamp=true) const
uint64_t | toUInt64 (uint64_t defvalue=0, int base=0, uint64_t minvalue=0, uint64_t maxvalue=ULLONG_MAX, bool clamp=true) const
double | toDouble (double defvalue=0.0) const
bool | toBoolean (bool defvalue=false) const
bool | isBoolean () const
String & | toUpper ()
String & | toLower ()
char | operator[] (signed int index) const
char | operator[] (unsigned int index) const
| operator const char * () const
String & | assign (const char *value, int len=-1)
String & | assign (char value, unsigned int repeat=1)
String & | hexify (void *data, unsigned int len, char sep=0, bool upCase=false)
String & | operator= (const String &value)
String & | operator= (const String *value)
String & | operator= (const char *value)
String & | operator= (char value)
String & | operator= (int32_t value)
String & | operator= (uint32_t value)
String & | operator= (int64_t value)
String & | operator= (uint64_t value)
String & | operator= (bool value)
String & | operator= (double value)
String & | operator+= (const char *value)
String & | operator+= (char value)
String & | operator+= (int32_t value)
String & | operator+= (uint32_t value)
String & | operator+= (int64_t value)
String & | operator+= (uint64_t value)
String & | operator+= (bool value)
String & | operator+= (double value)
bool | operator== (const char *value) const
bool | operator!= (const char *value) const
bool | operator== (const String &value) const
bool | operator!= (const String &value) const
bool | operator&= (const char *value) const
bool | operator|= (const char *value) const
String & | operator<< (const char *value)
String & | operator<< (char value)
String & | operator<< (int32_t value)
String & | operator<< (uint32_t value)
String & | operator<< (int64_t value)
String & | operator<< (uint64_t value)
String & | operator<< (bool value)
String & | operator<< (double value)
String & | operator>> (const char *skip)
String & | operator>> (char &store)
String & | operator>> (UChar &store)
String & | operator>> (int &store)
String & | operator>> (unsigned int &store)
String & | operator>> (bool &store)
String & | append (const char *value, int len)
String & | append (const char *value, const char *separator=0, bool force=false)
String & | append (const ObjList *list, const char *separator=0, bool force=false)
String & | append (const ObjList &list, const char *separator=0, bool force=false)
String & | append (double value, unsigned int decimals=3)
String & | printf (const char *format,...)
String & | printf (unsigned int length, const char *format,...)
String & | appendFixed (unsigned int fixedLength, const char *str, unsigned int len=-1, char fill= ' ', int align=Left)
String & | appendFixed (unsigned int fixedLength, const String &str, char fill= ' ', int align=Left)
int | find (char what, unsigned int offs=0) const
int | find (const char *what, unsigned int offs=0) const
int | rfind (char what) const
int | rfind (const char *what) const
bool | startsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
bool | endsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
bool | startSkip (const char *what, bool wordBreak=true, bool caseInsensitive=false)
String & | extractTo (const char *sep, String &store)
String & | extractTo (const char *sep, bool &store)
String & | extractTo (const char *sep, int &store, int base=0)
String & | extractTo (const char *sep, int &store, const TokenDict *tokens, int base=0)
String & | extractTo (const char *sep, double &store)
virtual bool | matches (const String &value) const
bool | matches (const Regexp &rexp)
int | matchOffset (int index=0) const
int | matchLength (int index=0) const
String | matchString (int index=0) const
String | replaceMatches (const String &templ) const
int | matchCount () const
ObjList * | split (char separator, bool emptyOK=true) const
ObjList * | split (const Regexp &reg, bool emptyOK=true) const
String | msgEscape (char extraEsc=0) const
String | msgUnescape (int *errptr=0, char extraEsc=0) const
String | sqlEscape (char extraEsc=0) const
String | uriEscape (char extraEsc=0, const char *noEsc=0) const
String | uriUnescape (int *errptr=0) const
Public Member Functions inherited from GenObject
| GenObject ()
virtual | ~GenObject ()
virtual bool | alive () const
virtual void | destruct ()
virtual const String & | traceId () const
NamedCounter * | getObjCounter () const
NamedCounter * | setObjCounter (NamedCounter *counter)

## Protected Attributes
String | m_format

## Additional Inherited Members
Public Types inherited from String
enum | Align { Left = 0, Center, Right }
Static Public Member Functions inherited from String
static const String & | empty ()
static const char * | boolText (bool value)
static int | lenUtf8 (const char *value, uint32_t maxChar=0x10ffff, bool overlong=false)
static bool | checkBOM (const char *str)
static bool | stripBOM (const char *&str)
static bool | stripBOM (char *&str)
static unsigned int | hash (const char *value, unsigned int h=0)
static String | msgEscape (const char *str, char extraEsc=0)
static String | msgUnescape (const char *str, int *errptr=0, char extraEsc=0)
static String | sqlEscape (const char *str, char extraEsc=0)
static String | uriEscape (const char *str, char extraEsc=0, const char *noEsc=0)
static String | uriEscape (const char *str, const char *extraEsc, const char *noEsc=0)
static String | uriUnescape (const char *str, int *errptr=0)
static const String * | atom (const String *&str, const char *val)
Static Public Member Functions inherited from GenObject
static void * | getObject (const String &name, const GenObject *obj)
static bool | getObjCounting ()
static void | setObjCounting (bool enable)
static NamedCounter * | getObjCounter (const String &name, bool create=true)
static ObjList & | getObjCounters ()
Protected Member Functions inherited from String
virtual void | changed ()

## Detailed Description

An abstract data (de)compressor.

The Compressor class provides an abstraction for data (de)compressor classes. The String component keeps an optional object name to be used for debug purposes

## Constructor & Destructor Documentation

Compressor | ( | const char * | format,
|  | const char * | name = `0`
| ) |  |
| inline

Constructor

Parameters

  format | Compression format
  name | Optional object name

virtual ~Compressor | ( |  | ) |
| inline virtual

Destructor

## Member Function Documentation

virtual int compress | ( | const void * | buf,
|  | unsigned int | len,
|  | DataBlock & | dest
| ) |  |
| virtual

Compress the input buffer, flush all pending data, append compressed data to the received data block

Parameters

  buf | Pointer to input data
  len | Length of input in bytes
  dest | Destination buffer

Returns
  The number of bytes wrote to compressor, negative on error

virtual int decompress | ( | const void * | buf,
|  | unsigned int | len,
|  | DataBlock & | dest
| ) |  |
| virtual

Decompress the input buffer, flush all pending data, append decompressed data to the received data block

Parameters

  buf | Pointer to input data
  len | Length of input in bytes
  dest | Destination buffer

Returns
  The number of bytes wrote to decompressor, negative on error

virtual void finalize | ( | bool | comp | ) |
| inline virtual

Finalize the (de)compression

Parameters

  comp | True to finalize compression, false to finalize decompression

const String& format | ( |  | ) | const
| inline

Retrieve (de)compressor format

Returns
  The format of this (de)compressor

virtual bool init | ( | bool | comp = `true`,
|  | bool | decomp = `true`,
|  | const NamedList & | params = `NamedList::empty()`
| ) |  |
| inline virtual

Initialize

Parameters

  comp | True to initialize compressor
  decomp | True to initialize decompressor
  params | Optional parameters

Returns
  True on success

virtual int readComp | ( | DataBlock & | buf,
|  | bool | flush
| ) |  |
| pure virtual

Read data from compressor. Append it to 'buf'

Parameters

  buf | Destination data block
  flush | True to flush all compressor input data

Returns
  The number of bytes read, negative on error

virtual int readDecomp | ( | DataBlock & | buf,
|  | bool | flush
| ) |  |
| pure virtual

Read data from decompressor. Append it to 'buf'

Parameters

  buf | Destination data block
  flush | True to flush all decompressor input data

Returns
  The number of bytes read, negative on error

virtual int writeComp | ( | const void * | buf,
|  | unsigned int | len,
|  | bool | flush
| ) |  |
| pure virtual

Push data to compressor. Flush compressor input if input buffer is NULL or the length is 0 and flush is true

Parameters

  buf | Pointer to input data
  len | Length of input in bytes
  flush | True to compress all now, false to let the compressor accumulate more data for better compression

Returns
  The number of bytes written, negative on error. An incomplete write may occur if the output buffer is full

Referenced by Compressor::writeComp().

int writeComp | ( | const DataBlock & | data,
|  | bool | flush
| ) |  |
| inline

Push data to compressor

Parameters

  data | Input data block
  flush | True to compress all now, false to let the compressor accumulate more data for better compression

Returns
  The number of bytes written, negative on error. An incomplete write may occur if the output buffer is full

References DataBlock::data(), DataBlock::length(), and Compressor::writeComp().

int writeComp | ( | const String & | data,
|  | bool | flush
| ) |  |
| inline

Push data to compressor

Parameters

  data | Input string
  flush | True to compress all now, false to let the compressor accumulate more data for better compression

Returns
  The number of bytes written, negative on error. An incomplete write may occur if the output buffer is full

References String::c_str(), String::length(), and Compressor::writeComp().

virtual int writeDecomp | ( | const void * | buf,
|  | unsigned int | len,
|  | bool | flush
| ) |  |
| pure virtual

Push data to decompressor

Parameters

  buf | Pointer to input data
  len | Length of input in bytes
  flush | True to try to decompress all data

Returns
  The number of bytes written, negative on error. An incomplete write may occur if the output buffer is full

Referenced by Compressor::writeDecomp().

int writeDecomp | ( | const DataBlock & | data,
|  | bool | flush
| ) |  |
| inline

Push data to decompressor

Parameters

  data | Input data block
  flush | True to try to decompress all data

Returns
  The number of bytes written, negative on error. An incomplete write may occur if the output buffer is full

References DataBlock::data(), DataBlock::length(), and Compressor::writeDecomp().

int writeDecomp | ( | const String & | data,
|  | bool | flush
| ) |  |
| inline

Push data to decompressor

Parameters

  data | Input string
  flush | True to try to decompress all data

Returns
  The number of bytes written, negative on error. An incomplete write may occur if the output buffer is full

References String::c_str(), String::length(), and Compressor::writeDecomp().

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

- yateclass.h