diff options
Diffstat (limited to 'cpp/src/Ice/StreamI.cpp')
-rw-r--r-- | cpp/src/Ice/StreamI.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/cpp/src/Ice/StreamI.cpp b/cpp/src/Ice/StreamI.cpp index f9937495fb5..20dff9d928b 100644 --- a/cpp/src/Ice/StreamI.cpp +++ b/cpp/src/Ice/StreamI.cpp @@ -16,6 +16,8 @@ #endif #include <Ice/StreamI.h> +#include <Ice/Instance.h> +#include <Ice/DefaultsAndOverrides.h> #include <Ice/Initialize.h> #include <Ice/LocalException.h> @@ -29,7 +31,8 @@ using namespace IceInternal; Ice::InputStreamI::InputStreamI(const Ice::CommunicatorPtr& communicator, const vector<Byte>& data) : _communicator(communicator) { - _is = new BasicStream(getInstance(communicator).get(), true); + Instance* instance = getInstance(communicator).get(); + _is = new BasicStream(instance, instance->defaultsAndOverrides()->defaultEncoding, true); _is->closure(this); _is->writeBlob(data); _is->i = _is->b.begin(); @@ -38,7 +41,8 @@ Ice::InputStreamI::InputStreamI(const Ice::CommunicatorPtr& communicator, const Ice::InputStreamI::InputStreamI(const Ice::CommunicatorPtr& communicator, const pair<const Byte*, const Byte*>& data) : _communicator(communicator) { - _is = new BasicStream(getInstance(communicator).get(), true); + Instance* instance = getInstance(communicator).get(); + _is = new BasicStream(instance, instance->defaultsAndOverrides()->defaultEncoding, true); _is->closure(this); _is->writeBlob(data.first, data.second - data.first); _is->i = _is->b.begin(); @@ -420,10 +424,10 @@ Ice::InputStreamI::endSlice() _is->endReadSlice(); } -void +Ice::EncodingVersion Ice::InputStreamI::startEncapsulation() { - _is->startReadEncaps(); + return _is->startReadEncaps(); } void @@ -432,10 +436,10 @@ Ice::InputStreamI::endEncapsulation() _is->endReadEncapsChecked(); } -void +Ice::EncodingVersion Ice::InputStreamI::skipEncapsulation() { - _is->skipEncaps(); + return _is->skipEncaps(); } void @@ -465,7 +469,8 @@ Ice::OutputStreamI::OutputStreamI(const Ice::CommunicatorPtr& communicator, Basi { if(!_os) { - _os = new BasicStream(getInstance(communicator).get(), true); + Instance* instance = getInstance(communicator).get(); + _os = new BasicStream(instance, instance->defaultsAndOverrides()->defaultEncoding, true); } _os->closure(this); } @@ -641,6 +646,12 @@ Ice::OutputStreamI::endSlice() } void +Ice::OutputStreamI::startEncapsulation(const Ice::EncodingVersion& version) +{ + _os->startWriteEncaps(version); +} + +void Ice::OutputStreamI::startEncapsulation() { _os->startWriteEncaps(); |