8#ifndef INCLUDED_BDLDE_QUOTEDPRINTABLEDECODER
9#define INCLUDED_BDLDE_QUOTEDPRINTABLEDECODER
155#include <bdlscm_version.h>
157#include <bsl_cstring.h>
158#include <bsl_queue.h>
159#include <bsl_vector.h>
176 e_SAW_EQUAL_STATE = 1,
178 e_NEED_HEX_STATE = 3,
179 e_NEED_SOFT_LF_STATE = 4,
180 e_NEED_HARD_LF_STATE = 5,
228#ifndef BDE_OMIT_INTERNAL_DEPRECATED
253#ifndef BDE_OMIT_INTERNAL_DEPRECATED
441QuotedPrintableDecoder::QuotedPrintableDecoder(
442 bool unrecognizedIsErrorFlag,
444: d_unrecognizedIsErrorFlag(unrecognizedIsErrorFlag)
445, d_lineBreakMode(lineBreakMode)
446, d_state(e_INPUT_STATE)
450 if (unrecognizedIsErrorFlag) {
462 int len =
sizeof(*s_defaultEquivClassCRLF_p) * 256;
496 return e_ERROR_STATE ==
d_state;
Definition bdlde_quotedprintabledecoder.h:168
int d_bufferLength
Definition bdlde_quotedprintabledecoder.h:286
static const char s_componentName[]
Name of component used when reporting errors.
Definition bdlde_quotedprintabledecoder.h:262
static const char * s_defaultEquivClassStrict_p
Default map of unsigned char to equivalence class for strict mode.
Definition bdlde_quotedprintabledecoder.h:268
int endConvert(char *out, int *numOut, int maxNumOut=-1)
bool isMaximal() const
Definition bdlde_quotedprintabledecoder.h:506
int convert(char *out, int *numOut, int *numIn, const char *begin, const char *end, int maxNumOut=-1)
static const char * s_defaultEquivClassCRLF_p
Definition bdlde_quotedprintabledecoder.h:272
static const char * lineBreakModeToAscii(LineBreakMode mode)
Definition bdlde_quotedprintabledecoder.h:433
LineBreakMode lineBreakMode() const
Return the line break mode specified for this decoder.
Definition bdlde_quotedprintabledecoder.h:519
int numOutputPending() const
Definition bdlde_quotedprintabledecoder.h:525
char d_hexBuffer
Definition bdlde_quotedprintabledecoder.h:287
bool isInitialState() const
Definition bdlde_quotedprintabledecoder.h:500
LineBreakMode d_lineBreakMode
Definition bdlde_quotedprintabledecoder.h:283
static const int s_defaultMaxLineLength
Definition bdlde_quotedprintabledecoder.h:278
char * d_equivClass_p
Definition bdlde_quotedprintabledecoder.h:289
void reset()
Definition bdlde_quotedprintabledecoder.h:473
int d_state
Definition bdlde_quotedprintabledecoder.h:284
static const unsigned char *const s_decodingMap_p
Definition bdlde_quotedprintabledecoder.h:276
static const bool s_defaultUnrecognizedIsErrorFlag
Default error reporting mode.
Definition bdlde_quotedprintabledecoder.h:265
EquivalenceClasses
Definition bdlde_quotedprintabledecoder.h:186
@ e_UC_
Definition bdlde_quotedprintabledecoder.h:226
@ e_HX_
Definition bdlde_quotedprintabledecoder.h:198
@ BDEDE_CR
Definition bdlde_quotedprintabledecoder.h:238
@ e_RC
Definition bdlde_quotedprintabledecoder.h:194
@ BDEDE_LC_
Definition bdlde_quotedprintabledecoder.h:239
@ e_LC
Definition bdlde_quotedprintabledecoder.h:220
@ BDEDE_WS
Definition bdlde_quotedprintabledecoder.h:236
@ e_CR
Definition bdlde_quotedprintabledecoder.h:211
@ e_WS
Definition bdlde_quotedprintabledecoder.h:207
@ BDEDE_UC
Definition bdlde_quotedprintabledecoder.h:244
@ BDEDE_CR_
Definition bdlde_quotedprintabledecoder.h:237
@ e_WS_
Definition bdlde_quotedprintabledecoder.h:206
@ BDEDE_LL_
Definition bdlde_quotedprintabledecoder.h:240
@ e_CR_
Definition bdlde_quotedprintabledecoder.h:210
@ e_EQ_
Definition bdlde_quotedprintabledecoder.h:202
@ e_LL_
Definition bdlde_quotedprintabledecoder.h:217
@ BDEDE_RC_
Definition bdlde_quotedprintabledecoder.h:229
@ e_HX
Definition bdlde_quotedprintabledecoder.h:199
@ BDEDE_WS_
Definition bdlde_quotedprintabledecoder.h:235
@ BDEDE_LL
Definition bdlde_quotedprintabledecoder.h:242
@ BDEDE_LC
Definition bdlde_quotedprintabledecoder.h:241
@ e_LL
Definition bdlde_quotedprintabledecoder.h:222
@ e_RC_
Definition bdlde_quotedprintabledecoder.h:193
@ BDEDE_UC_
Definition bdlde_quotedprintabledecoder.h:243
@ BDEDE_HX
Definition bdlde_quotedprintabledecoder.h:232
@ BDEDE_HX_
Definition bdlde_quotedprintabledecoder.h:231
@ BDEDE_RC
Definition bdlde_quotedprintabledecoder.h:230
@ e_UC
Definition bdlde_quotedprintabledecoder.h:227
@ BDEDE_EQ
Definition bdlde_quotedprintabledecoder.h:234
@ BDEDE_EQ_
Definition bdlde_quotedprintabledecoder.h:233
@ e_EQ
Definition bdlde_quotedprintabledecoder.h:203
@ e_LC_
Definition bdlde_quotedprintabledecoder.h:215
bool isUnrecognizedAnError() const
Definition bdlde_quotedprintabledecoder.h:512
int d_outputLength
Definition bdlde_quotedprintabledecoder.h:288
~QuotedPrintableDecoder()
Destroy this object.
static const char * s_lineBreakModeName[]
Definition bdlde_quotedprintabledecoder.h:279
bool isError() const
Definition bdlde_quotedprintabledecoder.h:494
bool d_unrecognizedIsErrorFlag
Definition bdlde_quotedprintabledecoder.h:282
int outputLength() const
Definition bdlde_quotedprintabledecoder.h:531
bool isDone() const
Definition bdlde_quotedprintabledecoder.h:488
bool isAccepting() const
Definition bdlde_quotedprintabledecoder.h:482
LineBreakMode
Definition bdlde_quotedprintabledecoder.h:248
@ e_LF_MODE
Definition bdlde_quotedprintabledecoder.h:252
@ BDEDE_CRLF_MODE
Definition bdlde_quotedprintabledecoder.h:254
@ e_CRLF_MODE
Definition bdlde_quotedprintabledecoder.h:251
@ BDEDE_LF_MODE
Definition bdlde_quotedprintabledecoder.h:255
char d_buffer[90]
Definition bdlde_quotedprintabledecoder.h:285
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlde_base64alphabet.h:118