#include <s32ucmp.h>
class TUnicodeExpander : public TUnicodeCompressionState |
Public Member Functions | |
---|---|
TUnicodeExpander() | |
IMPORT_C void | ExpandL(MUnicodeSink &, RReadStream &, TInt, TInt, TInt *, TInt *) |
IMPORT_C void | ExpandL(MUnicodeSink &, const TUint8 *, TInt, TInt, TInt *, TInt *) |
IMPORT_C TInt | ExpandedSizeL(RReadStream &, TInt) |
IMPORT_C TInt | ExpandedSizeL(const TUint8 *, TInt) |
IMPORT_C TInt | FlushL(MUnicodeSink &, TInt, TInt &) |
Inherited Enumerations | |
---|---|
TUnicodeCompressionState:@51 | |
TUnicodeCompressionState:TPanic |
A class to hold functions to expand text using the Standard Compression Scheme for Unicode.
A note on error handling and leaving.
Although all the public functions except the constructor can leave, it is possible to guarantee success: that is, guarantee that a call will not leave, and that expansion will be completed. To do this, (i) supply a MUnicodeSink object with a non-leaving WriteUnicodeValueL function, such as a TMemoryUnicodeSink; (ii) read input from a RReadStream with a non-leaving ReadL function; (iii) supply a big enough buffer to write the ouput; you can find out how big by calling ExpandedSizeL, using methods (i) and (ii) to guarantee success.
This guarantee of success is particularly useful when expanding from one memory buffer to another.
IMPORT_C | TUnicodeExpander | ( | ) |
IMPORT_C void | ExpandL | ( | MUnicodeSink & | aOutput, |
RReadStream & | aInput, | |||
TInt | aMaxOutputWords = KMaxTInt , | |||
TInt | aMaxInputBytes = KMaxTInt , | |||
TInt * | aOutputWords = 0, | |||
TInt * | aInputBytes = 0 | |||
) |