X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fstringcodec%2Fiso2022jp.h;h=a304c5646308be67ec44a95ad880fd8028df7f7f;hp=cfce718d433b16fdb498ab361f34ff23af6584e6;hb=41363aed34382386f915f17c1a961750b4fdcb14;hpb=967785734be5c3fc6f75da122c2d93ebbb338271 diff --git a/source/stringcodec/iso2022jp.h b/source/stringcodec/iso2022jp.h index cfce718..a304c56 100644 --- a/source/stringcodec/iso2022jp.h +++ b/source/stringcodec/iso2022jp.h @@ -1,12 +1,12 @@ -#ifndef MSP_STRINGS_ISO2022JP_H_ -#define MSP_STRINGS_ISO2022JP_H_ +#ifndef MSP_STRINGCODEC_ISO2022JP_H_ +#define MSP_STRINGCODEC_ISO2022JP_H_ #include "codec.h" namespace Msp { -namespace Codecs { +namespace StringCodec { -class Iso2022Jp: public Codec +class Iso2022Jp: public StandardCodec { public: enum Mode @@ -19,41 +19,40 @@ public: class Encoder: public Codec::Encoder { private: - Mode mode; + Mode mode = ASCII; public: - Encoder(ErrorMode em = THROW_ON_ERROR): Codec::Encoder(em), mode(ASCII) { } + Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { } - virtual void encode_char(UnicodeChar, std::string &); + virtual void encode_char(unichar, std::string &); virtual void sync(std::string &); virtual void reset(); private: void switch_mode(Mode, std::string &); - virtual void transliterate(UnicodeChar, std::string &); + virtual void transliterate(unichar, std::string &); }; class Decoder: public Codec::Decoder { private: - Mode mode; - Codec::Decoder *dec; + Mode mode = ASCII; + Codec::Decoder *dec = nullptr; public: - Decoder(ErrorMode =THROW_ON_ERROR); + Decoder(ErrorMode = DEFAULT); - virtual UnicodeChar decode_char(const std::string &, std::string::const_iterator &); + virtual unichar decode_char(const std::string &, std::string::const_iterator &); virtual void reset(); private: void switch_mode(Mode); }; - virtual const char *get_name() const { return "ISO-2022-JP"; } + Iso2022Jp(ErrorMode em = DEFAULT): StandardCodec(em) { } - virtual Encoder *create_encoder(ErrorMode em = THROW_ON_ERROR) const { return new Encoder(em); } - virtual Decoder *create_decoder(ErrorMode em = THROW_ON_ERROR) const { return new Decoder(em); } + virtual const char *get_name() const { return "ISO-2022-JP"; } }; -} // namespace Codecs +} // namespace StringCodec } // namespace Msp #endif