summaryrefslogtreecommitdiff
path: root/objective-c/src
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2016-10-20 21:03:44 -0400
committerBernard Normier <bernard@zeroc.com>2016-10-20 21:03:44 -0400
commit3cb9c15995b828c52dba34d0a222f572d5bbc41b (patch)
tree87bad249c2ee04972be5f3c7635880cb0c556128 /objective-c/src
parentupdating IceBT to BlueZ 5 (diff)
downloadice-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.mm12
-rw-r--r--objective-c/src/Ice/Initialize.mm11
-rw-r--r--objective-c/src/Ice/Proxy.mm4
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