summaryrefslogtreecommitdiff
path: root/cpp/src/slice2objc
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2015-01-21 17:11:35 +0100
committerBenoit Foucher <benoit@zeroc.com>2015-01-21 17:11:35 +0100
commitd7b1aaa5ca08c6df56814aab473039cf7f6fbbd6 (patch)
tree810f0394947c2977c392766d30c36291d79ee3b3 /cpp/src/slice2objc
parentFixed couple of ObjC compile errors (diff)
downloadice-d7b1aaa5ca08c6df56814aab473039cf7f6fbbd6.tar.bz2
ice-d7b1aaa5ca08c6df56814aab473039cf7f6fbbd6.tar.xz
ice-d7b1aaa5ca08c6df56814aab473039cf7f6fbbd6.zip
Fixed ICE-6260: added support for admin facets
Diffstat (limited to 'cpp/src/slice2objc')
-rw-r--r--cpp/src/slice2objc/Gen.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/cpp/src/slice2objc/Gen.cpp b/cpp/src/slice2objc/Gen.cpp
index 784c99acaab..2322af24b15 100644
--- a/cpp/src/slice2objc/Gen.cpp
+++ b/cpp/src/slice2objc/Gen.cpp
@@ -358,9 +358,15 @@ Slice::ObjCVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p)
{
_M << nl << "case " << i++ << ':';
_M.inc();
- string target = (q->second == "ICEObject") ? "self" : "target__";
- _M << nl << "return [" << q->second << " " << q->first << "___:(id<" << q->second
- << ">)" << target << " current:current is:is os:os];";
+ if(q->second == "ICEObject")
+ {
+ _M << nl << "return [ICEServant " << q->first << "___:(id<" << q->second << ">)self";
+ }
+ else
+ {
+ _M << nl << "return [" << q->second << " " << q->first << "___:(id<" << q->second << ">)target__";
+ }
+ _M << " current:current is:is os:os];";
_M.dec();
}
_M << nl << "default:";
@@ -929,7 +935,7 @@ Slice::Gen::TypesVisitor::visitClassDefEnd(const ClassDefPtr& p)
bool basePreserved = p->inheritsMetaData("preserve-slice");
bool preserved = p->hasMetaData("preserve-slice");
bool hasBaseClass = !bases.empty() && !bases.front()->isInterface();
- string baseName = hasBaseClass ? fixName(bases.front()) : (p->isLocal() ? "ICELocalObject" : "ICEObject");
+ string baseName = hasBaseClass ? fixName(bases.front()) : (p->isLocal() ? "ICELocalObject" : "ICEServant");
DataMemberList baseDataMembers;
if(hasBaseClass)
{