summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Instance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Instance.cpp')
-rw-r--r--cpp/src/Ice/Instance.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp
index d99567e09f9..304036dec90 100644
--- a/cpp/src/Ice/Instance.cpp
+++ b/cpp/src/Ice/Instance.cpp
@@ -948,6 +948,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
_messageSizeMax(0),
_batchAutoFlushSize(0),
_collectObjects(false),
+ _toStringMode(ICE_ENUM(ToStringMode, Unicode)),
_implicitContext(0),
_stringConverter(Ice::getProcessStringConverter()),
_wstringConverter(Ice::getProcessWstringConverter()),
@@ -1189,6 +1190,21 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
const_cast<bool&>(_collectObjects) = _initData.properties->getPropertyAsInt("Ice.CollectObjects") > 0;
+ string toStringModeStr = _initData.properties->getPropertyWithDefault("Ice.ToStringMode", "Unicode");
+ if(toStringModeStr == "ASCII")
+ {
+ const_cast<ToStringMode&>(_toStringMode) = ICE_ENUM(ToStringMode, ASCII);
+ }
+ else if(toStringModeStr == "Compat")
+ {
+ const_cast<ToStringMode&>(_toStringMode) = ICE_ENUM(ToStringMode, Compat);
+ }
+ else if(toStringModeStr != "Unicode")
+ {
+ throw InitializationException(__FILE__, __LINE__, "The value for Ice.ToStringMode must be Unicode, ASCII or Compat");
+ }
+
+
//
// Client ACM enabled by default. Server ACM disabled by default.
//