diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-01-07 13:50:11 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-01-07 13:50:11 +0200 |
commit | 76d23e639004517db8f9469d64ac1789f8449365 (patch) | |
tree | dbafc8c4e31a97f74046c98af19d0fe76f360001 /libxsde/xsde/cxx/serializer/context.hxx | |
parent | c30caae30bc64974eeaa1e81aa2abdc203f5120d (diff) |
Add support for ISO-8859-1 as application encoding
New runtime configuration parameter, XSDE_ENCODING. New option,
--char-encoding. New test, tests/cxx/hybrid/iso8859-1.
Diffstat (limited to 'libxsde/xsde/cxx/serializer/context.hxx')
-rw-r--r-- | libxsde/xsde/cxx/serializer/context.hxx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libxsde/xsde/cxx/serializer/context.hxx b/libxsde/xsde/cxx/serializer/context.hxx index d09bb4d..d2cec00 100644 --- a/libxsde/xsde/cxx/serializer/context.hxx +++ b/libxsde/xsde/cxx/serializer/context.hxx @@ -11,6 +11,7 @@ #include <stddef.h> // size_t #include <xsde/c/genx/genx.h> +#include <xsde/cxx/string.hxx> #ifndef XSDE_EXCEPTIONS # include <xsde/cxx/sys-error.hxx> @@ -251,6 +252,23 @@ namespace xsde const void* type_id_; #endif + // Support for ISO-8859-1 conversion. + // +#ifdef XSDE_ENCODING_ISO8859_1 + protected: + const char* + conv_data (const char* iso_s, size_t utf_n, string& var); + + const char* + conv_data (const char* iso_s, size_t iso_n, size_t utf_n, string& var); + + const char* + conv_name (const char* iso_s, size_t utf_n, char* fix, string& var); + + char data_buf_[256]; + char name_buf1_[128]; + char name_buf2_[128]; // Keep buf1 and buf2 sizes the same. +#endif }; } } |