diff options
author | Benoit Foucher <benoit@zeroc.com> | 2015-01-21 17:11:35 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2015-01-21 17:11:35 +0100 |
commit | d7b1aaa5ca08c6df56814aab473039cf7f6fbbd6 (patch) | |
tree | 810f0394947c2977c392766d30c36291d79ee3b3 /cpp/src/slice2objc/Gen.cpp | |
parent | Fixed couple of ObjC compile errors (diff) | |
download | ice-d7b1aaa5ca08c6df56814aab473039cf7f6fbbd6.tar.bz2 ice-d7b1aaa5ca08c6df56814aab473039cf7f6fbbd6.tar.xz ice-d7b1aaa5ca08c6df56814aab473039cf7f6fbbd6.zip |
Fixed ICE-6260: added support for admin facets
Diffstat (limited to 'cpp/src/slice2objc/Gen.cpp')
-rw-r--r-- | cpp/src/slice2objc/Gen.cpp | 14 |
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) { |