diff options
author | Bernard Normier <bernard@zeroc.com> | 2016-10-20 21:03:44 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2016-10-20 21:03:44 -0400 |
commit | 3cb9c15995b828c52dba34d0a222f572d5bbc41b (patch) | |
tree | 87bad249c2ee04972be5f3c7635880cb0c556128 /cpp/src/Ice/ReferenceFactory.cpp | |
parent | updating IceBT to BlueZ 5 (diff) | |
download | ice-3cb9c15995b828c52dba34d0a222f572d5bbc41b.tar.bz2 ice-3cb9c15995b828c52dba34d0a222f572d5bbc41b.tar.xz ice-3cb9c15995b828c52dba34d0a222f572d5bbc41b.zip |
Added support for non-ASCII characters and universal character names
to stringified identities and proxies.
This includes a new Ice.ToStringMode property.
Diffstat (limited to 'cpp/src/Ice/ReferenceFactory.cpp')
-rw-r--r-- | cpp/src/Ice/ReferenceFactory.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/cpp/src/Ice/ReferenceFactory.cpp b/cpp/src/Ice/ReferenceFactory.cpp index 3788324d81d..63b8df7effe 100644 --- a/cpp/src/Ice/ReferenceFactory.cpp +++ b/cpp/src/Ice/ReferenceFactory.cpp @@ -24,7 +24,7 @@ #include <Ice/Properties.h> #include <Ice/DefaultsAndOverrides.h> #include <Ice/PropertyNames.h> -#include <IceUtil/StringUtil.h> +#include <Ice/StringUtil.h> using namespace std; using namespace Ice; @@ -156,6 +156,7 @@ IceInternal::ReferenceFactory::create(const string& str, const string& propertyP // Parsing the identity may raise IdentityParseException. // Identity ident = Ice::stringToIdentity(idstr); + if(ident.name.empty()) { // @@ -279,7 +280,7 @@ IceInternal::ReferenceFactory::create(const string& str, const string& propertyP try { - facet = IceUtilInternal::unescapeString(argument, 0, argument.size()); + facet = unescapeString(argument, 0, argument.size()); } catch(const IceUtil::IllegalArgumentException& e) { @@ -288,7 +289,6 @@ IceInternal::ReferenceFactory::create(const string& str, const string& propertyP throw ex; } - facet = UTF8ToNative(facet, _instance->getStringConverter()); break; } @@ -554,7 +554,7 @@ IceInternal::ReferenceFactory::create(const string& str, const string& propertyP try { - adapter = IceUtilInternal::unescapeString(adapterstr, 0, adapterstr.size()); + adapter = unescapeString(adapterstr, 0, adapterstr.size()); } catch(const IceUtil::IllegalArgumentException& e) { @@ -569,8 +569,6 @@ IceInternal::ReferenceFactory::create(const string& str, const string& propertyP throw ex; } - adapter = UTF8ToNative(adapter, _instance->getStringConverter()); - return create(ident, facet, mode, secure, protocol, encoding, endpoints, adapter, propertyPrefix); break; } @@ -934,4 +932,3 @@ IceInternal::ReferenceFactory::create(const Identity& ident, invocationTimeout, ctx); } - |