diff options
Diffstat (limited to 'cpp/src/Ice/Instance.cpp')
-rw-r--r-- | cpp/src/Ice/Instance.cpp | 16 |
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. // |