KMIME Library
KMime::Encoder Class Reference
Stateful encoder class. More...
#include <kmime_codecs.h>
Inherited by KMime::Base64Encoder, KMime::IdentityEnDecoder, KMime::QuotedPrintableEncoder, and KMime::Rfc2047QEncodingEncoder.
Public Member Functions | |
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 |
virtual | ~Encoder () |
Protected Types | |
enum | { maxBufferedChars = 8 } |
Protected Member Functions | |
Encoder (bool withCRLF=false) | |
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.
Definition at line 394 of file kmime_codecs.h.
Member Enumeration Documentation
anonymous enum [protected] |
The maximum number of characters permitted in the output buffer.
Definition at line 437 of file kmime_codecs.h.
Constructor & Destructor Documentation
KMime::Encoder::Encoder | ( | bool | withCRLF = false |
) | [inline, explicit, protected] |
Protected constructor.
Use KMime::Codec::makeEncoder if you want one.
Definition at line 403 of file kmime_codecs.h.
virtual KMime::Encoder::~Encoder | ( | ) | [inline, virtual] |
Member Function Documentation
virtual bool KMime::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 KMime::Codec for calling conventions.
- Parameters:
-
scursor is a pointer to the start of the input buffer. send is a pointer to the end of the input buffer. dcursor is a pointer to the start of the output buffer. dend is a pointer to the end of the output buffer.
virtual bool KMime::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 KMime::Codec for calling conventions.
- Parameters:
-
dcursor is a pointer to the start of the output buffer. dend is a pointer to the end of the output buffer.
bool KMime::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:
-
dcursor is a pointer to the start of the output buffer. dend is a pointer to the end of the output buffer.
- Returns:
- true if all chars could be written, false otherwise
Definition at line 214 of file kmime_codecs.cpp.
bool KMime::Encoder::write | ( | char | ch, | |
char *& | dcursor, | |||
const char *const | dend | |||
) | [inline, protected] |
Writes character ch
to the output stream or the output buffer, depending on whether or not the output stream has space left.
- Parameters:
-
ch is the character to write. dcursor is a pointer to the start of the output buffer. dend is a pointer to the end of the output buffer.
- Returns:
- true if written to the output stream; else false if buffered.
Definition at line 451 of file kmime_codecs.h.
bool KMime::Encoder::writeCRLF | ( | char *& | dcursor, | |
const char *const | dend | |||
) | [inline, protected] |
Convenience function.
Outputs LF or CRLF, based on the state of mWithCRLF.
- Parameters:
-
dcursor is a pointer to the start of the output buffer. dend is a pointer to the end of the output buffer.
Definition at line 485 of file kmime_codecs.h.
The documentation for this class was generated from the following files: