diff options
author | Bernard Normier <bernard@zeroc.com> | 2007-07-18 16:47:05 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2007-07-18 16:47:05 -0400 |
commit | d7677e935d836ce91e64af89e78d0c0345a49b7d (patch) | |
tree | 51a19a78005a291fd81997ee5e9114edf1b67a12 /cpp/include/Ice/StringConverter.h | |
parent | Merge branch 'master' of ssh://cvs/home/git/ice (diff) | |
download | ice-d7677e935d836ce91e64af89e78d0c0345a49b7d.tar.bz2 ice-d7677e935d836ce91e64af89e78d0c0345a49b7d.tar.xz ice-d7677e935d836ce91e64af89e78d0c0345a49b7d.zip |
Added new WindowsStringConverter
Diffstat (limited to 'cpp/include/Ice/StringConverter.h')
-rwxr-xr-x | cpp/include/Ice/StringConverter.h | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/cpp/include/Ice/StringConverter.h b/cpp/include/Ice/StringConverter.h index d2aa1dffa7a..2b59c622e8b 100755 --- a/cpp/include/Ice/StringConverter.h +++ b/cpp/include/Ice/StringConverter.h @@ -70,11 +70,32 @@ class ICE_API UnicodeWstringConverter : public WstringConverter { public: - virtual Byte* toUTF8(const wchar_t* sourceStart, const wchar_t* sourceEnd, - UTF8Buffer&) const; + virtual Byte* toUTF8(const wchar_t*, const wchar_t*, UTF8Buffer&) const; - virtual void fromUTF8(const Byte* sourceStart, const Byte* sourceEnd, - std::wstring& target) const; + virtual void fromUTF8(const Byte*, const Byte*, std::wstring&) const; }; + +#ifdef _WIN32 + +// +// Converts to/from UTF-8 using MultiByteToWideChar and WideCharToMultiByte +// + +class ICE_API WindowsStringConverter : public StringConverter +{ +public: + + explicit WindowsStringConverter(unsigned int); + + virtual Byte* toUTF8(const char*, const char*, UTF8Buffer&) const; + + virtual void fromUTF8(const Byte*, const Byte*, std::string& target) const; + +private: + unsigned int _cp; + UnicodeWstringConverter _unicodeWstringConverter; +}; +#endif + } #endif |