/* * Copyright 2016, Haiku, inc. * Distributed under terms of the MIT license. */ #ifndef TEXTENCODING_H #define TEXTENCODING_H #include #include struct UConverter; namespace BPrivate { class BTextEncoding { public: BTextEncoding(BString name); BTextEncoding(const char* data, size_t length); ~BTextEncoding(); status_t InitCheck(); BString GetName(); status_t Encode(const char* input, size_t& inputLength, char* output, size_t& outputLength); status_t Decode(const char* input, size_t& inputLength, char* output, size_t& outputLength); status_t Flush(char* output, size_t& outputLength); private: BString fName; UConverter* fUtf8Converter; UConverter* fConverter; }; }; #endif /* TEXTENCODING_H */