KCodecs::Encoder

Search for usage in LXR

#include <KCodecs>

Inherited by KCodecs::Base64Encoder, KCodecs::QuotedPrintableEncoder, and KCodecs::Rfc2047QEncodingEncoder.

Public Member Functions

virtual ~Encoder ()
 
virtual bool encode (const char *&scursor, const char *const send, char *&dcursor, const char *const dend)=0
 
virtual bool finish (char *&dcursor, const char *const dend)=0
 

Protected Types

enum  { maxBufferedChars = 8 }
 

Protected Member Functions

 Encoder (Codec::NewlineType newline=Codec::NewlineLF)
 
bool flushOutputBuffer (char *&dcursor, const char *const dend)
 
bool write (char ch, char *&dcursor, const char *const dend)
 
bool writeCRLF (char *&dcursor, const char *const dend)
 

Detailed Description

Stateful encoder class.

Stateful encoder class, modeled after QTextEncoder.

Since
5.5

Definition at line 635 of file kcodecs.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected

The maximum number of characters permitted in the output buffer.

Enumerator
maxBufferedChars 

Eight.

Definition at line 678 of file kcodecs.h.

Constructor & Destructor Documentation

◆ Encoder()

KCodecs::Encoder::Encoder ( Codec::NewlineType newline = Codec::NewlineLF)
explicitprotected

Protected constructor.

Use KCodecs::Codec::makeEncoder if you want one.

Parameters
newlinewhether make new lines using CRLF, or LF (default is LF).

Definition at line 648 of file kcodecs.cpp.

◆ ~Encoder()

KCodecs::Encoder::~Encoder ( )
virtualdefault

Destroys the encoder.

Member Function Documentation

◆ encode()

virtual bool KCodecs::Encoder::encode ( const char *& scursor,
const char *const send,
char *& dcursor,
const char *const dend )
pure virtual

Encodes a chunk of data, maintaining state information between calls.

See KCodecs::Codec for calling conventions.

Parameters
scursoris a pointer to the start of the input buffer.
sendis a pointer to the end of the input buffer.
dcursoris a pointer to the start of the output buffer.
dendis a pointer to the end of the output buffer.

◆ finish()

virtual bool KCodecs::Encoder::finish ( char *& dcursor,
const char *const dend )
pure virtual

Call this method to finalize the output stream.

Writes all remaining data and resets the encoder. See KCodecs::Codec for calling conventions.

Parameters
dcursoris a pointer to the start of the output buffer.
dendis a pointer to the end of the output buffer.

◆ flushOutputBuffer()

bool KCodecs::Encoder::flushOutputBuffer ( char *& dcursor,
const char *const dend )
protected

Writes characters from the output buffer to the output stream.

Implementations of encode and finish should call this at the very beginning and for each iteration of the while loop.

Parameters
dcursoris a pointer to the start of the output buffer.
dendis a pointer to the end of the output buffer.
Returns
true if all chars could be written, false otherwise

Definition at line 674 of file kcodecs.cpp.

◆ write()

bool KCodecs::Encoder::write ( char ch,
char *& dcursor,
const char *const dend )
protected

Writes character ch to the output stream or the output buffer, depending on whether or not the output stream has space left.

Parameters
chis the character to write.
dcursoris a pointer to the start of the output buffer.
dendis a pointer to the end of the output buffer.
Returns
true if written to the output stream; else false if buffered.

Definition at line 655 of file kcodecs.cpp.

◆ writeCRLF()

bool KCodecs::Encoder::writeCRLF ( char *& dcursor,
const char *const dend )
protected

Convenience function.

Outputs LF or CRLF, based on the state of mWithCRLF.

Parameters
dcursoris a pointer to the start of the output buffer.
dendis a pointer to the end of the output buffer.

Definition at line 694 of file kcodecs.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sun Feb 25 2024 18:47:24 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.