diff options
author | Michi Henning <michi@zeroc.com> | 2006-01-12 05:30:44 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2006-01-12 05:30:44 +0000 |
commit | a1d3c9639f93a9923511c83d21d7c010f09dbd28 (patch) | |
tree | 6a95fb9e8c6215a441854f07f28c18e28482956c /cpp/src/slice2java/Gen.cpp | |
parent | But 341. (diff) | |
download | ice-a1d3c9639f93a9923511c83d21d7c010f09dbd28.tar.bz2 ice-a1d3c9639f93a9923511c83d21d7c010f09dbd28.tar.xz ice-a1d3c9639f93a9923511c83d21d7c010f09dbd28.zip |
Bug 341.
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index 28a361c6a95..0e8418cf660 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -3127,8 +3127,6 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p) out << nl << "public void" << nl << op->name() << "_async" << spar << paramsAMI << "java.util.Map __ctx" << epar; out << sb; - // Async requests may only be sent twoway. - out << nl << "__checkTwowayOnly(\"" << p->name() << "\");"; out << nl << "__cb.__invoke" << spar << "this" << argsAMI << "__ctx" << epar << ';'; out << eb; } @@ -4553,6 +4551,13 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p) out << nl << "try"; out << sb; out << nl << "__prepare(__prx, \"" << p->name() << "\", " << sliceModeToIceMode(p) << ", __ctx);"; + if(p->returnsData()) + { + out << nl << "if(!__prx.ice_isTwoway())"; + out << sb; + out << nl << "throw new Ice.TwowayOnlyException(\"" << p->name() << "\");"; + out << eb; + } iter = 0; for(pli = inParams.begin(); pli != inParams.end(); ++pli) { |