diff options
author | Benoit Foucher <benoit@zeroc.com> | 2007-11-27 11:58:35 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2007-11-27 11:58:35 +0100 |
commit | 47f800495093fd7679a315e2d730fea22f6135b7 (patch) | |
tree | a7b8d3488f3841367dd03d10cae293f36fd10481 /cpp/src/slice2cpp/Gen.cpp | |
parent | Fixed SystemException to no longer derive from LocalException (diff) | |
download | ice-47f800495093fd7679a315e2d730fea22f6135b7.tar.bz2 ice-47f800495093fd7679a315e2d730fea22f6135b7.tar.xz ice-47f800495093fd7679a315e2d730fea22f6135b7.zip |
- Added support for non-blocking AMI/batch requests, connection
creation.
- Added support for AMI oneway requests.
- Changed collocation optimization to not perform any DNS lookups.
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rwxr-xr-x | cpp/src/slice2cpp/Gen.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index dbc34fc94f7..7179373716e 100755 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -2258,7 +2258,7 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p) { C << nl << "__checkTwowayOnly(" << p->flattenedScope() + p->name() + "_name);"; } - C << nl << "__delBase = __getDelegate();"; + C << nl << "__delBase = __getDelegate(false);"; C << nl << "::IceDelegate" << thisPointer << " __del = dynamic_cast< ::IceDelegate" << thisPointer << ">(__delBase.get());"; C << nl; @@ -2603,8 +2603,8 @@ Slice::Gen::DelegateMVisitor::visitOperation(const OperationPtr& p) H << sp << nl << "virtual " << retS << ' ' << name << spar << params << epar << ';'; C << sp << nl << retS << nl << "IceDelegateM" << scoped << spar << paramsDecl << epar; C << sb; - C << nl << "::IceInternal::Outgoing __og(__connection.get(), __reference.get(), " << flatName << ", " - << operationModeToString(p->sendMode()) << ", __context, __compress);"; + C << nl << "::IceInternal::Outgoing __og(__handler.get(), " << flatName << ", " + << operationModeToString(p->sendMode()) << ", __context);"; if(!inParams.empty()) { C << nl << "try"; @@ -5217,6 +5217,10 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p) C << sb; C << nl << "try"; C << sb; + if(p->returnsData()) + { + C << nl << "__prx->__checkTwowayOnly(\"" << p->name() << "\");"; + } C << nl << "__prepare(__prx, " << flatName << ", " << operationModeToString(p->sendMode()) << ", __ctx);"; writeMarshalCode(C, inParams, 0, StringList(), true); if(p->sendsClasses()) |