summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp/Gen.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2003-09-07 00:01:28 +0000
committerMichi Henning <michi@zeroc.com>2003-09-07 00:01:28 +0000
commita5b75f2aaca07b9f5d2ea13760059538c702f588 (patch)
tree02e5ca888951cfbb7f3303ff1412d52924759766 /cpp/src/slice2cpp/Gen.cpp
parentFixed race condition in flushBatchRequests(): connections that are not yet (diff)
downloadice-a5b75f2aaca07b9f5d2ea13760059538c702f588.tar.bz2
ice-a5b75f2aaca07b9f5d2ea13760059538c702f588.tar.xz
ice-a5b75f2aaca07b9f5d2ea13760059538c702f588.zip
Implemented TwowayOnlyException.
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r--cpp/src/slice2cpp/Gen.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index 7ec8e902650..994c62dc707 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -1395,6 +1395,10 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p)
C << sb;
C << nl << "try";
C << sb;
+ if(p->returnsData())
+ {
+ C << "__checkTwowayOnly(\"" << p->name() << "\");";
+ }
C << nl << "::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase = __getDelegate();";
C << nl << "::IceDelegate" << thisPointer << " __del = dynamic_cast< ::IceDelegate"
<< thisPointer << ">(__delBase.get());";
@@ -1452,6 +1456,10 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p)
C << sb;
C << nl << "try";
C << sb;
+ if(p->returnsData())
+ {
+ C << "__checkTwowayOnly(\"" << p->name() << "\");";
+ }
C << nl << "::IceInternal::Handle< ::IceDelegate::Ice::Object> __delBase = __getDelegate();";
C << nl << "::IceDelegate" << thisPointer << " __del = dynamic_cast< ::IceDelegate"
<< thisPointer << ">(__delBase.get());";