11 #include "wvlinklist.h" 91 {
return okay &&
_isok(); }
210 bool finish =
false);
223 bool finish =
false);
237 bool flush =
false,
bool finish =
false);
281 bool finish =
false);
299 bool flushmemmem(
const void *inmem,
size_t inlen,
void *outmem,
300 size_t *outlen,
bool finish =
false);
320 bool flush =
false,
bool finish =
false);
339 {
return encodebufmem(inbuf, outmem, outlen,
true, finish); }
357 bool finish =
false);
434 {
return WvString::null; }
559 : enc(enc), autofree(autofree) { }
560 ~ChainElem() {
if (autofree)
delete enc; }
562 DeclareWvList(ChainElem);
564 ChainElemList encoders;
578 void append(
WvEncoder *enc,
bool autofree);
584 void prepend(
WvEncoder *enc,
bool autofree);
601 void set_autofree(
WvEncoder *enc,
bool autofree);
628 bool continue_encode(
WvBuf &inbuf,
WvBuf &outbuf);
646 virtual bool _isok()
const;
702 bool do_encode(
WvBuf &in,
WvBuf &out, ChainElem *start_after,
706 #endif // __WVENCODER_H A WvFastString acts exactly like a WvString, but can take (const char *) strings without needing to a...
bool flush(WvBuf &inbuf, WvBuf &outbuf, bool finish=false)
Flushes the encoder and optionally finishes it.
void seterror(WVSTRING_FORMAT_DECL)
Sets an error condition, then setnotok().
bool flushbufstr(WvBuf &inbuf, WvString &outstr, bool finish=false)
Flushes data through the encoder from a buffer to a string.
bool flushstrmem(WvStringParm instr, void *outmem, size_t *outlen, bool finish=false)
Flushes data through the encoder from a string to memory.
bool reset()
Asks an encoder to reset itself to its initial state at creation time, if supported.
bool flushmembuf(const void *inmem, size_t inlen, WvBuf &outbuf, bool finish=false)
Flushes data through the encoder from memory to a buffer.
A very efficient passthrough encoder that just merges the input buffer into the output buffer...
WvString strflushbuf(WvBuf &inbuf, bool finish=false)
Flushes data through the encoder from a buffer to a string.
bool flushstrbuf(WvStringParm instr, WvBuf &outbuf, bool finish=false)
Flushes data through the encoder from a string to a buffer.
WvString geterror() const
Returns an error message if any is available.
virtual bool _reset()
Template method implementation of reset().
An encoder chain owns a list of encoders that are used in sequence to transform data from a source bu...
virtual bool _encode(WvBuf &inbuf, WvBuf &outbuf, bool flush)=0
Template method implementation of encode().
size_t bytes_processed()
Returns the number of bytes processed so far.
virtual ~WvEncoder()
Destroys the encoder.
virtual bool _finish(WvBuf &outbuf)
Template method implementation of finish().
virtual WvString _geterror() const
Template method implementation of geterror().
bool finish(WvBuf &outbuf)
Tells the encoder that NO MORE DATA will ever be encoded.
WvString strflushstr(WvStringParm instr, bool finish=false)
Flushes data through the encoder from a string to a string.
Specialization of WvBufBase for unsigned char type buffers intended for use with raw memory buffers...
void setnotok()
Sets 'okay' to false explicitly.
void setfinished()
Sets 'finished' to true explicitly.
An encoder that discards all of its input.
WvString strflushmem(const void *inmem, size_t inlen, bool finish=false)
Flushes data through the encoder from memory to a string.
WvEncoder()
Creates a new WvEncoder.
bool encodebufmem(WvBuf &inbuf, void *outmem, size_t *outlen, bool flush=false, bool finish=false)
Encodes data from a buffer to memory.
virtual bool _isok() const
Template method implementation of isok().
void seterror(WvStringParm message)
Sets an error condition, then setnotok().
bool isfinished() const
Returns true if the encoder can no longer encode data.
bool encode(WvBuf &inbuf, WvBuf &outbuf, bool flush=false, bool finish=false)
Reads data from the input buffer, encodes it, and writes the result to the output buffer...
WvString is an implementation of a simple and efficient printable-string class.
bool isok() const
Returns true if the encoder has not encountered an error.
bool flushbufmem(WvBuf &inbuf, void *outmem, size_t *outlen, bool finish=false)
Flushes data through the encoder from a buffer to memory.
bool encodebufstr(WvBuf &inbuf, WvString &outstr, bool flush=false, bool finish=false)
Encodes data from a buffer to a string.
bool flushstrstr(WvStringParm instr, WvString &outstr, bool finish=false)
Flushes data through the encoder from a string to a string.
virtual bool _isfinished() const
Template method implementation of isfinished().
bool flushmemmem(const void *inmem, size_t inlen, void *outmem, size_t *outlen, bool finish=false)
Flushes data through the encoder from memory to memory.