X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Futf8.h;h=0281b314069f320259e063ac8c2cc0c28a1ec1cd;hp=70d44b00840b3d29f39d651e652388c1466b4bfc;hb=5b1368cb791cab043f0435628cacbaff36e39b7b;hpb=f47bc86e6ce900c5323e593db003c93110538268 diff --git a/source/utf8.h b/source/utf8.h index 70d44b0..0281b31 100644 --- a/source/utf8.h +++ b/source/utf8.h @@ -19,7 +19,8 @@ public: class Encoder: public Codec::Encoder { public: - Encoder(ErrorMode em=THROW_ON_ERROR): Codec::Encoder(em) { } + Encoder(ErrorMode em = THROW_ON_ERROR): Codec::Encoder(em) { } + virtual void encode_char(UnicodeChar, std::string &); private: virtual void transliterate(UnicodeChar, std::string &); @@ -28,12 +29,15 @@ public: class Decoder: public Codec::Decoder { public: - Decoder(ErrorMode em=THROW_ON_ERROR): Codec::Decoder(em) { } + Decoder(ErrorMode em = THROW_ON_ERROR): Codec::Decoder(em) { } + virtual UnicodeChar decode_char(const std::string &, std::string::const_iterator &); }; - 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); } + virtual const char *get_name() const { return "UTF-8"; } + + 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); } }; } // namespace Codecs