summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Incoming.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-08-06 16:14:03 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-08-06 16:14:03 +0200
commit7047b953adab26c7098cbfaea2b69f9d36231cd3 (patch)
tree8668c830838184ebc465554b85c085da42fb6f6a /cpp/src/Ice/Incoming.cpp
parentMissing files (diff)
parentRemoved Stream::format method, replace with startWriteEncaps parameter (diff)
downloadice-7047b953adab26c7098cbfaea2b69f9d36231cd3.tar.bz2
ice-7047b953adab26c7098cbfaea2b69f9d36231cd3.tar.xz
ice-7047b953adab26c7098cbfaea2b69f9d36231cd3.zip
Merge remote-tracking branch 'origin/encoding11' into mx
Conflicts: cpp/src/Ice/.depend cpp/src/Ice/.depend.mak cpp/src/slice2cpp/Gen.cpp
Diffstat (limited to 'cpp/src/Ice/Incoming.cpp')
-rw-r--r--cpp/src/Ice/Incoming.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/cpp/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp
index dab7c8c9936..3128a6f1f24 100644
--- a/cpp/src/Ice/Incoming.cpp
+++ b/cpp/src/Ice/Incoming.cpp
@@ -84,14 +84,14 @@ IceInternal::IncomingBase::__adopt(IncomingBase& other)
}
BasicStream*
-IncomingBase::__startWriteParams()
+IncomingBase::__startWriteParams(FormatType format)
{
if(_response)
{
assert(_os.b.size() == headerSize + 4); // Reply status position.
assert(_current.encoding >= Ice::Encoding_1_0); // Encoding for reply is known.
_os.write(static_cast<Ice::Byte>(0));
- _os.startWriteEncaps(_current.encoding);
+ _os.startWriteEncaps(_current.encoding, format);
}
//
@@ -145,6 +145,14 @@ IncomingBase::__writeParamEncaps(const Byte* v, Ice::Int sz, bool ok)
}
}
+void
+IncomingBase::__writeUserException(const Ice::UserException& ex, Ice::FormatType format)
+{
+ ::IceInternal::BasicStream* __os = __startWriteParams(format);
+ __os->write(ex);
+ __endWriteParams(false);
+}
+
void
IceInternal::IncomingBase::__warning(const Exception& ex) const
{
@@ -207,7 +215,7 @@ IceInternal::IncomingBase::__servantLocatorFinished()
{
_os.b.resize(headerSize + 4); // Reply status position.
_os.write(replyUserException);
- _os.startWriteEncaps(_current.encoding);
+ _os.startWriteEncaps(_current.encoding, DefaultFormat);
_os.write(ex);
_os.endWriteEncaps();
_connection->sendResponse(&_os, _compress);
@@ -581,7 +589,7 @@ IceInternal::Incoming::invoke(const ServantManagerPtr& servantManager, BasicStre
if(_response)
{
_os.write(replyUserException);
- _os.startWriteEncaps(encoding);
+ _os.startWriteEncaps(encoding, DefaultFormat);
_os.write(ex);
_os.endWriteEncaps();
_connection->sendResponse(&_os, _compress);