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 /objective-c/src | |
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 'objective-c/src')
-rw-r--r-- | objective-c/src/Ice/CommunicatorI.mm | 12 | ||||
-rw-r--r-- | objective-c/src/Ice/Initialize.mm | 11 | ||||
-rw-r--r-- | objective-c/src/Ice/Proxy.mm | 4 |
3 files changed, 22 insertions, 5 deletions
diff --git a/objective-c/src/Ice/CommunicatorI.mm b/objective-c/src/Ice/CommunicatorI.mm index 3110c72e47d..39d1e3a929e 100644 --- a/objective-c/src/Ice/CommunicatorI.mm +++ b/objective-c/src/Ice/CommunicatorI.mm @@ -242,7 +242,17 @@ -(NSMutableString*) identityToString:(ICEIdentity*)ident { - return [ICEUtil identityToString:ident]; + NSException* nsex = nil; + try + { + return [toNSMutableString(COMMUNICATOR->identityToString([ident identity])) autorelease]; + } + catch(const std::exception& ex) + { + nsex = toObjCException(ex); + } + @throw nsex; + return nil; // Keep the compiler happy. } -(id<ICEObjectAdapter>) createObjectAdapter:(NSString*)name; diff --git a/objective-c/src/Ice/Initialize.mm b/objective-c/src/Ice/Initialize.mm index 0e23324738f..40f8ce180e7 100644 --- a/objective-c/src/Ice/Initialize.mm +++ b/objective-c/src/Ice/Initialize.mm @@ -554,12 +554,13 @@ private: return nil; // Keep the compiler happy. } -+(NSMutableString*) identityToString:(ICEIdentity*)ident ++(NSMutableString*) identityToString:(ICEIdentity*)ident toStringMode:(ICEToStringMode)toStringMode { NSException* nsex = nil; try { - return [toNSMutableString(Ice::identityToString([ident identity])) autorelease]; + return [toNSMutableString(Ice::identityToString([ident identity], + static_cast<Ice::ToStringMode>(toStringMode))) autorelease]; } catch(const std::exception& ex) { @@ -568,6 +569,12 @@ private: @throw nsex; return nil; // Keep the compiler happy. } + ++(NSMutableString*) identityToString:(ICEIdentity*)ident +{ + return [ICEUtil identityToString:ident toStringMode:ICEUnicode]; +} + @end @implementation ICEEncodingVersion(StringConv) diff --git a/objective-c/src/Ice/Proxy.mm b/objective-c/src/Ice/Proxy.mm index f269605b385..4c44532c3d8 100644 --- a/objective-c/src/Ice/Proxy.mm +++ b/objective-c/src/Ice/Proxy.mm @@ -780,7 +780,7 @@ BOOL _returnsData; marshal:marshal returnsData:NO completed:completed - response:TRUE + response:YES exception:exception sent:sent context:ctx]; @@ -800,7 +800,7 @@ BOOL _returnsData; mode:mode format:format marshal:marshal - returnsData:TRUE + returnsData:YES completed:completed response:response exception:exception |