X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fiso2022jp.h;h=fa8454aeceeedb0e888656b7189e429a5b471e71;hp=ea5209e56c19d7e4157a5632685226343507aa56;hb=9da6abdcabec59f4845da256a8ad75a810ed1589;hpb=5ea1720bc90416df7ac5e28b145e9ebf7f76b7a2 diff --git a/source/iso2022jp.h b/source/iso2022jp.h index ea5209e..fa8454a 100644 --- a/source/iso2022jp.h +++ b/source/iso2022jp.h @@ -1,3 +1,10 @@ +/* $Id$ + +This file is part of libmspstrings +Copyright © 2006-2007 Mikko Rasa +Distributed under the LGPL +*/ + #ifndef MSP_STRINGS_ISO2022JP_H_ #define MSP_STRINGS_ISO2022JP_H_ @@ -18,19 +25,20 @@ public: class Encoder: public StringCodec::Encoder { public: - Encoder(): mode(ASCII) { } + Encoder(ErrorMode em=THROW_ON_ERROR): StringCodec::Encoder(em), mode(ASCII) { } void encode_char(wchar_t); void sync(); private: Mode mode; void switch_mode(Mode); + void append_replacement(); }; class Decoder: public StringCodec::Decoder { public: - Decoder(); + Decoder(ErrorMode =THROW_ON_ERROR); void decode_char(const std::string &, std::string::const_iterator &); void sync(); private: @@ -41,8 +49,8 @@ public: void switch_mode(Mode); }; - Encoder *create_encoder() const { return new Encoder; } - Decoder *create_decoder() const { return new Decoder; } + Encoder *create_encoder(ErrorMode em=THROW_ON_ERROR) const { return new Encoder(em); } + Decoder *create_decoder(ErrorMode em=THROW_ON_ERROR) const { return new Decoder(em); } }; } // namespace Msp