summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/StringConverter.h
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-07-18 16:47:05 -0400
committerBernard Normier <bernard@zeroc.com>2007-07-18 16:47:05 -0400
commitd7677e935d836ce91e64af89e78d0c0345a49b7d (patch)
tree51a19a78005a291fd81997ee5e9114edf1b67a12 /cpp/include/Ice/StringConverter.h
parentMerge branch 'master' of ssh://cvs/home/git/ice (diff)
downloadice-d7677e935d836ce91e64af89e78d0c0345a49b7d.tar.bz2
ice-d7677e935d836ce91e64af89e78d0c0345a49b7d.tar.xz
ice-d7677e935d836ce91e64af89e78d0c0345a49b7d.zip
Added new WindowsStringConverter
Diffstat (limited to 'cpp/include/Ice/StringConverter.h')
-rwxr-xr-xcpp/include/Ice/StringConverter.h29
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