From 101fc61aa6768b1b9fcbc9911bf83509b221d403 Mon Sep 17 00:00:00 2001 From: Marc Laukien Date: Fri, 19 Apr 2002 19:32:21 +0000 Subject: added members to object, facet, and operation not exist exceptions --- cpp/src/slice2cpp/Gen.cpp | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) (limited to 'cpp/src/slice2cpp/Gen.cpp') diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index d4904cd6ba1..bf94fa1e5eb 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -159,7 +159,6 @@ Slice::Gen::operator!() const void Slice::Gen::generate(const UnitPtr& unit) { - C << "\n#include "; C << "\n#include <"; if (_include.size()) { @@ -167,32 +166,38 @@ Slice::Gen::generate(const UnitPtr& unit) } C << _base << ".h>"; + H << "\n#include "; H << "\n#include "; H << "\n#include "; - H << "\n#include "; - H << "\n#include "; - // - // TODO: ObjectFactory is only necessary if there are non-abstract - // objects - so it's not necessary to always include this. - // - H << "\n#include "; + if (unit->hasProxies()) { + H << "\n#include "; + H << "\n#include "; H << "\n#include "; H << "\n#include "; H << "\n#include "; H << "\n#include "; H << "\n#include "; + + C << "\n#include "; + C << "\n#include "; + C << "\n#include "; + C << "\n#include "; } - else + else if(unit->hasNonLocals()) { + H << "\n#include "; H << "\n#include "; + C << "\n#include "; - C << "\n#include "; - C << "\n#include "; + C << "\n#include "; + } + else + { + H << "\n#include "; + H << "\n#include "; } - C << "\n#include "; - StringList includes = unit->includeFiles(); for (StringList::const_iterator q = includes.begin(); q != includes.end(); ++q) @@ -1719,7 +1724,9 @@ Slice::Gen::DelegateDVisitor::visitOperation(const OperationPtr& p) C << nl << cl->scoped() << "* __servant = dynamic_cast< " << cl->scoped() << "*>(__direct.facetServant().get());"; C << nl << "if (!__servant)"; C << sb; - C << nl << "throw ::Ice::OperationNotExistException(__FILE__, __LINE__);"; + C << nl << "::Ice::OperationNotExistException __opEx(__FILE__, __LINE__);"; + C << nl << "__opEx.operation = __current.operation;"; + C << nl << "throw __opEx;"; C << eb; C << nl << "try"; C << sb; -- cgit v1.2.3