diff options
author | Benoit Foucher <benoit@zeroc.com> | 2016-08-25 11:28:20 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2016-08-25 11:28:20 +0200 |
commit | 4fa256d3d27adffcc6529136cad904f0fbd490b0 (patch) | |
tree | 7250a0b630cfc8400745be4bdf7dde6891943b8c /cpp/src/slice2cs | |
parent | removing JavaCompat.ice (diff) | |
download | ice-4fa256d3d27adffcc6529136cad904f0fbd490b0.tar.bz2 ice-4fa256d3d27adffcc6529136cad904f0fbd490b0.tar.xz ice-4fa256d3d27adffcc6529136cad904f0fbd490b0.zip |
C++ dispatching code fixes
- removed user exception check on the server side (ICE-6980)
- C++11 dipatch interceptor async callback (ICE-7263)
- Fixed slicing/objects test in various mapping (removed Forward.ice)
Diffstat (limited to 'cpp/src/slice2cs')
-rw-r--r-- | cpp/src/slice2cs/Gen.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp index fcdcf250291..5fa82827c4f 100644 --- a/cpp/src/slice2cs/Gen.cpp +++ b/cpp/src/slice2cs/Gen.cpp @@ -4015,8 +4015,21 @@ Slice::Gen::ResultVisitor::visitOperation(const OperationPtr& p) _out << nl << "os__.endEncapsulation();"; _out << eb; _out << sp; - _out << nl << "public Ice.OutputStream getOutputStream()"; + _out << nl << "public Ice.OutputStream getOutputStream(Ice.Current current)"; _out << sb; + _out << nl << "if(os__ == null)"; + _out << sb; + _out << nl << "return new " << name << spar; + if(ret) + { + _out << writeValue(ret); + } + for(ParamDeclList::const_iterator i = outParams.begin(); i != outParams.end(); ++i) + { + _out << writeValue((*i)->type()); + } + _out << "current" << epar << ".getOutputStream(current);"; + _out << eb; _out << nl << "return os__;"; _out << eb; _out << sp; |