diff options
author | Marc Laukien <marc@zeroc.com> | 2001-10-20 23:48:17 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2001-10-20 23:48:17 +0000 |
commit | 05632330c6a6bb46826a47b0c295ffc455e7cd53 (patch) | |
tree | 8be1afb1f2d7c576a613a1d2218a2fa6d8d243e9 /cpp/src/Slice/CPlusPlusUtil.cpp | |
parent | added missing file (diff) | |
download | ice-05632330c6a6bb46826a47b0c295ffc455e7cd53.tar.bz2 ice-05632330c6a6bb46826a47b0c295ffc455e7cd53.tar.xz ice-05632330c6a6bb46826a47b0c295ffc455e7cd53.zip |
ServantFactory->ObjectFactory
Diffstat (limited to 'cpp/src/Slice/CPlusPlusUtil.cpp')
-rw-r--r-- | cpp/src/Slice/CPlusPlusUtil.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp index 7395b54dc4a..2f66f9fcbab 100644 --- a/cpp/src/Slice/CPlusPlusUtil.cpp +++ b/cpp/src/Slice/CPlusPlusUtil.cpp @@ -308,21 +308,16 @@ Slice::writeMarshalUnmarshalCode(Output& out, const TypePtr& type, const string& } else { - out << nl << "::Ice::ObjectPtr " << obj << ';'; - out << nl << stream << deref << "read(" << obj << ", " << cl->scoped() << "::__classIds[0]);"; - out << nl << "if (!" << obj << ')'; - out << sb; ClassDefPtr def = cl->definition(); if (def && !def->isAbstract()) { - out << nl << obj << " = new " << cl->scoped() << ';'; - out << nl << obj << "->__read(" << (pointer ? "" : "&") << stream << ");"; + out << nl << "::Ice::ObjectPtr " << obj << " = new " << cl->scoped() << ';'; } else { - out << nl << "throw ::Ice::NoServantFactoryException(__FILE__, __LINE__);"; + out << nl << "::Ice::ObjectPtr " << obj << ';'; } - out << eb; + out << nl << stream << deref << "read(" << obj << ", " << cl->scoped() << "::__classIds[0]);"; out << nl << param << " = " << cl->scoped() << "Ptr::dynamicCast(" << obj << ");"; out << nl << "if (!" << param << ')'; out << sb; |